Использование SIM800C для HTTP POST - улучшение общего времени - PullRequest
0 голосов
/ 31 августа 2018

У меня есть код Arduino ESP32, который работает с использованием Wi-Fi, и я перехожу на использование платы SIM / 800C GSM / GPRS. Код выполняет HTTP POST каждые 5 минут для отправки небольшого объема информации в скрипт Scriptr.

Последовательность AT-команд приведена ниже и работает для меня. Тем не менее, от начала до конца, это занимает около 25 секунд с SIM800C, а не менее 5 секунд через Wi-Fi.

Я хотел бы упростить процесс, и я думаю, что могу оставить соединение открытым, вместо того, чтобы каждый раз начинать заново. Я не очень знаком с тем, что нужно.

Вопросы:

1-Есть ли минус в том, чтобы оставить соединение открытым?

2 - из последовательности, приведенной ниже, я предполагаю, что первые AT-команды "x" устанавливают соединение, а последующие команды фактически выполняют POST и получают результаты. Итак, какие AT-команды мне нужно делать только один раз, и какие я должен повторять для каждого 5-минутного POST?

3-Будет ли соединение оставаться открытым до бесконечности?

Я предполагаю (догадываюсь), что, если я столкнусь с ошибкой, я могу повторить попытку с самого начала, поскольку из того, что я прочитал, первая пара AT-команд отключает / завершает любой предыдущий сеанс.

Спасибо за вашу помощь.

Последовательность команд AT:

AT+SAPBR=0,1
AT+HTTPTERM
AT+CREG?
AT+SAPBR=3,1,"Contype","GPRS"
AT+SAPBR=3,1,"APN","pwg"
AT+CGATT=1
AT+SAPBR=1,1
AT+SAPBR=2,1
AT+HTTPINIT
AT+HTTPPARA="CID",1
AT+HTTPPARA="URL","https://api.scriptrapps.io/xxxx....xxxxx"
AT+HTTPPARA="USERDATA","Authorization: bearer xxxx....xxxxx” 
AT+HTTPSSL=1
AT+HTTPPARA="CONTENT","application/x-www-form-urlencoded"
AT+HTTPDATA=10,10000
AT+HTTPACTION=1
AT+HTTPREAD
...