NB-IoT. Non-IP Data Delivery или просто NIDD. Тестирование с коммерческим сервисом МТС

  • Tutorial
Добрый день и хорошего настроения!

Это небольшой тьюториал по настройке 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 от МТС

Документация на модуль NB-IoT, который использовался в процессе тестирования:
Neoway N21.

Сервис МТС для управления устройствами М2М.

Чтобы пощупать 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 Аккаунты» — в последнюю очередь: для него понадобятся данные из соседних разделов.

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

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



В руководстве есть описание отдельных параметров запроса, я только приведу пару небольших комментариев:

  1. ссылка для передачи запросов: m2m-manager.mts.ru/scef/v1/3gpp-nidd/v1/{scsAsId}/configurations, где scsAsId — это «ID приложения» из пункта меню «NIDD APN»;
  2. базовый метод авторизации с логином и паролем — используйте логин и пароль, придуманные вами при заполнении пункта меню «NIDD Аккаунты»;
  3. 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-сервер.

Надеюсь, кому-нибудь пригодится.
Спасибо.

Средняя зарплата в IT

111 000 ₽/мес.
Средняя зарплата по всем IT-специализациям на основании 7 247 анкет, за 2-ое пол. 2020 года Узнать свою зарплату
AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Подробнее
Реклама

Комментарии 10

    0
    Спасибо за информацию.
    Неделю назад написал менеджеру, что бы сим карту дали.
    В ответ тишина.
    Вы как получили её?

    SIM-карта NB-IoT МТС
      0
      Спасибо. На юр. лицо оформляли. Если хотите, можем попробовать помочь с получением.
      0
      Как с энергопотреблением у Neoway N21 в различных режимах?
        +1
        В режиме PSM измерения показали 3,6 мкА (соответствует даташиту, там указано < 4 мкА).
        По поводу активного режима сейчас поищу картинки, снятые при помощи Atmel Power Debugger…
          0
        0
        Конечно, многое зависит и от внешних условий, но некоторое представление получить можно.
        Использовался Channel B, смотрите на шкалу, которая справа.
          0
          Тут шкала времени растянута побольше:
            0
            Тут идет передача данных.
            Вообще, производитель говорит, что пиковый ток при передаче может достигать 500 мА.
              0

              Самое печальное во всем этом, что ни один оператор не предоставляет тарифы, позволяющие использовать gprs в зонах, где нет nb-iot. По этому подобную технологию нельзя использовать в автосигнализациях/трекерах (ибо большую часть времени машина будет недоступна) с модемами типа sim7000e…

                0
                Бытует мнение, что Cat NB1 не подходит для трекеров из-за отсутствия поддержки мобильности. И что через какое-то время трекеры начнут мигрировать на Cat NB2 или Cat M1. Возможно, к тому времени и тарифы появятся, и цены на модули типа Neoway N27 (Cat NB2/Cat M1/GPRS) упадут…

                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                Самое читаемое