|
SIM900, Перестает передавать |
|
|
|
Jul 14 2015, 07:23
|
Знающий
   
Группа: Свой
Сообщений: 524
Регистрация: 25-12-08
Из: Москва
Пользователь №: 42 748

|
Добрый день! От предыдущего разработчика достался GPS треккер, не совсем правильно разведеный, разводку чуть изменили, програму пришлось переписать, при передаче данных через этот модем обнаружил странные вещи: 1) при включении питания модуля ожидаю Call Ready через несколько секунд, но не все модули выводят это сообшение, все модули из одной партии 2) При передаче данных на UDP или TCP сервер через какое то время после нормалных передач передача заканчивается сообщением +PDP: DEACT, далее через несколько минут передача может проснуться. CODE sprintf(str, "AT+CIPSEND=%d\r\n", len); gprs_send_str(str); /* Ждем строчки с приглашением */ res = gprs_wait_for_str(">", WAIT_TIME_10SEC); gprs_flush(GPRS_BUF_IN); /* Затрем приемный */
if (res == RES_OK) { gprs_send_buf((u8 *) buf, len); res = gprs_wait_for_str("SEND OK", WAIT_TIME_10SEC * 2); } else if(res == RES_DEACT) { gprs_send_str("AT+CGATT?\r\n"); gprs_wait_for_str("+CGATT:", WAIT_TIME_10SEC); gprs_flush(GPRS_BUF_IN); } Кто с таким сталкивался и как с этим бороться?
|
|
|
|
|
Jul 14 2015, 08:08
|
Знающий
   
Группа: Свой
Сообщений: 524
Регистрация: 25-12-08
Из: Москва
Пользователь №: 42 748

|
Цитата(Aner @ Jul 14 2015, 10:37)  У SIM900 какая версия прошивки модуля. Да и на схему взглянуть интересно, может там кучка кривоты. кривоты там достаточно
Эскизы прикрепленных изображений
|
|
|
|
|
Jul 14 2015, 08:38
|
Частый гость
 
Группа: Участник
Сообщений: 168
Регистрация: 14-02-10
Пользователь №: 55 490

|
Цитата(inventor @ Jul 14 2015, 11:23)  1) при включении питания модуля ожидаю Call Ready через несколько секунд, но не все модули выводят это сообшение, все модули из одной партии Версия -- не у всех установлена фиксированная скорость
--------------------
#define TRUE (4==(2*2))
|
|
|
|
|
Jul 14 2015, 08:41
|
Знающий
   
Группа: Свой
Сообщений: 524
Регистрация: 25-12-08
Из: Москва
Пользователь №: 42 748

|
Цитата(CADiLO @ Jul 14 2015, 11:26)  Ну если учесть что самая большая кривота - несогласованные уровни между модулем и контроллером, то все остальное мелкая фигня. Какая версия прошивки в модулях? Интересно что мешало оба стабилизатора запитать от 12 входного, выключать их штатными EN, а ключи выкинуть к ....ням.  какой командой можно узнать?
|
|
|
|
|
Jul 14 2015, 08:55
|
Знающий
   
Группа: Свой
Сообщений: 524
Регистрация: 25-12-08
Из: Москва
Пользователь №: 42 748

|
Цитата(Aner @ Jul 14 2015, 11:43)  Первую строчку, та что на SIM900 модулях напишите, скажем какая версия. S2-1040S-Z092Z Цитата(CADiLO @ Jul 14 2015, 11:47)  а как вы для них программу переписывали не читая документацию ? А зачем мне знать ВСЕ команды? Меня интересует исключительно то, что относится к соединению GPRS и создания UDP клиента ну а обычные AT команды я из модемов помню.
|
|
|
|
|
Jul 14 2015, 09:07
|

Гуру
     
Группа: Свой
Сообщений: 6 023
Регистрация: 26-08-05
Из: Днепр
Пользователь №: 7 988

|
>>>А зачем мне знать ВСЕ команды? Можно и азбуку всю не учить А если серьезно, то как минимум ознакомиться со списком нужно обязательно. Тогда часто 90% вопросов просто не возникнут S2-1040S-Z092Z - 1137B11SIM900M64_ST это 11 евроверсия последняя в этом ряду - S2-1040S-Z1K0K = 1137B15SIM900M64_ST из новейших расширенных последняя апрельская - S2-1040S-Z1K0C = 1137B05SIM900M64_ST_ENHANCE теперь по исходным вопросам - очень желательно обновиться до последней версии и далее 1. проверьте чтобы у всех модулей настройки "по умолчанию" были одинаковы 2. обязательно отключайте автоскорость обмена что касается затыков в GPRS 1. не придерживаемся рекомендаций и последовательностей команд из SIM900_TCPIP_Application Note_V1.02.pdf 2. чудеса у оператора - тоже не последняя причина
--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
|
|
|
|
|
Jul 14 2015, 09:17
|
Знающий
   
Группа: Свой
Сообщений: 524
Регистрация: 25-12-08
Из: Москва
Пользователь №: 42 748

