Меню Закрыть

Neoway m590 at команды все на русском

В этом проекте посмотрим на практический пример отправки http get запроса при помощи любительского GSM-модуля. Активация GPRS модуля и оправка запроса по TCP будет происходить по нажатию на кнопку.

Для чего нам нужны HTTP-запросы через GPRS?

Если вы не в курсе, то ваша жизнь в наше время не мыслима без http запросов. Вы их отсылаете каждый день по многу раз просто заходя на любой сайт со своего браузера и шарясь по разным страничкам.

Так вот, применительно к любительским микроконтроллерным проектам такие запросы тоже могут быть весьма полезными. Представьте, что у нас есть некий сайт в интернете. На этом сайте мы можем создать скрипт на языке PHP, который мы вставим в текстовый файл и назовем x.php. При обращении к этому файлу извне, наш скрипт будет выполнять операции, которые мы в него заложили.

Какие же это могут быть операции: отправка электронного письма (некоторые мобильные операторы позволяют через емейл отправлять sms); запись в текстовом файле на сервере сайта; запись в базе данных на сервере сайта; внесение изменений в запись базы данных; послать сообщение в скайп; принять и сохранить фото.

Возможность отправки емейла может быть интересна для охранной сигнализации и для долгопериодических сообщений от контроллера, например "Полей меня, с любовью твой фикус".

Запись в базе данных на сервере — это самая крутая возможность данной технологии. Таким образом мы можем собирать данные с разных, не привязанных к проводному или wifi интернету, контроллеров и сохранять их для дальнейшего отображения в виде всевозможных графиков и таблиц на сайте.

Сохранение снимков с фотокамеры полезно для охранной сигнализации и для удаленной визуальной оценки ситуации на объекте, вызывающем для нас интерес.

Как работает HTTP-запрос?

HTTP запрос работает очень просто — если отправим нашему серверу в интернете набор информации с предопределённым синтаксисом, то он пришлёт нам в ответ данные, которые мы от него запросили. Например, говорим ему: "сервер с доменом geekmatic.in.ua, пришли нам пожалуйста содержимое веб-странички RF_radio_modul". И он присылает нам гору текстовой информации, которую содержит эта страничка.

Но скачивание в контроллер какой либо веб-странички полностью нам будет интересно только разве что для парсинга данных с чужих сайтов. Таким образом мы можем например собирать данные о прогнозе погоды с погодного сайта и выводить себе на LCD-экранчик.

А самое интересное для нас в HTTP запросе кроется в возможности, при обращении к веб-страничке на нашем сервере, передать ей набор значений для переменных. Синтаксически это выглядит примерно так

Это так называемый запрос "GET". Здесь страничке sensors мы передаем значение переменной sort равное "pd.name" и переменной order равное "ASC". Таким же образом мы можем передать например значение переменной temperatura=32 или vlazhnost=60. Максимальная длина текста такого запроса ограничена настроенной на сервере цифрой — порядка нескольких тысяч символов, но через GPRS лучше передавать GET-запросы по-короче. Данный модуль способен передать 2000 байт. Для длинных запросов и для передачи файлов, в том числе и фотографий, используется POST запрос, который не сильно отличается синтаксисом. В этом проекте мы остановимся пока только на GET запросах через GPRS.

Синтаксис стандартного GET запроса выглядит так

или с передаваемыми данными

В этом проекте мы передадим HTTP GET запрос с обращением к страничке x.php на сервере geekmatic.in.ua. Моя страничка, при обращении к ней, отправит емейл на мой электронный ящик и смс на мобильный (у оператора киевстар можно активировать соответствующую платную возможность принимать емейлы на смс).

Файл x.php содержит следующий скрипт:

При удачном запросе к этому файлу, сервер вернет нам фразу "Запрос принят" и отправит два электронных письма.

Что понадобится для проекта?

