|
SIM800L / TCP - Не завершается AT+CIPSEND |
|
|
|
Jul 7 2017, 21:59
|
Участник

Группа: Участник
Сообщений: 16
Регистрация: 7-07-17
Пользователь №: 98 013

|
Всем доброго времени суток. Имеется связка LINUX/DAemon + GSM устройство. Устройство складирует в базу логи. с Neoway 590E - делает это замечательно. Приложение писишное - тоже.. Т.е. можно считать что с демоном все в порядке. Решил плату сделать на SIM800L, Neoway - не устраиват лишь из-за повышеных требований к питанию. И тут столкнулся с проблемой - "Откуда не ждали"... Регистрируюсь в сети и соединяюсь с серваком - как обычно.. все проходит нормально.. tcpdump - ом вижу подключение. а вот дальше чудеса.. в ответ на приглашение ">" - передаю данные - и пипец - тишина.. завершаю передачу как по "марксу" во всяких ипостасиях ((char)26, 0Х1А )- и все равно - тишина... правда на комманды реагирует.. т.е. можно закрыть соединение и работать дальше - Но вот самой отправки до сервака и не доходит даже.
И сразу вопрос попутно - не вижу данных ответных от сервера.. Т.е. модемовские сообщения - вижу.. а вот что пришло с ТСР (сообщения демона) - нет.. С Neoway - все было просто - запрос отправил - а демон ответил - что там да как там... А здесь все как в яму бросаешь... сценарий таков:
AT+CIPSHUT OK AT+CIPMUX=0 OK AT+CGATT=1 AT+CSTT="internet.mts.ru","mts","mts" OK AT+CIICR OK AT+CIFSR 10.183.118.175 AT+CIPSTART="TCP","XXXXX.ru","XXX" (или так AT+CIPSTART="TCP","XXX.XXX.XXX.XXX","XXXX") OK
CONNECT OK
AT+CIPSEND
> XXXXXXXXXXXXXX + 0x1A и вот здесь - как партизан молчит.......
пробовал и так AT+CIPSEND=5 > XXXXX
SEND OK - как то раз проскочило - но в дампе - пакета не увидел.
а если делаем AT+CIPCLOSE
CLOSED OK
c модулем работаем по softserial (2,3)
дергают через ресет-пин.
ну вот как то так.. Помогите люди добрые - кто чем может. Заранее благодарю.
|
|
|
|
|
Jul 8 2017, 15:10
|
Участник

Группа: Участник
Сообщений: 16
Регистрация: 7-07-17
Пользователь №: 98 013

|
Дабы исключить все инсинуации от демона - попробовал этот эксперимент с этими-же терминалами и сокетами. https://www.youtube.com/watch?v=hUMn_6jiO_UСитауция прежняя.. на сервере вижу - появляется соединение с новым клиентом - а дальше - ТИШИНА!!! CIPSEND - никакого действия ни на кого - не оказывает.....
|
|
|
|
|
Jul 9 2017, 09:17
|
Участник

Группа: Участник
Сообщений: 16
Регистрация: 7-07-17
Пользователь №: 98 013

|
Цитата(ArtemKAD @ Jul 8 2017, 20:35)  Ху из "0x1A" - один символ или таки четыре? Это символ "CTRL+Z"... оправляю так: gsm.print((char)26), и так gsm.write(0x1A) и так gsm.println((char)26) - один пень.... Или где то туплю? Цитата(serglg @ Jul 9 2017, 05:21)  я тоже понял, что сетевые функции у SIM800L блокированы. Единственное, что видно - внутренний адрес от МТС получает и всё. Никаких эффектов. Но при этом везде исправно говорит ОК. Там ниже моя тема про мои попытки подключиться к SMTP-серверу с помощью SIM800L Спасибо хоть за догадку  а то я уж грешить начал на старость  Так а как все-же вышли из положения? или так все и осталось не решенным? я тут уже прикупил 800С. попробую на нем. или тоже не вариант? в вашей ветке(только сейчас прочитал к сожалению) - рекомендуют 800Н. Это принципиально? Или С - покроет наши задачи?
|
|
|
|
|
Jul 9 2017, 16:13
|
Частый гость
 
Группа: Участник
Сообщений: 146
Регистрация: 19-07-16
Пользователь №: 92 603

|
Цитата(DallySon @ Jul 9 2017, 15:17)  Это символ "CTRL+Z"... оправляю так: gsm.print((char)26), и так gsm.write(0x1A) и так gsm.println((char)26) - один пень.... Или где то туплю? Спасибо хоть за догадку  а то я уж грешить начал на старость  Так а как все-же вышли из положения? или так все и осталось не решенным? я тут уже прикупил 800С. попробую на нем. или тоже не вариант? в вашей ветке(только сейчас прочитал к сожалению) - рекомендуют 800Н. Это принципиально? Или С - покроет наши задачи? Пока не знаю, обещали подогнать как раз 800Н, попробую посмотреть. Сообщу.
|
|
|
|
|
Jul 9 2017, 17:09
|
Участник

