SIM7020 - Ошибка при выполнении AT+CHTTPCON (на примере)
Я заказал шляпу SIM7020 NB-IoT на сайте wavehare и пытаюсь открыть HTTP-соединение, используя пример из вики.
Я использую следующие AT-команды для подключения устройства к сети NB-IoT:
AT+CFUN=0
AT*MCGDEFCONT="IP","iot.1nce.net"
AT+CFUN=1
AT+CBAND=8
AT+COPS=1,2,"26201"
AT+CIPPING="61.135.169.121"
Команда
AT+CSQ
отвечает
+CSQ: 9,0
значит доступен сетевой сигнал. Я также проверил онлайн-статус SIM-карты на онлайн-портале у поставщика моей SIM-карты, и карта отображается как подключенная.
Теперь я использую следующие команды из вики, чтобы открыть соединение:
AT+CHTTPCREATE="https://www.waveshare.com/"
+CHTTPCREATE: 0
OK
AT+CHTTPCON=0
ERROR
Что здесь не так? Как я могу разобраться в проблеме?
Обновлять
Включение сообщений об ошибках не дает дополнительной информации.
OK
AT+CHTTPCON=0
ERROR
Я также добавил вывод для
CEREG
:
AT+CEREG?
+CEREG: 0,5
2 ответа
Я исследовал это на практике, и ошибка появляется, по крайней мере, при попытке подключения TLS к хостам на основе Cloudflare с использованием сертификата SNI (например, www.waveshare.com).
Используя команды TLS вместо HTTP, мы можем получить код ошибки: -30592 - «От нашего партнера было получено фатальное предупреждающее сообщение». Есть много основных причин, которые могут вызвать это, но модуль SIMCOM не предоставляет никакой дополнительной информации. Одной из возможных и весьма вероятных причин является сбой рукопожатия. SNI требуется Cloudflare для рукопожатия TLS . В инструкции к 7020 ничего про SNI нет. В руководствах для 7000 и 7080 упоминается об этом, и с этими модулями его необходимо явно включить.
Основываясь на этой частичной информации, я собираюсь предположить, что ответ на вопрос заключается в том, что SIMCOM 7020 не поддерживает SNI в рукопожатии TLS и, следовательно, не совместим с серверами, которые требуют присутствия SNI в рукопожатии TLS . Соединения TLS/HTTPS с серверами без SNI работают должным образом.
Я отправил запрос об этом в SIMCOM и обновлю, если получу ответ.
В соответствии с уже упомянутыми причинами предварительного просмотра, основной проблемой является отсутствие поддержки SNI.
Я бы порекомендовал проверить 1NCE Developer Hub. В разделе рецептов приведены примеры использования SIM7000G, которые работают примерно так же и их можно сравнивать. Все рецепты вы найдете здесь: https://help.1nce.com/dev-hub/recipes и ищите SIM7000G.
Пример, показывающий полные AT-команды для сообщения HTTP, должен быть полезен -> https://help.1nce.com/dev-hub/recipes/sim7000g-http-post SIM7020 работает с