Плата контроллера Arduino UNO, а так же источник питания 5 В (я использовал 5 В преобразователя USB 2.0 в TTL UART) и мини кнопка. Если запитать GPRS-модуль от вывода 5 В Arduino UNO, ему не будет хватать мощности и он будет всё время перезагружаться.

Схема подключения GSM GPRS модуля M590 к контроллеру Arduino UNO

Схема подключения показана на следующей картинке. Ваш GPRS модуль может отличаться от используемого в проекте. Поэтому найдите в документации соответсвующие обозначения выводов и соедините их по схеме.

Кнопка подключается без каких либо резисторов, так как мы её дискретный вход подтянем внутренним резистором к плюсу программным способом. Arduino UNO можно питать и от USB-кабеля и тогда провод на вывод 5V не нужен.

Не забываем подключить антенну к модулю NEOWAY M590 и вставить в него симку GSM-оператора. При чем, если вы только-что ее купили, то она требует активации работы и возможно активации GPRS-интернета. Лучше всего её вставить в смартфон, поддерживающий GPRS, и настроить связь с интернетом для этой сим-карты. Теперь её смело можно вставлять в модуль M590 — всё должно работать.

Сам модуль мы не будем все время держать в рабочем состоянии. Для экономии энергии мы его будем включать только при необходимости перед отправкой запроса на сайт.

Как происходит процесс передачи команд модулю от контроллера для организации GET-запроса по GPRS?

Все команды в модуль контроллер будет передавать по программному UART. Для этого мы соединили выводы RX и TX платы Arduino UNO с противоположными выводами TX и RX модуля M590.

GSM модуль управляется предопределённым набором так называемых АТ-команд. Самые простые из них мы упустим здесь из рассмотрения и остановимся на командах, косающихся непосредственно TCP-протокола, который и позволит нам передавать и получать данные по GPRS, используя HTTP GET запросы.

Читайте также:  Подогреватель двигателя 220в старт турбо отзывы

Для начала необходимо подать команду подключения к оператору GPRS по его APN

Дальше подадим команду установки соединения по протоколу PPP

Для проверки получения своего IP от оператора отправим

Дальше пишем IP сайта, который необходимо определить при помощи специальных веб-сервисов в интернете, и номер порта — 80.

Устанавливаем соединение с сервером сайта и присваиваем этому соединению номер 1 (для данного модуля одновременных соединений может быть целых два, под номером 0 или 1). Ещё сюда необходимо ввести длину передаваемого запроса в байтах

Только теперь у нас появляется возможность передать тело самого запроса

Загрузка программы в контроллер

Наша программа должна, по нажатию нами на кнопку, активировать GSM модуль подачей кратковременного сигнала на вход BOOT, подождать инициализации модуля в сети оператора, подать АТ-команды по передаче HTTP-запроса на сайт, подождать ответа от сервера и деактивировать GPRS модуль подачей сигнала на вход BOOT.

Готовый текст программы для Arduino UNO выглядит следующим образом

Загружаем данный скрипт в контроллер с поправкой на свой сайт и IP сервера.

Тестируем отправку GET запроса по GPRS

Подключаем все согласно схеме и нажимаем на кнопку. При этом наблюдаем как мигает светодиод на модеме M590 при его включении.

Если включить Монитор порта Arduino IDE, то можно наблюдать последовательность сообщений от контроллера и иметь представление о происходящем бурном общении между нашими чудо-платами.

При удачном выполнении всех директив контроллера модулем GSM, получим в Мониторе порта ответ от сервера. Если вы просто обратились к какой-нибудь веб-странице в интернете, то получите в ответ весь текст страницы в HTML-формате. Я же в результате получил ответ " Запрос принят " и тут же получил емейл со своего сайта и смс на мобилку. При повторном нажатии на кнопку запрос должен повториться.

Выводы

Я давно хотел научиться пользовать GPRS через GSM модем. Когда все наконец сложилось и получилось, я понял, что не так всё и сложно — просто никто не хочет делиться инфой и публиковать правильный синтаксис в интернете.