Группа: Участник
Сообщений: 16
Регистрация: 7-07-17
Пользователь №: 98 013

|
Цитата(serglg @ Jul 9 2017, 17:13)  Пока не знаю, обещали подогнать как раз 800Н, попробую посмотреть. Сообщу. Спасибо, бум ждать. Ну а я, получу С - соответственно отпишусь, если интересно.
|
|
|
|
|
Jul 10 2017, 18:16
|
Профессионал
    
Группа: Свой
Сообщений: 1 241
Регистрация: 15-11-05
Из: Челябинск
Пользователь №: 10 882

|
Цитата(serglg @ Jul 9 2017, 10:21)  я тоже понял, что сетевые функции у SIM800L блокированы. Ну уж не надо так - ВСЕ. SMTP, может, и блокировано, но базовый функционал (простая передача данных) вполне неплохо работает! Уж с год, наверное, один у меня трудится вместо SIM800H. Нареканий нет.
|
|
|
|
|
Jul 11 2017, 02:48
|
Частый гость
 
Группа: Участник
Сообщений: 146
Регистрация: 19-07-16
Пользователь №: 92 603

|
Цитата(Alechek @ Jul 11 2017, 00:16)  Ну уж не надо так - ВСЕ. SMTP, может, и блокировано, но базовый функционал (простая передача данных) вполне неплохо работает! Уж с год, наверное, один у меня трудится вместо SIM800H. Нареканий нет. Команда ping работает? У меня на любые запросы - ERROR.
|
|
|
|
|
Jul 31 2017, 20:40
|
Участник

Группа: Участник
Сообщений: 16
Регистрация: 7-07-17
Пользователь №: 98 013

|
ну что ж... Пришел 800С - абсолютно все так же.. Никакой реакции на отправку данных демону.. Дампом пакета даже не просматривается.. Т.е. получается данные модуль не покидают. А чего эта сволочь ждет - не знаю... отправка выглядит так:
gsm.println("AT+CIPSEND=6"); gsm.print("123456");
или так
gsm.println("AT+CIPSEND"); gsm.print("123456"); gsm.write((char)26); (или же gsm.write(0x1a) )
и опять полная тишина.. ни ошибок ни ответов... короче литера С - не принесла успеха... Может все таки дело не в модуле? Вот только в чем тогда?
Все еще надеюсь...
|
|
|
|
|
Aug 1 2017, 19:59
|
Участник

Группа: Участник
Сообщений: 16
Регистрация: 7-07-17
Пользователь №: 98 013

