Jump to content

    

ДЕЙЛ

Участник
  • Content Count

    282
  • Joined

  • Last visited

Everything posted by ДЕЙЛ


  1. AT+COPS=? +COPS: (2,"MegaFon","MegaFon","25002"),(1,"Bee Line GSM","BeeLine","25099"),(1,"MOTIV","MOTIV","25020"),(1,"MTS","MTS","25001"),,(0-4),(0-2) Но что означает ответ на эту команду? Я понимаю этот ответ так: (2,"MegaFon","MegaFon","25002") - текущий оператор; (1,"Bee Line GSM","BeeLine","25099") - доступный для подключения оператор; (1,"MOTIV","MOTIV","25020") - доступный для подключения оператор; (1,"MTS","MTS","25001") - доступный для подключения оператор. Из описания команды AT+COPS=? самое первое число означает следующее: 0 - Unknown 1 - Operator available 2 - Operator current 3 - Operator forbidden В моём случае три оператора имеют статус "1 - Operator available". Что это означает на деле, если не возможность регистрации в сети? А если операторов будет десяток? Мне нужно знать, к каким я могу подключиться, а к каким нет. Если команда AT+COPS=? на этот вопрос отвечает неправильно, то как ещё можно узнать список доступных операторов для регистрации?
  2. Симка из Узбекистана находится в России. Модуль прямо говорит, что может зарегистрироваться в сети трёх операторов, помимо того, к кому сейчас подключен. При попытке зарегистрироваться возвращает ошибку. Аналогично экспериментировал с симкой из Литвы. Модуль говорит, что может подключиться и на самом деле не обманывает. CPU[1536159878] ---> AT+COPS=? CPU[1536159888] <--- +COPS: (2,"MegaFon","MegaFon","25002"),(1,"MTS","MTS","25001"),(1,"Bee Line GSM","BeeLine","25099"),(1,"MOTIV","MOTIV","25020"),,(0-4),(0-2) CPU[1536159888] <--- OK CPU[1536159888] ---> AT+COPS? CPU[1536159888] <--- +COPS: 0,2,"25002" CPU[1536159888] <--- OK CPU[1536159888] ---> AT+COPS=2 CPU[1536159889] <--- OK CPU[1536159889] <--- +CREG: 0 CPU[1536159889] ---> AT+CREG? CPU[1536159889] <--- +CREG: 1,0 CPU[1536159889] <--- OK CPU[1536159889] ---> AT+COPS=1,2,"25099" CPU[1536159889] <--- +CREG: 2 CPU[1536159897] <--- +CREG: 5 CPU[1536159897] <--- OK CPU[1536159897] ---> AT+COPS? CPU[1536159897] <--- +COPS: 1,2,"25099" CPU[1536159897] <--- OK CPU[1536159897] ---> AT+CREG? CPU[1536159897] <--- +CREG: 1,5
  3. Приветствую, коллеги! Использую модуль SIM800C, S2-10688-Z1L08 Он мне говорит, что я могу подключиться к трём операторам, но при попытке выполнить ручную регистрацию возвращает ошибку. Почему он меня обманывает и вынуждает впустую тратить процессорное время? CPU[1517832447] ---> AT+COPS=? CPU[1517832461] <--- +COPS: (2,"MegaFon","MegaFon","25002"),(1,"Bee Line GSM","BeeLine","25099"),(1,"MOTIV","MOTIV","25020"),(1,"MTS","MTS","25001"),,(0-4),(0-2) CPU[1517832461] <--- OK CPU[1517832461] ---> AT+COPS? CPU[1517832461] <--- +COPS: 0,2,"25002" CPU[1517832461] <--- OK CPU[1517832461] ---> AT+COPS=2 CPU[1517832462] <--- OK CPU[1517832462] <--- +CREG: 0 CPU[1517832462] ---> AT+CREG? CPU[1517832462] <--- +CREG: 1,0 CPU[1517832462] <--- OK CPU[1517832462] ---> AT+COPS=1,2,"25099" CPU[1517832462] <--- +CREG: 2 CPU[1517832471] <--- +CREG: 0 CPU[1517832471] <--- ERROR CPU[1517832471] ---> AT+COPS? CPU[1517832471] <--- +COPS: 1 CPU[1517832471] <--- OK CPU[1517832471] ---> AT+COPS=2 CPU[1517832471] <--- OK CPU[1517832471] ---> AT+CREG? CPU[1517832471] <--- +CREG: 1,0 CPU[1517832471] <--- OK CPU[1517832471] ---> AT+COPS=1,2,"25001" CPU[1517832471] <--- +CREG: 2 CPU[1517832479] <--- +CREG: 0 CPU[1517832479] <--- ERROR CPU[1517832479] ---> AT+COPS? CPU[1517832479] <--- +COPS: 1 CPU[1517832479] <--- OK CPU[1517832479] ---> AT+COPS=2 CPU[1517832479] <--- OK CPU[1517832479] ---> AT+CREG? CPU[1517832479] <--- +CREG: 1,0 CPU[1517832479] <--- OK CPU[1517832479] ---> AT+COPS=1,2,"25020" CPU[1517832479] <--- +CREG: 2 CPU[1517832573] <--- +CREG: 0 CPU[1517832573] <--- ERROR CPU[1517832573] ---> AT+COPS? CPU[1517832573] <--- +COPS: 1 CPU[1517832573] <--- OK Полный лог вот так вот выглядит: CPU[1517832378] ---> AT+CPOWD=1 CPU[1517832379] <--- NORMAL POWER DOWN CPU[1517832383] ---> AT CPU[1517832383] <--- AT CPU[1517832383] <--- OK CPU[1517832386] ---> AT+GSN CPU[1517832386] <--- AT+GSN CPU[1517832386] <--- 867793036822197 CPU[1517832386] <--- OK CPU[1517832386] <--- Call Ready CPU[1517832387] ---> AT+CSMINS? CPU[1517832387] <--- AT+CSMINS? CPU[1517832387] <--- +CSMINS: 0,1 CPU[1517832387] <--- OK CPU[1517832387] ---> ATE0 CPU[1517832387] <--- ATE0 CPU[1517832387] <--- OK CPU[1517832387] <--- SMS Ready CPU[1517832387] ---> AT+CBATCHK=0 CPU[1517832387] <--- OK CPU[1517832387] ---> AT+CLTS=1 CPU[1517832387] <--- OK CPU[1517832387] ---> AT+CSMINS=1 CPU[1517832387] <--- OK CPU[1517832387] ---> AT+CPIN? CPU[1517832387] <--- +CPIN: READY CPU[1517832387] <--- OK CPU[1517832387] ---> AT+CMGF=1 CPU[1517832387] <--- OK CPU[1517832387] ---> AT+CREG=1 CPU[1517832387] <--- OK CPU[1517832387] ---> ATS0=3 CPU[1517832387] <--- OK CPU[1517832387] ---> AT+CALM=0 CPU[1517832387] <--- OK CPU[1517832387] ---> AT+CLVL=100 CPU[1517832387] <--- OK CPU[1517832387] ---> AT+CRSL=4 CPU[1517832387] <--- OK CPU[1517832387] ---> AT+CALS=0 CPU[1517832387] <--- OK CPU[1517832387] ---> AT+CENG=1,0 CPU[1517832387] <--- OK CPU[1517832387] ---> AT+COPS=3,2 CPU[1517832387] <--- OK CPU[1517832388] ---> AT+CCALR? CPU[1517832388] <--- +CCALR: 0 CPU[1517832388] <--- OK CPU[1517832389] ---> AT+CCALR? CPU[1517832389] <--- +CCALR: 0 CPU[1517832389] <--- OK CPU[1517832389] <--- +CREG: 5 CPU[1517832390] ---> AT+CCALR? CPU[1517832390] <--- +CCALR: 1 CPU[1517832390] <--- OK CPU[1517832404] ---> AT+CCID CPU[1517832404] <--- 8999893032015531096f CPU[1517832404] <--- OK CPU[1517832433] ---> AT+CFUN=0 CPU[1517832434] <--- +CSMINS: 1,0 CPU[1517832434] <--- +CPIN: NOT READY CPU[1517832436] <--- +CREG: 0 CPU[1517832436] <--- OK CPU[1517832437] ---> AT+CFUN? CPU[1517832437] <--- +CFUN: 0 CPU[1517832437] <--- OK CPU[1517832437] ---> AT+CFUN=1 CPU[1517832437] <--- +CREG: 2 CPU[1517832438] <--- +CSMINS: 1,1 CPU[1517832438] <--- +CPIN: READY CPU[1517832438] <--- OK CPU[1517832439] ---> AT+CFUN? CPU[1517832439] <--- CPU[1517832439] <--- +CFUN: 1 CPU[1517832439] <--- OK CPU[1517832440] ---> AT+CCALR? CPU[1517832440] <--- CPU[1517832440] <--- +CCALR: 0 CPU[1517832440] <--- OK CPU[1517832440] <--- SMS Ready CPU[1517832441] ---> AT+CCALR? CPU[1517832441] <--- +CCALR: 0 CPU[1517832441] <--- OK CPU[1517832442] ---> AT+CCALR? CPU[1517832442] <--- +CCALR: 0 CPU[1517832442] <--- OK CPU[1517832443] <--- Call Ready CPU[1517832443] ---> AT+CCALR? CPU[1517832443] <--- +CCALR: 0 CPU[1517832443] <--- OK CPU[1517832444] ---> AT+CCALR? CPU[1517832444] <--- +CCALR: 0 CPU[1517832444] <--- OK CPU[1517832445] <--- +CREG: 5 CPU[1517832445] ---> AT+CCALR? CPU[1517832445] <--- CPU[1517832445] <--- +CCALR: 1 CPU[1517832445] <--- OK CPU[1517832445] ---> AT+CFUN? CPU[1517832445] <--- +CFUN: 1 CPU[1517832445] <--- OK CPU[1517832445] ---> AT+CREG? CPU[1517832445] <--- CPU[1517832445] <--- +CREG: 1,5 CPU[1517832445] <--- OK CPU[1517832445] ---> AT+CPAS CPU[1517832445] <--- +CPAS: 0 CPU[1517832445] <--- OK CPU[1517832445] ---> AT+CSTT? CPU[1517832445] <--- CPU[1517832445] <--- +CSTT: "CMNET","","" CPU[1517832445] <--- OK CPU[1517832446] ---> AT+CNMI=2,1,0,0,0 CPU[1517832446] <--- OK CPU[1517832446] ---> AT+CENG? CPU[1517832446] <--- +CENG: 0,0 CPU[1517832446] <--- OK CPU[1517832447] ---> AT+CSQ CPU[1517832447] <--- +CSQ: 17,0 CPU[1517832447] <--- OK CPU[1517832447] ---> AT+CREG? CPU[1517832447] <--- +CREG: 1,5 CPU[1517832447] <--- OK CPU[1517832447] ---> AT+CMGR=1,0 CPU[1517832447] <--- OK CPU[1517832447] ---> AT+CMGD=1,4 CPU[1517832447] <--- OK CPU[1517832447] ---> AT+COPS=? CPU[1517832461] <--- +COPS: (2,"MegaFon","MegaFon","25002"),(1,"Bee Line GSM","BeeLine","25099"),(1,"MOTIV","MOTIV","25020"),(1,"MTS","MTS","25001"),,(0-4),(0-2) CPU[1517832461] <--- OK CPU[1517832461] ---> AT+COPS? CPU[1517832461] <--- +COPS: 0,2,"25002" CPU[1517832461] <--- OK CPU[1517832461] ---> AT+COPS=2 CPU[1517832462] <--- OK CPU[1517832462] <--- +CREG: 0 CPU[1517832462] ---> AT+CREG? CPU[1517832462] <--- +CREG: 1,0 CPU[1517832462] <--- OK CPU[1517832462] ---> AT+COPS=1,2,"25099" CPU[1517832462] <--- +CREG: 2 CPU[1517832471] <--- +CREG: 0 CPU[1517832471] <--- ERROR CPU[1517832471] ---> AT+COPS? CPU[1517832471] <--- +COPS: 1 CPU[1517832471] <--- OK CPU[1517832471] ---> AT+COPS=2 CPU[1517832471] <--- OK CPU[1517832471] ---> AT+CREG? CPU[1517832471] <--- +CREG: 1,0 CPU[1517832471] <--- OK CPU[1517832471] ---> AT+COPS=1,2,"25001" CPU[1517832471] <--- +CREG: 2 CPU[1517832479] <--- +CREG: 0 CPU[1517832479] <--- ERROR CPU[1517832479] ---> AT+COPS? CPU[1517832479] <--- +COPS: 1 CPU[1517832479] <--- OK CPU[1517832479] ---> AT+COPS=2 CPU[1517832479] <--- OK CPU[1517832479] ---> AT+CREG? CPU[1517832479] <--- +CREG: 1,0 CPU[1517832479] <--- OK CPU[1517832479] ---> AT+COPS=1,2,"25020" CPU[1517832479] <--- +CREG: 2 CPU[1517832573] <--- +CREG: 0 CPU[1517832573] <--- ERROR CPU[1517832573] ---> AT+COPS? CPU[1517832573] <--- +COPS: 1 CPU[1517832573] <--- OK CPU[1517832573] <--- CPU[1517832574] ---> AT+CIPRXGET=1 CPU[1517832574] <--- OK CPU[1517832574] ---> AT+CIPMUX=1 CPU[1517832574] <--- OK CPU[1517832574] ---> AT+CGATT=1 CPU[1517832578] <--- +CREG: 5 CPU[1517832578] <--- OK CPU[1517832578] <--- +CREG: 5 CPU[1517832578] ---> AT+CSTT="internet.beeline.ru","beeline","beeline" CPU[1517832578] <--- OK CPU[1517832578] ---> AT+CIICR CPU[1517832578] <--- +PDP: DEACT CPU[1517832578] <--- ERROR CPU[1517832579] ---> AT+CIPSHUT CPU[1517832579] <--- SHUT OK CPU[1517832580] ---> AT+CIPRXGET=1 CPU[1517832580] <--- OK CPU[1517832580] ---> AT+CIPMUX=1 CPU[1517832580] <--- OK CPU[1517832580] ---> AT+CGATT=1 CPU[1517832580] <--- OK CPU[1517832580] ---> AT+CSTT="internet.beeline.ru","beeline","beeline" CPU[1517832580] <--- OK CPU[1517832580] ---> AT+CIICR CPU[1517832581] <--- +PDP: DEACT CPU[1517832581] <--- ERROR CPU[1517832582] ---> AT+CIPSHUT CPU[1517832582] <--- SHUT OK CPU[1517832583] ---> AT+CIPRXGET=1 CPU[1517832583] <--- OK CPU[1517832583] ---> AT+CIPMUX=1 CPU[1517832583] <--- CPU[1517832583] <--- OK CPU[1517832583] ---> AT+CGATT=1 CPU[1517832583] <--- OK CPU[1517832583] ---> AT+CSTT="internet.beeline.ru","beeline","beeline" CPU[1517832583] <--- OK CPU[1517832583] ---> AT+CIICR CPU[1517832584] <--- +PDP: DEACT CPU[1517832584] <--- ERROR CPU[1517832585] ---> AT+CIPSHUT CPU[1517832585] <--- SHUT OK CPU[1517832586] ---> AT+CIPRXGET=1 CPU[1517832586] <--- OK CPU[1517832586] ---> AT+CIPMUX=1 CPU[1517832586] <--- OK CPU[1517832586] ---> AT+CGATT=1 CPU[1517832586] <--- OK CPU[1517832586] ---> AT+CSTT="internet.beeline.ru","beeline","beeline" CPU[1517832586] <--- OK CPU[1517832586] ---> AT+CIICR CPU[1517832586] <--- +PDP: DEACT CPU[1517832586] <--- ERROR CPU[1517832587] ---> AT+CIPSHUT CPU[1517832587] <--- SHUT OK CPU[1517832588] ---> AT+CIPRXGET=1 CPU[1517832588] <--- OK CPU[1517832588] ---> AT+CIPMUX=1 CPU[1517832588] <--- OK CPU[1517832588] ---> AT+CGATT=1 CPU[1517832588] <--- OK CPU[1517832588] ---> AT+CSTT="internet.beeline.ru","beeline","beeline" CPU[1517832588] <--- OK CPU[1517832588] ---> AT+CIICR CPU[1517832589] <--- +PDP: DEACT CPU[1517832589] <--- ERROR CPU[1517832590] ---> AT+CIPSHUT CPU[1517832590] <--- SHUT OK CPU[1517832590] ---> AT+COPS? CPU[1517832590] <--- +COPS: 1,2,"25002" CPU[1517832590] <--- OK CPU[1517832590] ---> AT+COPS? CPU[1517832590] <--- +COPS: 1,2,"25002" CPU[1517832590] <--- OK CPU[1517832590] ---> AT+CREG? CPU[1517832590] <--- +CREG: 1,5 CPU[1517832590] <--- OK CPU[1517832590] ---> AT+COPS=0 CPU[1517832590] <--- +CREG: 2 CPU[1517832710] ---> AT+COPS? CPU[1517832711] ---> AT+CREG? CPU[1517832721] <--- +CREG: 5 CPU[1517832721] <--- OK CPU[1517832721] ---> AT+CIPRXGET=1 CPU[1517832721] <--- CPU[1517832721] <--- OK CPU[1517832721] ---> AT+CIPMUX=1 CPU[1517832721] <--- CPU[1517832721] <--- OK CPU[1517832721] ---> AT+CGATT=1 CPU[1517832721] <--- CPU[1517832721] <--- OK CPU[1517832721] ---> AT+CSTT="internet.beeline.ru","beeline","beeline" CPU[1517832721] <--- OK CPU[1517832721] ---> AT+CIICR CPU[1517832729] <--- +PDP: DEACT CPU[1517832729] <--- ERROR CPU[1517832730] ---> AT+CIPSHUT CPU[1517832730] <--- SHUT OK CPU[1517832731] ---> AT+CSTT? CPU[1517832731] <--- +CSTT: "internet.beeline.ru","beeline","beeline" CPU[1517832731] <--- OK CPU[1517832731] ---> AT+CREG? CPU[1517832731] <--- +CREG: 1,5 CPU[1517832731] <--- OK CPU[1517832731] ---> AT+CSTT? CPU[1517832731] <--- +CSTT: "internet.beeline.ru","beeline","beeline" CPU[1517832731] <--- OK CPU[1517832731] <--- CPU[1517832731] ---> AT+CIFSR CPU[1517832731] <--- ERROR CPU[1517832731] ---> AT+CIFSR CPU[1517832731] <--- ERROR CPU[1517832731] ---> AT+CIFSR CPU[1517832731] <--- ERROR CPU[1517832731] ---> AT+CIFSR CPU[1517832731] <--- ERROR CPU[1517832741] ---> AT+CMGR=1,0 CPU[1517832741] <--- OK CPU[1517832741] ---> AT+CIPSHUT CPU[1517832741] <--- SHUT OK CPU[1517832741] ---> AT+CSTT? CPU[1517832741] <--- +CSTT: "internet.beeline.ru","beeline","beeline" CPU[1517832741] <--- OK CPU[1517832741] ---> AT+CREG? CPU[1517832741] <--- +CREG: 1,5 CPU[1517832741] <--- OK CPU[1517832741] ---> AT+CSTT? CPU[1517832741] <--- +CSTT: "internet.beeline.ru","beeline","beeline" CPU[1517832741] <--- OK CPU[1517832741] ---> AT+CIFSR CPU[1517832741] <--- ERROR CPU[1517832741] ---> AT+CIFSR CPU[1517832741] <--- ERROR CPU[1517832741] ---> AT+CIFSR CPU[1517832741] <--- ERROR CPU[1517832741] ---> AT+CIFSR CPU[1517832741] <--- ERROR CPU[1517832752] ---> AT+CIPSHUT CPU[1517832752] <--- SHUT OK CPU[1517832752] ---> AT+CSTT? CPU[1517832752] <--- +CSTT: "internet.beeline.ru","beeline","beeline" CPU[1517832752] <--- OK CPU[1517832752] ---> AT+CREG? CPU[1517832752] <--- +CREG: 1,5 CPU[1517832752] <--- OK CPU[1517832752] ---> AT+CSTT? CPU[1517832752] <--- +CSTT: "internet.beeline.ru","beeline","beeline" CPU[1517832752] <--- OK CPU[1517832752] ---> AT+CIFSR CPU[1517832752] <--- ERROR CPU[1517832752] <--- CPU[1517832752] ---> AT+CIFSR CPU[1517832752] <--- ERROR CPU[1517832752] <--- CPU[1517832752] ---> AT+CIFSR CPU[1517832752] <--- ERROR CPU[1517832752] <--- CPU[1517832752] ---> AT+CIFSR CPU[1517832752] <--- ERROR
  4. В своё время тоже озадачился поиском удобного терминала, но в итоге написал его сам. Терминал и описание здесь https://alex-exe.ru/programm/universal-terminal-st/ " В ближайшее время выложу там терминал с новыми плюшками
  5. Аналогичная проблема. MODEL: S2D SMT XB24DZ7RIS-004-revA Несколько модулей работают на расстоянии 150-200 метров, часть модулей работают на расстоянии максимум полтора метра. Алгоритм инициализации и антенны одинаковые, настраиваю только PANID и канал для сканирования(ATSC и ATID) . Все остальные параметры по умолчанию. Мощность сигнала 4 на всех модулях. Есть возможность с помощью AT-команд увеличить чувствительность или как-то продиагностировать проблему? Уровень сигнала на столе -88dBi, между работающими нормально модулями -8dBi.
  6. Решил добавить AGPS в трекер, в котором используется модуль SIM68R. Данную тему только начал осваивать, в связи с чем появились вопросы. делаю так: 1. Скачал EPO-файл отсюда ftp://116.247.119.165 2. Записал его в GPS-модуль вот этой утилитой http://simcom.ee/documents/EPO/EPO_User_Guide_V0.1.pdf Под открытым небом оценил время поиска спутников после подачи питания - оно составило 10-15 секунд, модуль из тумбочки без записи данного файла при виде открытого неба нашёл спутники секунд за 15-20. Разница не такая уж существенная. Пробовал в багажнике авто повторить опыт - принципиально ничего не поменялось. Разницу в этих двух опытах заметил только в том, что модуль без альманаха чуть дольше определяет спутники, используемые для расчётов координат. Один человек сказал следующее (дословно): У него используется другой модуль, но ядро то же самое MT3333. По его словам его модуль находит спутники через пару секунд после включения. Какие особенности есть в алгоритме инициализации модуля, в котором записан альманах? Можно ли использовать тот же набор команд для инициализации или нужно добавить команду отправки времени и местоположения? Насколько реально время старта 1-2 секунды? Почему в моём случае нет существенной разницы во времени поиска спутников модулем с записанным EPO-файлом и без него?
  7. Был случай с МТС, когда не отправлялись смски. Всё свелось к тому, что нужно было ставить плюс перед номером. Вместо "79XXYYYZZZZ" вставил "+79XXYYYZZZZ" и жить стало легче.
  8. Не стал развивать данную тему в разговоре о SIM900 На данный момент Bluetooth у меня работает нормально, по профилю SPP 400 Кб передаются за 5-10 минут пакетами по 256 байт. Это нормальная скорость или можно ещё ускорить? Можно работать с Bluetooth во время ожидания подтверждения с сервера об отправке TCP-пакета? (SEND OK)
  9. Мы не ищем лёгких путей. Где можно почитать про баги и исправления? Т.е. поподробнее про это Fixed the bug that UART will be blocked
  10. На данный момент сон не используется, инициализация на скрине
  11. если несколько секунд роли не играют, то можно просто ждать по минуте после каждой команды, чтобы уж наверняка модуль её прожевал и переварил, а с запросами этих статусов инициализация выполняется за полминуты без последующих явных глюков
  12. Обновить удалённо нет возможности, следующая команда отправляется строго после приёма ответа на предыдущую. Карточка не отваливается, т.к. после перезапуска модуля программой прибор успешно выходит на связь с сервером без физического воздействия с моей стороны. Даже если бы отвалилась SIM-карта, то какие-нибудь ответы на команды модуль давал бы. Пока от зависаний помогает способ применения задержки перед отправкой следующей команды после ответа на предыдущую. Хотя с задержками всё же завис, но не через три минуты, а почти через час. Т.е. в обычном режиме таких зависаний должно быть не 3-4 в сутки, а раз в неделю предположительно.
  13. на ноге status единица, версия прошивки на скрине (1418B02SIM800C32_BT). Светодиод статуса связи продолжает моргать без изменения частоты, но при попытке позвонить с телефона на номер симки в модеме оператор говорит, что абонент не в сети.
  14. После ERROR не отвечает ни на одну команду, даже если подождать 30-60 секунд. Только перезапуск помогает. Лог весь на скрине, дальше только безуспешные попытки отправить разные команды, на которые абсолютно никакого ответа нет.
  15. Ситуацию сгустил для наглядности, в реальности так не делаю, но приходится перезапускать модуль 2-3 раза в сутки. Догадываюсь, что модуль зависает именно после ответа ERROR тёмной ночью, когда никто не видит, чем занят МК.
  16. Всем привет. После поиска причины зависания данного модуля удалось добиться повторяемости ситуации. Последовательность такая: 1. Инициализация модуля 2. Активация GPRS, следующие два действия выполняются в цикле: 3. Передача данных на сервер (100-200 байт раз в полминуты) 4. В течение всего оставшегося времени отправка АТ-команд без задержек (запрос статусов, температуры, напряжения питания) Если между АТ-командами запроса статусов делать задержку 200-300 мс, то ничего не зависает, а если без задержек, то после какой-нибудь команды приходит ответ ERROR, после чего отправляю следующую команду и тут модуль уходит в себя, отказываясь совсем отвечать до перезапуска. АТ-команды отправлял по отдельности и все вместе, как на скрине. Эффект один и тот же. Что нужно делать после ответа ERROR, не прибегая к перезапуску? Какую команду отправить? Пнуть модуль можно только программно по UART.
  17. Перерегистрация в сети, отключение и включения радиочастотной части модуля в моём случае оказались примочками. Есть команда AT+CPAS и если результат проверки не 0, то выполняем переинициализацию до победного результата, а там и время прилетит в нужном месте, если оператор его рассылает.
  18. Данный способ работает, если следующую команду послать не раньше и не сильно позже (3-5 секунд) определённого момента. После AT+CFUN=1 я жду сообщения SMS Ready.
  19. была проблема отправки смс с SIM900 при использовании симки МТС. При этом симки других операторов работают без знака "+" перед номером.
  20. Два дня копался с этой проблемой. Оказалось всё просто. AT+CMGS="+7915XXXXXXX" > TEST→ [через 15 секунд] ERROR ...................................................................... AT+CMGS="+7915XXXXXXX" > TEST→ +CMGS: [какое-то число] OK Помогло то, что в начале номера надо было поставить знак "+". Ну и соответственно указать соответствующей AT-командой номер СЦ для смс для подстраховки на случай, если он не приходит автоматически.
  21. Если строго без ослабления сигнала нужно, то тут обычный сумматор на операционнике поможет :)
  22. Если известна максимальная длина команды, то в обработчике прерыввания можно сделать буфер FIFO той же длины и с каждым входящим байтом анализировать именно это окно, а не весь массив. В GSM-модеме в конце каждой команды следует байт 0x0D, по которому обработчик прерывания устанавливает флаг, что принята команда и FIFO буфер нужно скопировать для последующего неспешного анализа, чтобы следующие приходящие байты не помешали. Если крутится операционка, то прерывание по определённому символу выдаёт семафор соответствующей задаче. Как-то так мне это представляется.
  23. не хватило воображения связать EINT3 и порт 2, пришлось гуглить и затем с другими мыслями заглянуть опять в документацию :laughing: Вопчем, разобрался. Спасибо.
  24. http://anhnvnguyen.blogspot.ru/2010/04/lpc...o-basic_05.html Тут есть намёк, что этот обработчик можно применять для обработки прерывания порта. Мои подозрения верны?