На практике HTTP запрос получился такой же надёжной и не менее полезной штукой чем SMS. Сразу в уме возникает множество задумок по применению этой фичи. Хотелось бы собрать GPRS GPS-трекер для автомобиля и собирать данные о его похождениях на веб-страничку.

GPRS при пересылке небольших объемов данных выходит на много дешевле чем SMS. UDP запросам и FTP я пока не вижу действенного применения. Хочется попробовать отослать фото с камеры, используя HTTP POST запрос, но возможно сразу лучше начинать играться с более продвинутыми GSM-модулями, такими как A6C.

Звонки, SMS и GPRS с помощью GSM-модуля Neoway M590

Сегодня поговорим о GSM-модуле Neoway M590. С его помощью можно делать и принимать звонки, посылать и принимать SMS, а также выходить в интернет по GPRS. Цена модуля на AliExpress составляет всего лишь 140 рублей с доставкой в Россию (

2.3$). Для сравнения, ближайшие аналоги в лице модулей SIM800C и SIM800L обойдутся вам в 290 и 460 рублей соответственно.

Пайка и подключение

Модуль продается в виде конструктора из платы и компонентов, которые нужно припаять к этой плате. Собрать модуль не сложно по картинкам, изображающим модуль в собранном виде. Быть может, понадобится еще приложить щупы мультиметра, чтобы понять, какой стороной припаивать светодиод. Если ранее вам не доводилось паять SMD-компоненты, это не сложно. Как это делается, можно посмотреть на YouTube, или прочитать в дополнении в конце заметки Как я спаял свою первую электронную схему.

Что нужно учитывать при подключении:

  1. Для активации модуля контакт K нужно подсоединить к земле, при помощи перемычки, или припаяв;
  2. Модуль питается от 5 В и может потреблять довольно большой ток (200 мА и выше). Поэтому, если запитать его, скажем, от Arduino, он может не работать. Лично я запитал его от лабораторного блока питания;
  3. Модуль использует 3.3-вольтовую логику. Я просто выставил соответствующую перемычку на адаптере с FT232. В общем случае либо вся логика в цепи должна быть 3.3-вольтовой (например, бывают такие модификации Arduino), или же следует использовать преобразователь логических уровней;
  4. Взаимодействие с модулем происходит по UART на скорости 115200 бод. Я использовал screen, и, соответственно, команду screen /dev/ttyUSB0 115200 ;
  5. Модулю нужна полноразмерная SIM-карта, которыми сейчас мало кто пользуется. В вашем телефоне, скорее всего, используется какая-нибудь Nano SIM, или вроде того. Соответственно, понадобится переходник и кусочек двухстороннего скотча. На AliExpress переходник стоит менее 30 рублей (0.5$), в российских интернет-магазинах он обойдется где-то в 250 рублей, в салонах связи — примерно в 500 рублей. В теории можно обойтись без адаптера, положившись на ловкость рук, но с адаптером намного удобнее;

Спаянный и подключенный к компьютеру модуль:

Это что касается подключения. Теперь поговорим об UART-интерфейсе.

Купить модуль neoway m590 можно тут: http://ali.pub/1etjdu

Для подключения модуля к компьютеру нам понадобится:

1. Модулей Neoway m590 на Aliexpress очень много, и все разные, поэтому будьте очень внимательны при заказе, так как на моем модуле, не было распиновки, и было непонятно где на модуле VCC, а где GND. Поэтому прежде чем заказать убедитесь, в наличии распиновки хотя бы на картинке у продавца.

Распиновка именно на мой модуль Neoway m590 GPRS100622:

Извиняюсь за мелкий шрифт на картинке, сам нашел эту распиновку случайно.

2.Важно понимать что модуль Neoway m590 самый дешевый, но и самый “прожерливый” по питанию. В пике своей активности потребление тока может достигать на 2А. Поэтому нужно запастись стабильным мощным питанием или припаять конденсатор в разрыв питания и самого модуля, чтоб просадка была поменьше для источника питания. Как я собственно и сделал в Видео ниже это наглядно видно.

