SIM800l

Elmirus
Offline
Зарегистрирован: 07.06.2017

Доброго времени суток, помогите пожалуйста,как с GSMмодулем SIM800l подключится к серверу и отправить туда данные. с модумем Ai-Thinker A7 отправлял просто:

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);

С SIM800l пробовал различными приведенными в интернете примерами, например:


sendData("AT+CIPMUX=0",3000,DEBUG);
sendData("AT+CGATT=1",3000,DEBUG);
sendData("AT+CSTT=\"www.ab.kyivstar.net\"",3000,DEBUG);
sendData("AT+CIICR",3000,DEBUG);
sendData("AT+CIFSR",3000,DEBUG);
sendData("AT+CIPSTART=\"tcp\",\"184.106.153.149\",\"80\"",3000,DEBUG);
sendData("AT+CIPSEND",3000,DEBUG);
sendData(String("GET ") + resource + + coord + " HTTP/1.0\r\n",100,DEBUG);

Ну вот чего то после каждой введенной даже вручную в терминале команды - отвечает то ОК, то ERROR, перезагружаю и так раза с 50го получается дойти до CIPSEND и отправить хоть что-то. Немогу понять в чем дело, и питанием игрался и антеннами. Посоветуйте пожалуйста рабочий пример, бо голову уже сломал

Andrey12
Andrey12 аватар
Offline
Зарегистрирован: 26.12.2014

Elmirus пишет:

Доброго времени суток, помогите пожалуйста,как с GSMмодулем SIM800l подключится к серверу и отправить туда данные. с модумем Ai-Thinker A7 отправлял просто:

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);

С SIM800l пробовал различными приведенными в интернете примерами, например:

sendData("AT+CIPMUX=0",3000,DEBUG);
sendData("AT+CGATT=1",3000,DEBUG);
sendData("AT+CSTT=\"www.ab.kyivstar.net\"",3000,DEBUG);
sendData("AT+CIICR",3000,DEBUG);
sendData("AT+CIFSR",3000,DEBUG);
sendData("AT+CIPSTART=\"tcp\",\"184.106.153.149\",\"80\"",3000,DEBUG);
sendData("AT+CIPSEND",3000,DEBUG);
sendData(String("GET ") + resource + + coord + " HTTP/1.0\r\n",100,DEBUG);

Ну вот чего то после каждой введенной даже вручную в терминале команды - отвечает то ОК, то ERROR, перезагружаю и так раза с 50го получается дойти до CIPSEND и отправить хоть что-то. Немогу понять в чем дело, и питанием игрался и антеннами. Посоветуйте пожалуйста рабочий пример, бо голову уже сломал

 

Эх "любимый"  SIM800
А подскажите что у вас выдает на команду AT+GMR , так же интересно что отвечает на команду  AT+HTTPSSL=1

Просто включив вместо SIM900, который работал хорошо и стабильно, SIM800L я както намучался уже. SSL отказывается включаться в принципе, выдает ERROR.

Если коротко то у меня на SIM800L была прошивка 1418B04SIM800L24, в итоге не добившись стабильной работы интернета через GPRS, зависал на команде AT+SAPBR=1,1, причем иногда зависал иногда конектился, я решил сменить прошивку на 1308B09SIM800L16, но видимо это было ошибкой. В итоге SIM800L живет своей жизнью, в UART выдаются произвольные ответы и мусор. Прошивку 1418B04SIM800L24 я не нашел. Прошивка от SIM800С не устанавливается, хотя многие пишут, что без проблем ставили. У меня при установке выдает ошибку. В итоге имею нерабочий модуль. До прошивки был "рабочий", но глючный.

Хотя вот по такому списку AT команд соединялся хорошо. AT+CIPSTATUS можете убрать но можете и оставить показывает состояние , ну и APN на ваш поменяйте.

AT+CIPSTATUS
AT+CSTT="internet.mts.ru"
AT+CIPSTATUS
AT+CIICR
AT+CIPSTATUS
AT+CIFSR
AT+CIPSTATUS
AT+CIPSTART="TCP","mqtt.thingspeak.com","1883"
AT+CIPSTATUS
 
Тут вот полный список команда-ответ
//AT+CIPSTATUS

OK
STATE: IP INITIAL

//AT+CSTT="internet.mts.ru"

OK

//AT+CIPSTATUS

OK
STATE: IP START

//AT+CIICR

OK


//AT+CIPSTATUS

OK
STATE: IP GPRSACT

//AT+CIFSR

10.194.150.120

//AT+CIPSTATUS

OK
STATE: IP STATUS

//AT+CIPSTART="TCP","mqtt.thingspeak.com","1883"

