SIM800L отправка данных
- Войдите на сайт для отправки комментариев
Пнд, 13/11/2017 - 00:46
Доброго времени суток. Помогите пожалуйста как отправлять данные на сервер при помощи GSM модуля SIM800L. В интернете полно примеров, но ни одного рабочего не нашел.
Модулем AI Thinker A7 отправлял таким образом:
const char resource[] = "130402213013,+380688266156,GPRMC,175135.000,A,"; const char cord[] = "4934.5225,N,030377.49277,E"; //кординаты для теста const char stat[] = ",1.92,21.48,100817,,,A*5B,F,, imei:867567021260528,00,-16.4,F:3.73V,0,139,49646,250,99,1478,68A7\n\r"; void TcpGprsMessage(String message){ sendData("AT+CREG?",3000,DEBUG); sendData("AT+CGATT=1",1000,DEBUG); sendData("AT+CGDCONT=1,\"IP\",\"www.ab.kyivstar.net\"",1000,DEBUG); sendData("AT+CGACT=1,1",1000,DEBUG); sendData("AT+CIPSTART=\"TCP\",\"88.198.136.232\",10001",3000,DEBUG); sendData("AT+CIPSEND=80",1000,DEBUG); sendData(String("GET ") + resource + cord + stat, 2000,DEBUG); delay(1000); sendData("AT+CIPCLOSE",2000,DEBUG); //Close TCP delay(100); }
Elmirus - удивительно, если этот код работал на А7. Я заметил в нем кучу ошибок.
Например:
- окончания строк должны быть "\r\n", а не "\n\r"
- в команде AT+CIPSEND должна быть указана длина передаваемых данных, либо весь запрос должен заканчиваться символом ctrl-z - у вас нет ни того ни другого
- после каждой команды из строк с 7 по 12 необзодимо дожидаться ответа "ОК" от модема, а если этого ответа нет - начинать сначала. Не вижу ничего похожего в коде.
В принципе, после исправления ошибок этот код должен работать на любом модеме с АТ-командами. Надо только уточнить синтаксис в даташите на SIM800
Проверки на ОК были