3. Убедитесь что у Вас имеется в комплекте с заказываемым модулем антенна, ну или закажите ее отдельно к модулю. Так-как мой модуль пришел без антенны и он не связывается с оператором без нее.

4. Если все-же, Вам удалось подключиться к модуль через компьютер, то Вам необходимо знать список AT команд, чтобы общаться с модулем по средствам этих команд. Ссылку на файл со всеми АТ командами к модему я оставлю в конце этой статьи. Но Некоторые из этих команд я приведу в статье:

Читайте также:  Где находится завод камаз город
Описание Команда настройки режима “эха”
Формат ATE
Параметр : 0 – выключить; 1 – включить
Ответ OK
Пример ATE0
Описание Команда проверки модели и версии модуля
Формат ati
Пример ati
NEOWAY
M590
REVISION 01.30cOK
МодельВерсия
Описание Команда чтения версии прошивки модуля
Формат at+getvers
Ответ OK
или ERROR
Пример at+getvers
1103_C6C30000_V0130cOK
Версия прошивки
Описание Команда сохранения текущей конфигурации настроек в EEPROM память
Формат AT&W
Параметр :
0 – сохранить настройки в 0-м профиле, параметр 0 можно не указывать;
1 – сохранить настройки в 1-м профиле
Ответ OK
Пример AT&W
Описание Команда настройки скорости порта UART
Формат AT+IPR=
Параметр : 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 бит/сек
Ответ OK или ERROR
Пример AT+IPR=9600
OK
Запрос параметра AT+IPR?
+IPR: 9600OK
Скорость порта равна 9600 бит/сек
Описание Команда проверки статуса модуля
Формат AT+CPAS
Параметр

:
0 – готов к работе
2 – неизвестно
3 – входящий звонок
4 – в режиме соединения
5 – спящий режим

Ответ +CPAS:

OK
(или ERROR)

Пример AT+CPAS
+CPAS: 0OK Модуль готов к работе
Описание Команда проверки регистрации модуля в сети
Формат AT+CREG:
Параметр :
0 – выключить уведомление о регистрации в сети
1 – включить уведомление о регистрации в сети +CREG:
2 – включить уведомление о регистрации в сети и информацию о местоположении :
0 – не зарегистрирован, поиск сети не выполняется
1 – зарегистрирован в домашней сети
2 – регистрация отклонена
3 – не зарегистрирован, выполняется поиск сети
4 – неизвестно
5 – зарегистрирован, зона роуминга
Ответ OK или ERRORAT+CREG: ,
OK
Пример AT+CREG=1
OK
Включить уведомление о регистрации в сети
Запрос параметров AT+CREG?
+CREG: 0,1OK
Зарегистрирован в домашней сети
Описание Команда настройки спящего режима
Формат at+enpwrsave=
Параметр :
0 – спящий режим запрещен;
1 – спящий режим разрешен
Ответ OK или ERROR
Пример at+enpwrsave=1
OK
Примечание Значение параметра не сохраняется после выключения модуля.
Описание Команда выключения модуля
Формат AT+CPWROFF
Ответ OK или ERROR
Пример AT+CPWROFF
OK
Примечание Не следует одновременно подавать команду и оперировать выводом ON/OFF модуля.

Команды управления вызовом:

Описание Команда настройки автоматического определения номера (АОН)
Формат AT+CLIP=
Параметр :
0 – АОН выключен;
1 – АОН включен
Ответ OK
Пример AT+CLIP=1
OK
Сообщение от модуля RING Входящий звонок (АОН отключен)
RING

+CLIP: “79XXXXXXXXX”,145. “”,0

Входящий звонок (АОН включен)

“79XXXXXXXXX” – номер вызывающего телефона
“” – имя абонента

