[Беспроводные технологии, Интернет вещей, Разработка для интернета вещей, Сотовая связь, Стандарты связи] NB-IoT. Non-IP Data Delivery или просто NIDD. Тестирование с коммерческим сервисом МТС

Автор Сообщение
news_bot ®

Стаж: 6 лет 9 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
01-Окт-2020 17:33

Добрый день и хорошего настроения!
Это небольшой тьюториал по настройке NIDD (Non-IP Data Delivery) в облачном сервисе МТС с говорящим названием «М2М-менеджер». Суть NIDD — в энергоэффективном обмене небольшими пакетами данных по сети NB-IoT между устройствами и сервером. Если раньше GSM-устройства общались с сервером, обмениваясь пакетами TCP/UDP, то для устройств NB-IoT стал доступен дополнительный способ связи — NIDD. При этом сервер взаимодействует с сетью оператора, используя унифицированные POST/GET-запросы. Пишу для себя (чтобы не забыть) и всех, кому это окажется полезным.
Про NB-IoT можно почитать:
NB-IoT, Narrow Band Internet of Things. Общая информация, особенности технологии
NB-IoT, Narrow Band Internet of Things. Режимы энергосбережения и команды управления
Теория NIDD от МТС:
https://habr.com/ru/company/ru_mts/blog/473982/
Документация на модуль NB-IoT, который использовался в процессе тестирования:
Neoway N21
Сервис МТС для управления устройствами М2М:
https://m2m-manager.mts.ru
Чтобы пощупать NIDD, нам потребуется:
  • SIM-карта NB-IoT МТС
  • устройство NB-IoT с поддержкой NIDD
  • пароль и логин от М2М-менеджера МТС

В качестве устройства я использовал плату N21 DEMO, а пароль и логин для доступа к М2М-менеджеру мне любезно предоставили сотрудники МТС. За это, а также за разнообразную помощь и многочисленные консультации большое им спасибо.
Итак, заходим в М2М-менеджер и проверяем, что:
  • в пункте меню «SIM-менеджер» есть «Центр управления NB-IoT»;
  • в «Центре управления NB-IoT» появилась наша карточка NB-IoT, а также разделы:
    NIDD APN
    NIDD Аккаунты
    NIDD Безопасность
  • в самом низу есть пункт меню «API M2M» с «Руководством разработчика NIDD»

Выглядеть всё это хозяйство должно примерно так:

Если чего-то в М2М-менеджере не хватает — смело отправляйте запрос вашему менеджеру в МТС с подробным описанием ваших пожеланий.
Если нужные пункты Центра управления NB-IoT на месте, можно начинать их заполнять. Причем пункт «NIDD Аккаунты» — в последнюю очередь: для него понадобятся данные из соседних разделов.
  • NIDD APN: придумываем и заполняем имя нашего APN и «ID приложения».
  • NIDD Безопасность: здесь указываем IP-адрес нашего сервера приложений, который будет общаться с устройствами NB-IoT через сервис (сервер) МТС.
  • NIDD Аккаунты: просто заполняем все поля и нажимаем «Сохранить».

Как только все пункты заполнены, можно начинать разбираться с запросами, которые должен формировать наш сервер. Идём в «API M2M» и читаем «Руководство разработчика NIDD». Чтобы устройство могло зарегистрироваться в сети NB-IoT, нужно создать SCS AS конфигурацию:

В руководстве есть описание отдельных параметров запроса, я только приведу пару небольших комментариев:
  • ссылка для передачи запросов: m2m-manager.mts.ru/scef/v1/3gpp-nidd/v1/{scsAsId}/configurations, где scsAsId — это «ID приложения» из пункта меню «NIDD APN»;
  • базовый метод авторизации с логином и паролем — используйте логин и пароль, придуманные вами при заполнении пункта меню «NIDD Аккаунты»;
  • notificationDestination — адрес вашего сервера. С него вы будете посылать non-ip-сообщения на устройства, и на него сервер МТС будет посылать уведомления об отправке и получении сообщений non-ip.

Когда конфигурация SCS AS создана, а устройство успешно зарегистрировалось в режиме NIDD в NB-IoT-сети оператора, можно попробовать обменяться первыми сообщениями non-ip между сервером и устройством.
Для передачи сообщения от сервера на устройство изучаем раздел «2.2 Отправка сообщения» руководства:

{configurationId} в ссылке запроса — значение типа «hex-абракадабра», полученное на этапе создания конфигурации. Имеет вид: b00e2485ed27c0011f0a0200.
data — содержимое сообщения в кодировке Base64.
Настройка устройства NB-IoT для работы в NIDD
Конечно, для обмена данными с сервером наше устройство должно не только уметь работать в сети NB-IoT, но и поддерживать режим NIDD (non-ip). В случае отладочной платы N21 DEMO или иного устройства на базе NB-IoT-модуля N21 последовательность действий для передачи non-ip-сообщений описана ниже.
Активируем конфигурацию с APN, который мы придумали при заполнении пункта «NIDD APN» М2М-менеджера (здесь — EFOnidd):
AT+CFGDFTPDN=5,«EFOnidd»
и просим устройство перерегистрироваться в сети:
AT+CFUN=0
AT+CFUN=1
после этого подаем команду
AT+CGACT=1,1
и передаем сообщение «test»:
AT+NIPDATA=1, «test»
При получении non-ip-сообщения на UART модуля N21 выдается незапрашиваемое сообщение вида:
+NIPDATA:1,10,3132333435 // принято non-ip-сообщение '12345'
где
1 — CID, pdp context
10 — количество байт данных после запятой
На сервер сообщение поступает в кодировке Base64 (в POST-запросе).
P. S. Для имитации передачи данных с сервера удобно использовать программу Postman. Для приема сообщений можно использовать любой скрипт, имитирующий HTTP-сервер.
Надеюсь, кому-нибудь пригодится.
Спасибо.
===========
Источник:
habr.com
===========

Похожие новости: Теги для поиска: #_besprovodnye_tehnologii (Беспроводные технологии), #_internet_veschej (Интернет вещей), #_razrabotka_dlja_interneta_veschej (Разработка для интернета вещей), #_sotovaja_svjaz (Сотовая связь), #_standarty_svjazi (Стандарты связи), #_nbiot, #_nonip_data_delivery, #_nidd, #_mts (МТС), #_neoway_n21, #_besprovodnye_tehnologii (
Беспроводные технологии
)
, #_internet_veschej (
Интернет вещей
)
, #_razrabotka_dlja_interneta_veschej (
Разработка для интернета вещей
)
, #_sotovaja_svjaz (
Сотовая связь
)
, #_standarty_svjazi (
Стандарты связи
)
Профиль  ЛС 
Показать сообщения:     

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

Текущее время: 22-Ноя 03:00
Часовой пояс: UTC + 5