Команда GSM Telit GL865-QUAD AT, ошибка: 314 (SIM-карта занята) - PullRequest
1 голос
/ 17 января 2020

Я пытаюсь связаться с модулем щелчка GSM (модулем Telit GL865-QUAD) через UART с командой AT. Сначала я хочу прочитать все полученные сообщения, но по какой-то причине я получил ошибка 314 , что означает, что SIM-карта занята. Другие ответы от GSM в порядке.

Итак, это мой конфиг (отправка нескольких команд подряд):

  1. AT\r\n (проверьте GSM)
  2. ATE0\r\n (эхо-отключение)
  3. AT+CMGF=1\r\n (установить текстовый режим SMS)
  4. AT+IPR?\r\n (запросить текущую скорость передачи в бодах)
  5. AT+CMGL=\"ALL\"\r\n (окончательно прочитать все сообщения)

Все команды имеют задержку в 1 секунду после того, как gsm получит положительный (OK) ответ. Например: отправьте AT\r\n, дождитесь OK, а затем подождите 1 секунду; после этой задержки отправьте еще одну AT-команду.

Результат: Я получил хороший ответ от GSM, когда отправил первые 4 AT-команды. Но после пятого модем возвращает ошибку 310 (иногда), за которой следует ошибка 314:

AT+CMGL="ALL"

+CMS ERROR: 310
AT+CMGL="ALL"

+CMS ERROR: 314\r\n

Я попробовал это с 2 различными SIM-картами и получил тот же результат.

Любые идеи или комментарии приветствуются.

Ответы [ 2 ]

2 голосов
/ 17 января 2020

Прежде всего, GE865-QUAD - это старое устройство, поэтому я рекомендую вам обновить его хотя бы до последней версии FW. Вы можете запросить текущую версию FW любого GSM-модема, введя команду AT+CGMR AT.

Редактировать: , поскольку у вас действительно старая версия (10.00.144 от 2009/2010!) Я настоятельно рекомендую обновить его, так как многие ошибки могли быть исправлены с тех пор. Вы сможете получить последнюю версию с сайта Telit и fla sh через UART.


Объяснение ошибок

Похоже, вы получили ошибку 314 предшествует, иногда по ошибке 310.

  1. +CMEE Error: 314 означает SIM занята , как правильно указано темой вашего вопроса
  2. +CMEE Error: 310 означает SIM-карта не установлена ​​


Возможные решения

  1. Прежде всего, убедитесь, что SIM-карта установлена ​​правильно. Он должен быть вставлен до упора. Я полагаю, вы правильно вставили его, но проверка должна быть сделана.

Тогда, поскольку вы заявляете, что

Я пытаюсь с 2 сим-картами и получил тот же результат.

Я предлагаю вам проверить контакты Держатель SIM-карты (поскольку маловероятно, что обе ваши SIM-карты имеют плохие контакты c). На самом деле статус SIM занята , обычно достигаемый, когда SIM-карта действительно читается (например, полная телефонная книга), также может означать, что произошло какое-то непоследовательное действие (также сбой SIM-карты Массаж может быть показан в тех случаях, когда случаи).


Убедитесь, что вы достаточно подождали, пока SIM-карта готова. Фактически, даже если инициализация SIM-карты обычно занимает менее секунды, в некоторых старых моделях SIM-карт может потребоваться более длительное время.

Telit предоставляет команду для запроса состояния SIM-карты: AT # QSS . Как описано в AT guide , оно разрешает нежелательное сообщение для любого изменения статуса SIM-карты. Но он также позволяет с помощью команды чтения асинхронно запрашивать состояние:

AT # QSS?

Чтение отчетов команд включена ли в данный момент незапрошенная индикация #QSS вместе со статусом SIM-карты в формате:

# QSS: режим, статус

mode - уровень детализации #QSS UR C, установленный с AT#QSS=mode. Значение по умолчанию 0; 2 включает максимальный уровень детализации.

status - текущий статус SIM-карты

0 - SIM не вставлен

1 - SIM INSERTED

2 - SIM-карта вставлена ​​и PIN-код разблокирован ( Примечание: доступно, только если mode = 2!)

3 - SIM-карта вставлена ​​и готова (возможен доступ к SMS и телефонной книге) ( Примечание : доступно только в том случае, если mode = 2!)

Поэтому вам придется подождать, пока не будет достигнут статус 3. Я предлагаю выдавать команду чтения каждые 1/2 секунды, пока желаемый статус достигнут. Выполнение команд, связанных с хранением SIM-карты до достижения этого состояния, приведет к ошибке SIM-карты.

Очень важно : поскольку статус = 3 будет отображаться только в режиме = 2, выполните следующую каскадную AT-команду, чтобы выяснить, был ли статус SIM INSERTED и READY фактически получен без включения URC:

AT#QSS=2;#QSS?;#QSS=0

Таким образом, mode = 2 устанавливается непосредственно перед командой чтения, так что поддерживается полный список состояний. Затем режим восстанавливается до значения 0, что исключает появление URC.


Убедитесь, что PIN-код был вставлен!

SIM-карта может быть заблокирована с помощью PIN-кода. Проверьте это, запросив AT+CPIN?. Если ответ +CPIN: SIM Ready, у вас все в порядке. В противном случае, если получен ответ +CPIN: SIM PIN, необходимо ввести PIN-код, введя

AT+CPIN=<PIN>
1 голос
/ 22 января 2020

Я нашел в чем проблема. Для питания GSM не хватило тока. Для GSM необходимо обеспечить 3,3 В и 3 А от блока питания. GSM не потребляет 6,5 Вт энергии, если вы думаете, что для GSM требуется 3 А постоянно. GSM имеют пики тока до 2А, поэтому вам нужно больше усилителей.

...