OK
CONNECT OK

//AT+CIPSTATUS

OK
STATE: CONNECT OK



CLOSED

 

 
Elmirus
Offline
Зарегистрирован: 07.06.2017

Сейчас попробую Ваш совет. Бо у меня бывает что на 2ю команду AT+CGATT=1" выдает то ERROR а иногда ОК. Бывает что все команды ок а потом тупо все ERROR.

Elmirus
Offline
Зарегистрирован: 07.06.2017

Вообще удивительная закономерность. sim800l с Украинским оператором Киевстар выдает ошибку на второй строчке, в то время как А7 работал с этой же карточкой без каких либо проблем! А вот lifecell все команды выдают ОК кроме последней AT+CIPSEND, но пока еще не пробовал отправлять. Видимо sim800l не так и хорош как говорили, а я жаловался на А7, но в любом случае плата для sim800l уже разведена и обратной дороги нет.

b707
Offline
Зарегистрирован: 26.05.2017

Elmirus пишет:

 в любом случае плата для sim800l уже разведена и обратной дороги нет.

Почему это "обратной дороги нет"? Разведете новую плату, а может и не одну, прежде чем закончите.

Но вообще-то грамотные люди сначала полностью отлаживают контрукцию, пишут полный скетч, добиваются 100% стабильной работы - а только потом разводят плату и собирают готовый девайс.

Elmirus
Offline
Зарегистрирован: 07.06.2017

b707 пишет:

Elmirus пишет:

 в любом случае плата для sim800l уже разведена и обратной дороги нет.

Почему это "обратной дороги нет"? Разведете новую плату, а может и не одну, прежде чем закончите.

Но вообще-то грамотные люди сначала полностью отлаживают контрукцию, пишут полный скетч, добиваются 100% стабильной работы - а только потом разводят плату и собирают готовый девайс.

Я с вами согласен. Но нетерпелось сделать и начитавшись интернета начал напрасно доверять производителю. Посоветуйте пожалуйста недорогой gsm модуль.

Andrey12
Andrey12 аватар
Offline
Зарегистрирован: 26.12.2014

Elmirus][quote=b707 пишет:

Посоветуйте пожалуйста недорогой gsm модуль.

Я заказал себе SIM800C  в принципе можно просто модуль купить на плату распаять, да и прошивки под него обновляются, вобщем лоханулся я с SIM800L. В принципе SIM800L отправляет смс нормально, большего попробовать не успел. 
SIM800C - https://ru.aliexpress.com/item/Free-Shipping-Smallest-SIM800C-GPRS-GSM-M...
SIM800L - https://ru.aliexpress.com/store/product/Free-Shipping-Smallest-SIM800L-G...

Разница в цене 100 рублей.

Elmirus
Offline
Зарегистрирован: 07.06.2017

Немного нащел выход - сначала ввожу такую штуку ATE1V1+CMEE=2; &W а потом припаиваю электролит на питание в 1000uf и все работает!

 

AT

OK
AT+CGATT=1

OK
AT+CSTT="www.ab.kyivstar.net"

OK
AT+CIICR

OK
AT+CIFSR

10.209.243.170
AT+CIPSTART="tcp","184.106.153.149","80"

OK

CONNECT OK
AT+CIPSEND=80

> GET http://api.thingspeak.com/update?key=CE4ZIMSDTBOFTYNX&field1=12 HTTP/1.0


SEND OK
AT+CIPCLOSE

CLOSE OK
AT

OK
AT+CGATT=1

OK
AT+CSTT="www.ab.kyivstar.net"

+CME ERROR: operation not allowed
AT+CIICR

+CME ERROR: operation not allowed
AT+CIFSR

10.209.243.170
AT+CIPSTART="tcp","184.106.153.149","80"

OK

CONNECT OK
AT+CIPSEND=80

> GET http://api.thingspeak.com/update?key=CE4ZIMSDTBOFTYNX&field1=12 HTTP/1.0


SEND OK
HTTP/1.1 200 OK
Ser⸮⸮⸮r⸮rr⸮*⸮⸮չ⸮ 18 Mar 2018 19:54:35 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 3
Connection: close
Status: 200 OK
X-Frame-Options: ALLOWALL
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, PUT, OPTIONS, DELETE, PATCH
Access-Control-Allow-Headers: origin, content-type, X-Requested-With
Access-Control-Max-Age: 1800
ETag: "4c5bde74a8f110656874902f07378009"
Cache-Control: max-age=0, private, must-revalidate
X-Request-Id: 51de40db-9c5a-46f7-8065-8a839d0fa476

182AT+CIPCLOSE

CLOSE OK