Примечание Сообщение RING повторяется после каждого гудка
Описание Исходящий вызов для установления голосового соединения
Формат ATD+79XXXXXXXXX;
Параметр 79XXXXXXXXX – номер вызываемого телефона
Ответ OK
Пример ATD+79630749105;
OK
Сообщение от модуля CONNECT
BUSY
NO ANSWER
NO CARRIER
Соединение установлено
Занят другим сеансом связи
Нет ответа
Вызов сброшен
Описание Команда разъединения соединений (повесить трубку)
Формат ATH
Параметр :
0 – разъединить все вызовы, параметр 0 можно не указывать;
1 – разъединить исходящий вызов
Ответ OK
Пример ATH
OK

Команды для работы с SMS сообщениями:

Если хотите чтоб отправлялся нормальный текст в сообщениях, нужно выбрать “текстовый формат”

Описание Команда настройки формата SMS сообщений
Формат AT+CMGF=
Параметр : 0 – PDU формат; 1 – текстовый формат
Ответ OK или ERROR
Пример AT+CMGF =1
OK
Примечание Если сообщение отправляется в PDU формате, необходимо установить кодировку UCS2 (при использовании кириллических символов), для текстового формата кодировку GSM, либо UCS2

В PDU формате, текст представлен в виде последовательности шестнадцатеричных чисел.

Для нормальной кодировки английского текста я выбирал “GSM”

Описание Команда выбора кодировки текста
Формат AT+CSCS=
Параметр :
“GSM” – кодировка ASCII
“HEX” – кодировка шестнадцатеричными значениями
“IRA” – международный справочный алфавит
“PCCP437” – кодировка CP437 (IBM PC)
“8859-1” – кодовые страницы семейства ISO 8859
“UCS2” – кодировка Unicode (2 байта на символ)
Ответ OK или ERROR
Пример AT+CSCS=“GSM”
OK
Описание Команда чтения SMS сообщения
Формат AT+CMGR=
Параметр : номер считываемого сообщения
Ответ Для текстового формата (CMGF=1):
+CMGR: , ,,
OK
(или ERROR)Для PDU формата (CMGF=0):
+CMGR: ,, ,

OK
(или ERROR) — статус SMS сообщения:
0 – для PDU формата, REC UNREAD – для текстового формата: входящее непрочитанное сообщение
1 – для PDU формата, REC READ – для текстового формата: входящее прочитанное сообщение
2 – для PDU формата, STO UNSENT – для текстового формата: неотправленное (исходящее) сообщение
3 – для PDU формата, STO SENT – для текстового формата: отправленное сообщение
4 – для PDU формата, ALL – для текстового формата: все сообщения

– информация о SMS и текст сообщения в PDU формате

Пример AT+CMGR=1
+CMGR: “REC READ”,“+79123456789”,“”,“15/11/13,14:39:35+32”
GPS-START2OK Для текстового формата
кодировка ASCII (GSM)
Получено сообщение: GPS-START2 AT+CMGR=1
+CMGR: “REC READ”,“+79123456789”,“”,“15/11/13,14:39:35+32”
004700500053002D005300540041005200540032OK Для текстового формата
кодировка Unicode (UCS2)
Получено сообщение: GPS-START2 AT+CMGR=1
+CMGR: 1,,28
07919730071111F1040B919721436587F90000511131419353020
A47E8B435A506A55419OK Для PDU формата
специальная 7-ми битная
кодировка
Получено сообщение: GPS-START2
Описание Команда отправки SMS сообщения
Формат Для текстового формата (CMGF=1):
AT+CMGS=

Для PDU формата (CMGF=0):
AT+CMGS=

Параметр – номер на который посылается сообщение (в ASCII символах)

– текст сообщения в ASCII символах
– количество байт сообщения в PDU формате

– информация о SMS и текст сообщения в PDU формате