|
[quote name='CADiLO' date='Jul 14 2015, 12:07' post='1351464'] 1. не придерживаемся рекомендаций и последовательностей команд из SIM900_TCPIP_Application Note_V1.02.pdf CODE sprintf(str, "AT+CIPSEND=%d\r\n", len); gprs_send_str(str); delay_ms(DELAY_CMD_MS); /* Ждем строчки с приглашением */ res = gprs_wait_for_str(">", WAIT_TIME_10SEC); gprs_flush(GPRS_BUF_IN); /* Затрем приемный */
if (res == RES_OK) { gprs_send_buf((u8 *) buf, len); delay_ms(DELAY_CMD_MS); res = gprs_wait_for_str("SEND OK", WAIT_TIME_10SEC * 2); } else if(res == RES_DEACT) { gprs_send_str("AT+CGATT?\r\n"); delay_ms(CONNECT_TIMEOUT); gprs_wait_for_str("+CGATT:", WAIT_TIME_10SEC); printf("\nWait for 2 sec\r\n"); gprs_flush(GPRS_BUF_IN); }
Пардон, а что здесь неправильного? Я видел в даташитах, что можно следить за DTR/DSR - но они у меня в воздухе висят, стоит ли сигналы управления потоком перемычками на контроллер кинуть?
|
|
|
|
|
Jul 14 2015, 09:34
|

Гуру
     
Группа: Свой
Сообщений: 6 023
Регистрация: 26-08-05
Из: Днепр
Пользователь №: 7 988

|
здесь неправильного немного, просто телепаты в отпуске....
как минимум я не вижу инициализации
и логи дают не в таком виде - не все знают С или кто на чем там пишет...
поэтому лучше приводить в таком формате
AT+CGATT=1
OK AT+CLPORT="UDP",03030
OK AT+CIPCSGP=1,"xxx.xxxxxxxx.xxx"
OK AT+CIPSTART="UDP","xxx.xxx.xxx.xxx","03031"
OK
CONNECT OK AT+CIPSEND=13
> \эђg‚ SEND OK
а еще лучше если в начале будут временные метки
вот примерно так
10:30:55 AT+CPOWD=1 10:30:55 OK 10:31:02 ATE1 10:31:03 OK 10:31:03 ATV1 10:31:03 OK 10:31:03 ATE1 10:31:03 OK 10:31:03 AT+IPR=9600 10:31:03 OK 10:31:03 AT+IFC=0,0 10:31:04 OK 10:31:04 AT+VTD=2 10:31:04 OK
--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
|
|
|
|
|
Jul 14 2015, 09:40
|
Знающий
   
Группа: Свой
Сообщений: 524
Регистрация: 25-12-08
Из: Москва
Пользователь №: 42 748

|
Цитата(CADiLO @ Jul 14 2015, 12:34)  здесь неправильного немного, просто телепаты в отпуске....
как минимум я не вижу инициализации
и логи дают не в таком виде - не все знают С или кто на чем там пишет...
поэтому лучше приводить в таком формате
AT+CGATT=1
OK AT+CLPORT="UDP",03030
OK AT+CIPCSGP=1,"xxx.xxxxxxxx.xxx"
OK AT+CIPSTART="UDP","xxx.xxx.xxx.xxx","03031"
OK
CONNECT OK AT+CIPSEND=13
> \эђg‚ SEND OK
а еще лучше если в начале будут временные метки
вот примерно так
10:30:55 AT+CPOWD=1 10:30:55 OK 10:31:02 ATE1 10:31:03 OK 10:31:03 ATV1 10:31:03 OK 10:31:03 ATE1 10:31:03 OK 10:31:03 AT+IPR=9600 10:31:03 OK 10:31:03 AT+IFC=0,0 10:31:04 OK 10:31:04 AT+VTD=2 10:31:04 OK Понял, у меня в консоль выводит, щас попробую: Send :ATE0 ATE0 OK Send :AT+GSMBUSY=1 OK Send :AT+CSQ +CSQ: 13,0 OK Send :AT+COPS? +COPS: 0,0,"MegaFon RUS" OK Send :AT+CIPCSGP=1,"internet","gdata","gdata" OK Wait for 2 sec Send :AT+SAPBR=1,1 OK Wait for 2 sec Send :AT+SAPBR=2,1 My IP Addr: 10.188.233.145 GPRS connecting established Send :AT+CIPSTART="UDP","87.249.0.254","10025" OK CONNECT OK Теперь шлю данные: Send :AT+CIPSEND=35 > #12345678abcd«Í SEND OK res OK
|
|
|
|
|
Jul 14 2015, 09:51
|

Гуру
     
Группа: Свой
Сообщений: 6 023
Регистрация: 26-08-05
Из: Днепр
Пользователь №: 7 988

|
AT+SAPBR - используем только для FTP или HTTP AT+CIPCSGP - 300 лет тут не нужно >>>+CSQ: 13,0 - на пределе для GPRS, может рвать связь - желательно CSQ не хуже 18-20 настоятельно рекомендую согласовать уровни с контроллером, дабы в будущем не менять модули и проверить антенную часть на предмет маловатого уровня сигнала программно делаем все по апнотесу - вся последовательность приведена и неоднократно проверена. если не работает так как написано - пинаем оператора.
--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
|
|
|
|
|
Jul 14 2015, 10:03
|
Знающий
   
Группа: Свой
Сообщений: 524
Регистрация: 25-12-08
Из: Москва
Пользователь №: 42 748

|
Цитата(CADiLO @ Jul 14 2015, 12:51)  AT+SAPBR - используем только для FTP или HTTP
AT+CIPCSGP - 300 лет тут не нужно
>>>+CSQ: 13,0 - на пределе для GPRS, может рвать связь - желательно CSQ не хуже 18-20
настоятельно рекомендую согласовать уровни с контроллером, дабы в будущем не менять модули и проверить антенную часть на предмет маловатого уровня сигнала
программно делаем все по апнотесу - вся последовательность приведена и неоднократно проверена. если не работает так как написано - пинаем оператора. спасиб. даташиты есть у меня а что за беда в уровнях, нельзя напрямую ноги на контроллер подавать?
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|