Отправка и приём SMS на GSM модуле Neoway M660

Всем привет. Когда-то писал про подключение GSM-модуля Neoway M660 и сейчас расскажу про то, как с его помощью можно отправлять и принимать SMS. Модули Neoway имеют встроенный TCP/IP-стек, небольшие размеры и широкие возможности мониторинга сети. И главными отличительными особенностями их являются: простота и удобство использования, низкая цена. В настоящее время серийно производятся и доступны такие блоки: GPRS-модули M660, M680, GM650 и 3G-модуль WM620.

Передача SMS

Сразу замечу, что команды должны оканчиваться символом возврата каретки, который часто обозначают <CR> и которому соответствует байт 0x0D. Чтобы это подчеркнуть, буду добавлять <CR> там, где этот символ должен быть.

В текстовом режиме получится отправить только английские буквы, цифры, некоторые символы.

Последовательность команд для передачи SMS в текстовом режиме:

1) включаем текстовый режим (по умолчанию у Neoway M660 установлен режим PDU!):

AT+CMGF=1<CR> // Text mode

2) вводим номер телефона и текст SMS:

AT+CMGS="89210000000"<CR> // вводим номер телефона
> // если всё правильно, модуль должен выдать приглашение — символ ">"
Hello!<0x1A> // нужно, чтобы сообщение заканчивалось байтом 0x1A

Прием SMS

Есть несколько настроек, от которых зависит прием SMS модулем M660. Основные настройки и их очень приблизительное описание:

  1. AT+CNMI — как сохранять и выдавать на UART принятые SMS, как поступать, если память переполнена;
  2. AT+CMGF — использовать текстовый или PDU режим;
  3. AT+CSCS — какую кодировку использовать в текстовом режиме.

Самые простые для приема SMS настройки, которые я использовал:

  • AT+CNMI=2,2,0,0,0<CR> // SMS выдается на UART после приема;
  • AT+CMGF=1<CR> // текстовый режим SMS;
  • AT+CSCS="GSM"<CR> // использовать кодировку GSM.

При этих настройках и номер телефона, и английские буквы сообщения (если сообщение не содержит русских символов) будут отображаться в текстовом виде, что очень удобно. Пример сообщения, которое выдается на UART при приеме SMS "Hello!" и отправлено с номера +7-921-000-00-00:

+CMT: "+79210000000", ,"2021/04/24 15:28:00+12"
Hello!

Если SMS будет содержать русские буквы, то получим текстовую строку в юникоде, которую потом нужно будет декодировать. Например, что-то такое:

+CMT: "+79210000000", ,"2021/04/24 15:42:11+12"
044504300445043004450430

Если нужно проверить, какие настройки используются, используйте команды со знаком вопроса на конце:

AT+CNMI?<CR>
AT+CMGF?<CR>
AT+CSCS?<CR>

А здесь описание и схема подключения самого GSM-модуля Neoway M660.

Оцените материал:

0 / 5. Рейтинг: 0

Может подскажете что улучшить?