Ответ +CMGS:
OK
(или ERROR) – условный номер, присваиваемый модулем Пример AT+CMGS=“+79123456789”
> Perezvoni mne
+CMGS: 2OK Для текстового формата
Отправка сообщения “Perezvoni mne” AT+CMGS=27
> 07919740030900F001000B919721436587F900080E
041F044004380432043504420021
>
+CMGS: 2OK Для PDU формата
кодировка Unicode (UCS2)
Отправка сообщения “Привет!” AT+CMGS=22
> 07919740030900F001000B919721436587F900000A
47E8B435A506A55419
>
+CMGS: 2OK Для PDU формата
специальная 7-ми битная
кодировка
Отправка сообщения “GPS-START2” Примечание Сначала необходимо отправить команду AT+CMGS=“+79123456789”, затем дождаться приглашения в виде символов “> ” (> и пробел), после чего отправить текст сообщения. Для завершения процесса следует отправить символ (шестнадцатеричное значение 0х1A)

Кириллические символы необходимо отправлять в кодировке Unicode (UCS2), только в формате PDU. Латинские символы можно отправлять в текстовом формате с кодировкой ASCII (GSM), либо в формате PDU с кодировкой Unicode (UCS2), или при помощи специальной 7-ми битной кодировки символами ASCII

Описание Команда удаления SMS сообщений
Формат AT+CMGD= ,
Параметр – порядковый номер удаляемого сообщения, для удаления одного сообщения можно не указывать
Читайте также:  Пружина передней стойки приора цена

:
0 – удалить сообщение с номером
1 – удалить все прочитанные сообщения
2 – удалить все прочитанные и отправленные сообщения
3 – удалить все прочитанные, отправленные и неотправленные сообщения
4 – удалить все сообщения

Ответ OK или ERROR Пример AT+CMGD=1
OK Удалить сообщение с номером 1 AT+CMGD=1,4
OK Удалить все сообщения

Отправить сообщение в текстовом формате достаточно просто, а вот в PDU формате могут возникнуть трудности. В PDU формате SMS сообщение закодировано в виде последовательности шестнадцатеричных чисел, рассмотрим подробнее структуру этого формата:

Структура принятого SMS сообщения в формате PDU.

Обозначение SCA PDU Type OA PID DCS SCTS UDL UD
Длина, байты 1-12 1 2-12 1 1 7 1 0-140

Структура передаваемого SMS сообщения в формате PDU.

Обозначение SCA PDU Type MR DA PID DCS VP UDL UD
Длина, байты 1-12 1 1 2-12 1 1 0,1,7 1 0-140

SCA – номер SMS центра, DA – номер телефона на который отправляем сообщение, OA – номер телефона от которого получено сообщение. Каждое из этих полей состоит из 3-х частей:

SCA Размер поля SCA Тип номера Номер
1 байт 1 байт От 0 до 6 байт
DA, OA Длина номера Тип номер Номер
1 байт 1 байт От 0 до 6 байт

Тип номера представляет собой формат номера, например, международному формату соответствует шестнадцатеричное число 91h.

Номер формируется следующим образом (для примера возьмем +79123456789): если значение количества цифр номера нечетное, то дописываем в конце символ F, затем переставляем местами каждые две цифры, получим в итоге 9721436587F9.

“Размер поля SCA” равно количеству байт, которое занимают номер и его тип, для номера это 6 байт (9721436587F9) + тип 1 байт (91), итого 7 байт (07), в результате поле SCA будет выглядеть следующим образом: 07919721436587F9.

Для полей DA, OA, “длина номера” равна количеству цифр в номере, то есть 11 цифр для номера +79123456789, в шестнадцатеричном представлении получим 0Bh, В результате поля DA, OA будут иметь следующий вид: 0B919721436587F9.

Поле SCA можно не использовать, указав вместо него значение 00h, при этом модуль автоматически возьмет номер SMS центра из СИМ карты.

PDU Type – это байт с настройками сообщения:

