2016-04-16 2 views
1

Я использую модуль SIMCOM GSM для приема входящих сообщений. Когда я отправить SMS с мобильного телефона я вижу мой нормальный номер:Декодировать входящие SMS-номера

+CMT: "+38", ... 

Но когда SMS приходит от моего сотового оператора, или какой-либо имени службы SMS в Google я вижу somу мусор, как здесь от Google:

+CMT: "16p6p6w237562767963656", ... 

еще один:

+CMT: "w49511#495946535451425", ... 

и больше:

+CMT: "#497966737471627", ... 

В соответствии с документацией модуля этот параметр называется <oa> и означает GSM 03.40 Поле строки-адрес-значение поля-получателя TP-Originating-Address. Можно ли декодировать его на любом языке программирования, например. от python? Что это может быть? Если я переключусь на UCS2 и декодирование из него абсолютно одинаково.

ответ

1

Вы уверены, что ваш модуль настроен на текстовый формат (AT + CMGF = 1) при получении этих SMS-сообщений? Если вы выключили свой модуль и снова включили его, то он, вероятно, настроен на режим «PDU», который больше подходит для компьютеров, чем людей.

Подробнее см. Руководство для SIMCOM AT, очень обширное (380 страниц pdf) ,

+0

Да, я уверен, я настраиваю его при загрузке, а также режим PDU имеет другую структуру команд AT. Возможно, это проблема с текстовым режимом поставщика – user3479125

+1

Возможно: http://soft.laogu.com/download/sms_pdu-mode.pdf – RickJansen

Смежные вопросы