|
Цитата(serglg @ Aug 1 2017, 05:36)  я тоже надеялся на приход SIM800C в деле отправки почты. :-) В конечном итоге всё дело оказалось в почтовом сервере и SIM800C с SIM800L работали одинаково. а у меня чудеса продолжаются... Для исключения всяких линуховых проблем с демонами - написал PHP скрипт... для GET запроса.. из браузера - все опять же работает замечательно.. из строки - запрос укладывает в базу передаваемые параметры. С СИМКОМА же - все заканчивается на установлении связи (это я вижу по дампу на серваке).. все выглядит как прописано докторами: AT+SAPBR=3,1,"CONTYPE","GPRS" AT+SAPBR=3,1,"APN","internet.mts.ru" AT+SAPBR=3,1,"USER","mts" AT+SAPBR=3,1,"PWD","mts" AT+SAPBR=1,1 AT+HTTPINIT AT+HTTPPARA="CID",1 AT+HTTPPARA="url","http://XXX.ru:2080/scripts/put.php?id_cli=1&id_u=1&typ_mess=0&pow=2.88&val=0" AT+HTTPACTION=0 и все. висим до появления +HTTPACTION: 0,408,0 - т.е. вываливаемся по таймауту... самое интересное - пробовал обращаться к публичным серверам и к примерам в инете (например http://alex-exe.ru/radio/wireless/gsm-sim900-gprs/) - на команду AT+HTTPACTION=0 получаю не +HTTPACTION:0,200,1647 - а +HTTPACTION: 0,302,0. т.е. получаю не ОК - а FOUND.... тоже самое и с другими публичными серваками... помогите люди добрые!!!!!... дайте лопату правильную - дабы копать в верном направлении... уж все изрыто - а результата - нет... Т.е. - картина опять же как и в начале данной темы..
|
|
|
|
|
Aug 15 2017, 10:21
|

Частый гость
 
Группа: Свой
Сообщений: 184
Регистрация: 7-10-15
Из: Санкт-Петербург
Пользователь №: 88 743

|
Цитата(DallySon @ Aug 1 2017, 22:59)  а у меня чудеса продолжаются... Для исключения всяких линуховых проблем с демонами - написал PHP скрипт... для GET запроса.. из браузера - все опять же работает замечательно.. из строки - запрос укладывает в базу передаваемые параметры. С СИМКОМА же - все заканчивается на установлении связи (это я вижу по дампу на серваке).. все выглядит как прописано докторами: AT+SAPBR=3,1,"CONTYPE","GPRS" AT+SAPBR=3,1,"APN","internet.mts.ru" AT+SAPBR=3,1,"USER","mts" AT+SAPBR=3,1,"PWD","mts" AT+SAPBR=1,1 AT+HTTPINIT AT+HTTPPARA="CID",1 AT+HTTPPARA="url","http://XXX.ru:2080/scripts/put.php?id_cli=1&id_u=1&typ_mess=0&pow=2.88&val=0" AT+HTTPACTION=0 и все. висим до появления +HTTPACTION: 0,408,0 - т.е. вываливаемся по таймауту... самое интересное - пробовал обращаться к публичным серверам и к примерам в инете (например http://alex-exe.ru/radio/wireless/gsm-sim900-gprs/) - на команду AT+HTTPACTION=0 получаю не +HTTPACTION:0,200,1647 - а +HTTPACTION: 0,302,0. т.е. получаю не ОК - а FOUND.... тоже самое и с другими публичными серваками... помогите люди добрые!!!!!... дайте лопату правильную - дабы копать в верном направлении... уж все изрыто - а результата - нет... Т.е. - картина опять же как и в начале данной темы.. 1. какие тайм-ауты между отправками команд? 2. после 'AT+SAPBR=1,1' крайне желательно отправить 'AT+SAPBR=2,1' 3. почему именно SIM800L? почему не SIM800H?
|
|
|
|
|
Aug 16 2017, 03:48
|
Частый гость
 
Группа: Участник
Сообщений: 146
Регистрация: 19-07-16
Пользователь №: 92 603

|
Цитата(Hub @ Aug 15 2017, 16:21)  2. после 'AT+SAPBR=1,1' крайне желательно отправить 'AT+SAPBR=2,1' У меня это было вроде как чисто для себя, когда отлаживал. Но так и оставил в жизни. А оказывается в этом глубокий смысл?
|
|
|
|
|
Aug 17 2017, 07:38
|

Частый гость
 
Группа: Свой
Сообщений: 184
Регистрация: 7-10-15
Из: Санкт-Петербург
Пользователь №: 88 743

|
Цитата(serglg @ Aug 16 2017, 06:48)  У меня это было вроде как чисто для себя, когда отлаживал. Но так и оставил в жизни. А оказывается в этом глубокий смысл? да, в этом есть определенный смысл получилось?
|
|
|
|
|
Aug 17 2017, 12:47
|
Частый гость
 
Группа: Участник
Сообщений: 146
Регистрация: 19-07-16
Пользователь №: 92 603

|
Цитата(Hub @ Aug 17 2017, 13:38)  да, в этом есть определенный смысл получилось? Ну я изначально так и оставил.
|
|
|
|
|
Aug 18 2017, 16:10
|
Участник

Группа: Участник
Сообщений: 16
Регистрация: 7-07-17
Пользователь №: 98 013

|
Цитата(Hub @ Aug 15 2017, 10:21)  1. какие тайм-ауты между отправками команд? 2. после 'AT+SAPBR=1,1' крайне желательно отправить 'AT+SAPBR=2,1' 3. почему именно SIM800L? почему не SIM800H? Спасибо - вставлю. В конечном итоге все закончилось тем, что на следующий день, без каких либо переделок - я включил - все заработало.. на прогоне - две недели. Отрабатываю процедуру самовосстановления связи.. За это время связь рвалсь неоднократно, но самовостановление - отрабатывает нормально. Был единственный случай - когда почему то не получилось.. Видимо если бы была AT+SAPBR=2,1 - то все и получилось бы и в том случае. В общем в итоге оставил вариант с HTTP+PHP. Всем спасибо.
|
|
|
|
|
Oct 13 2017, 23:08
|
Группа: Новичок
Сообщений: 2
Регистрация: 27-04-16
Пользователь №: 91 507

|
Modem.println("AT+CIPSEND=0,6"); delay(300); // Ожидаем появления ">" Modem.print("123456\r\n"); // \r\n = CTRL+Z
Выдержка из мануала: Command AT+CIPSEND response">", then type data for send, tap CTRL+Z to send.
Тоесть нельзя сразу отправлять данные в модем. Сначала команда, ожидание приглашения на ввод данных ">" потом ввод и CTRL+Z
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|