Нуждаюсь в вашем совете и помощи, так как столкнулся с проблемой: Собрал GPRS логгер, но при работе иногда уходит в постоянное подключение и не передает данные на народный мониторинг.
Все делал в точности как в гайде, устройство передает данные на сайт, но когда пропадает сеть оно уходит в вечное подключение. На форуме пишут, что ошибка в библиотеке амперки.
Доброго времени суток всем! Осваиваю SIM800l, пытаюсь его прикрутить к ESP8266 12e (NodeMcu) через библиотеки типа sim900, хочу научиться, но пока ничего не получается. Сам Sim800l рабочий, питание отдельное нормальное 4,2в на 2 А. Через софтсериал модем работает, АT команды принимает и на них отвечает правильно. ESP кА тоже рабочая, GND общий. Скорости менял. Модем никак не хочет работать с библиотеками( причем разными) sim900,sim800 и т.д. В некоторых библиотеках работают примеры только с АTкомандами и все. В GSM.cpp менял пины и так и так (т.е. D1(5) и D2(4) для esp8266) #define _GSM_TXPIN_ 4 #define _GSM_RXPIN_ 5 #define_GSM_TXPIN_ D2 #define_GSM_RXPIN_ D1 Все равно смс, звонки и т.д. не работает. На разных библиотеках пишет либо ошибка компиляции для платы ESP8266, либо компилируется, но не работает, так понимаю сторожевой таймер срабатывает. ( в сериал шпарит перезагрузка) Может где в этих библиотеках что-то нужно поменять под ESP8266? Я так понимаю все билиотеки под разные ардуино написаны, а для ESP8266 есть библиотеки для SIM800L может кто с этим сталкивался, либо как мне их подружить. Подскажите, где собака зарыта?
Возьмите за основу готовую библиотеку для SIM900, даташит на SIM800 и перепишите код для своего ESP, который гарантированно будет работать. Я так недавно подружил свою платку на STM32 с модулем GSM от Амперки. Работает, даже с DMA.
а нормальных библиотек для использования SIM800l вместе с ESP8266 - нет что ли? Кто использваол SIM800l вместе с ESP8266, какие библиотеки использовали? А то у меня почти при использовании любых библиотек в этом случае в сериал выдает GSM Shield testing. DB:ELSE DB:ELSE DB:ELSE DB:CORRECT BR status=READY Soft WDT reset ctx: cont sp: 3ffef850 end: 3ffefac0 offset: 01b0 и так по кругу.... Може кто знает, почему?
Напишите свою библиотеку, если у вас проходят АТ команды для модуля, то остальное - дело пары функций.
До написания своей библиотеки,.. мне пока как отсюда до китая... Можно просто AT командами пользоваться, но мне интересно, почему же с библиотеками типа sim900 там всякими модуль sim800l и esp8266 не хотят смссить. Почему выходит в сериал Soft WDT reset ctx: cont sp: 3ffef850 end: 3ffefac0 offset: 01b0 и так по кругу.. Или на сей вопрос так сразу не ответить?
Конечно, воспользуйтесь AT командами, для смс, например, их нужно всего-то ничего. Вот, скажем, код для модуля от Амперки: Код (C++): bool GPRS::sendSMS(char *number, char *data) { // Set message mode to ASCII if(!sim900_check_with_cmd("AT+CMGF=1\r\n", "OK\r\n", CMD)) { return false; } delay(500); sim900_send_cmd("AT+CMGS=\""); sim900_send_cmd(number); if(!sim900_check_with_cmd("\"\r\n",">",CMD)) { return false; } delay(1000); sim900_send_cmd(data); delay(500); sim900_send_End_Mark(); return true; } Сперва проверяется работоспособность модуля первой АТ командой, затем отправляется номер ну и наконец само сообщение.
у меня пока получается отправлять СМС только так, без использования библиотек. А почему же с библиотеками сериал выдает GSM Shield testing. DB:ELSE DB:ELSE DB:ELSE DB:CORRECT BR status=READY Soft WDT reset ctx: cont sp: 3ffef850 end: 3ffefac0 offset: 01b0 и так по кругу..
зачем While ? с этим циклом хрен подключится(( так подключается сразу void narodMon(){/////////////////////////..............МОНИТОРИНГ......................................///////////////////////////////////////////////////////// readSensors(); gprs.connect(TCP, "narodmon.ru", 8283); delay(100);