NB-IoT. Non-IP Data Delivery ці проста NIDD. Тэставанне з камерцыйным сэрвісам МТС

Добры дзень і добрага настрою!

Гэта невялікі цьютарыял па наладзе 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"

Выглядаць усю гэтую гаспадарку павінна прыкладна так:

NB-IoT. Non-IP Data Delivery ці проста NIDD. Тэставанне з камерцыйным сэрвісам МТС

Калі чагосьці ў М2М-мэнэджары не хапае — смела дасылайце запыт вашаму мэнэджару ў МТС з падрабязным апісаннем вашых пажаданняў.

Калі патрэбныя пункты Цэнтра кіравання NB-IoT на месцы, можна пачынаць іх запаўняць. Прычым пункт "NIDD Акаўнты" - у апошнюю чаргу: для яго спатрэбяцца дадзеныя з суседніх раздзелаў.

  1. NIDD APN: прыдумляем і запаўняем імя нашага APN і "ID прыкладання".
  2. NIDD Бяспека: тут паказваем IP-адрас нашага сервера дадаткаў, які будзе мець зносіны з прыладамі NB-IoT праз сэрвіс (сервер) МТС.
  3. NIDD Акаўнты: проста запаўняем усе палі і націскаем "Захаваць".

Як толькі ўсе пункты запоўненыя, можна пачынаць разбірацца з запытамі, якія павінен фармаваць наш сервер. Ідзем у "API M2M" і чытаем "Кіраўніцтва распрацоўніка NIDD". Каб прылада магла зарэгістравацца ў сетцы NB-IoT, трэба стварыць SCS AS канфігурацыю:

NB-IoT. Non-IP Data Delivery ці проста NIDD. Тэставанне з камерцыйным сэрвісам МТС

У кіраўніцтве ёсць апісанне асобных параметраў запыту, я толькі прывяду пару невялікіх каментароў:

  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 Адпраўка паведамлення» кіраўніцтва:

NB-IoT. Non-IP Data Delivery ці проста NIDD. Тэставанне з камерцыйным сэрвісам МТС

{configurationId} у спасылцы запыту - значэнне тыпу "hex-абракадабра", атрыманае на этапе стварэння канфігурацыі. Мае выгляд: b00e2485ed27c0011f0a0200.

gegevens - Змест паведамлення ў кадоўцы 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-запыце).

PS Для імітацыі перадачы дадзеных з сервера зручна выкарыстоўваць праграму Паштальён. Для прыёму паведамленняў можна выкарыстоўваць любы скрыпт, які імітуе HTTP-сервер.

Спадзяюся, каму-небудзь спатрэбіцца.
Дзякуй.

Крыніца: habr.com

Дадаць каментар