Бит Название Назначение
7 RP 0 – путь для ответа не определен;
1 – путь для ответа определен
6 UDHI 0 – поле UD содержит сообщение;
1 – поле UD содержит сообщение и дополнительный заголовок.
5 SRR 0 – статус сообщения не запрашивается;
1 – статус сообщения запрашивается.
4,3 VPF 00 – поле VP отсутствует;
01 – зарезервировано;
10 – поле VP содержит время жизни сообщения в относительном формате;
11 – поле VP содержит время жизни сообщения в абсолютном формате.
2 RD 0 – сервисному центру следует переслать сообщение
получателю, если оно имеет те же значения полей MR и DA, что и предыдущее сообщение;
1 – сервисному центру следует отклонить сообщение, если оно имеет те же значения полей MR и DA, что и предыдущее сообщение.
1,0 MTI 00 – если сообщение принято или подтверждение приема;
01 – если сообщение отправляется или подтверждение отправки;
10 — отчет о доставке или SMS-команда;
11 — зарезервировано.

Для успешной отправки сообщения, поле PDU Type в общем случае может иметь значение 01h (00000001). Поле MTI равно 01, это указывает что сообщение исходящее. Поле VPF равно 00, для упрощения, чтобы исключить поле VP из PDU сообщения. Для принятого сообщения поле MTI, как правило, равно 00.

MR – порядковый номер сообщения, определяется модулем. Для передачи сообщения необходимо установить значение 00h.
PID – идентификатор протокола. Для передачи сообщения необходимо установить значение 00h.

DCS – кодировка текста сообщения:
00h – кодировка 7-бит (символы ASCII, только латинские);
04h – кодировка 8-бит (символы ASCII, только латинские);
08h – кодировка Unicode (UCS2), используется 2 байта на символ;
10h – кодировка 7-бит, сообщение выводится сразу на экран;
14h – кодировка 8-бит, сообщение выводится сразу на экран;
18h – кодировка Unicode (UCS2), сообщение выводится сразу на экран.

Специальная 7-ми битная кодировка представляет собой сжатый вид 8-ми битной кодировки. В ASCII таблице каждый символ занимает 1 байт (8 бит), но латинские символы занимают только 7 бит, самый старший незначащий бит равен нулю. Исходя из этого, придумали метод сжатия данных, в котором этот старший бит тоже используется, то есть биты ASCII символов перераспределяются таким образом, чтобы занять все старшие свободные биты. Для 8-ми битной кодировки в одно SMS сообщение помещается 140 символов, а при 7-ми битной кодировке 160. Для этих кодировок можно использовать только латинские символы, для кириллических символов необходимо использовать кодировку Unicode (справедливо и для латинских символов), где каждый символ кодируется 2-мя байтами, в одно SMS сообщение при этом поместится 70 символов.

VP – время жизни сообщения, необходимо для центра SMS сообщений, по истечении этого времени сообщение удаляется, если оно не получено абонентом. Как было сказано выше, чтобы упростить PDU сообщение, поле VP можно исключить, установив значение VPF равным 00, в поле PDU Type.

SCTS – время получения сообщения SMS центром, может отсутствовать.
UDL – значение длины поля UD в байтах, то есть размер текста сообщения.
UD – текст сообщения.

Рассмотрим пример отправляемого сообщения “Привет” в PDU формате:

Число 27 после названия команды (CMGS) означает, что длина PDU сообщения без учета поля SCA равна 27 байт.

07919740030900F0 – закодированный номер SMS центра (+79043090000);
01 – байт с настройками PDU сообщения (PDU Byte);
00 – порядковый номер сообщения (MR);
0B919721436587F9 – закодированный номер, на который отправляем сообщение (+79123456789);
00 – идентификатор протокола (PID);
08 – кодировка текста сообщения (DCS), кодировка Unicode (UCS2);
0E – длина текстового сообщения (UDL), 14 байт.
041F044004380432043504420021 – текст сообщения (UD), “Привет”.

Как было сказано выше, поле SCA с номером SMS центра можно исключить из PDU сообщения, указав вместо него значение 00, модуль автоматически возьмет номер из СИМ карты.

Ссылка на все AT команды: https://yadi.sk/i/yNTfsitC3Hc2Fv

Видео:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

error: Content is protected !!
Adblock
detector