Laba diena ir geros nuotaikos!
Tai yra nedidelė pamoka, kaip nustatyti NIDD (Non-IP Data Delivery) MTS debesies tarnyboje su savaime suprantamu pavadinimu „M2M Manager“. NIDD esmė – energiją taupantis keitimasis mažais duomenų paketais NB-IoT tinkle tarp įrenginių ir serverio. Jei anksčiau GSM įrenginiai bendraudavo su serveriu keisdamiesi TCP/UDP paketais, tai NB-IoT įrenginiams atsirado papildomas ryšio būdas – NIDD. Tokiu atveju serveris sąveikauja su operatoriaus tinklu naudodamas vieningas POST/GET užklausas. Rašau sau (kad nepamirščiau) ir visiems kam tai naudinga.
Galite perskaityti apie NB-IoT:
Testavimo metu naudoto NB-IoT modulio dokumentacija:
Norėdami pajusti NIDD, mums reikia:
- SIM kortelė NB-IoT MTS
- NB-IoT įrenginys su NIDD palaikymu
- slaptažodį ir prisijungimą iš M2M tvarkyklės MTS
Kaip prietaisą naudojau lentą N21 DEMO, o slaptažodį ir prisijungimą prie M2M vadybininko man maloniai suteikė MTS darbuotojai. Už tai, taip pat už įvairią pagalbą ir daugybę konsultacijų, esame jiems labai dėkingi.
Taigi, eikite į M2M vadybininką ir patikrinkite, ar:
- meniu elemente „SIM Manager“ yra „NB-IoT valdymo centras“;
- Mūsų NB-IoT kortelė pasirodė NB-IoT valdymo centre, taip pat šiose skiltyse:
NIDD APN
NIDD sąskaitos
NIDD apsauga - pačiame apačioje yra meniu punktas „API M2M“ su „NIDD Developer Guide“
Viskas turėtų atrodyti maždaug taip:
Jei M2M tvarkyklėje kažko trūksta, drąsiai siųskite užklausą savo vadovui MTS su išsamiu pageidavimų aprašymu.
Jei reikiami NB-IoT valdymo centro elementai yra vietoje, galite pradėti juos pildyti. Be to, elementas „NIDD paskyros“ yra paskutinis: jam reikės duomenų iš gretimų skyrių.
- NIDD APN: Mes sugalvojame ir užpildome savo APN pavadinimą ir „Programos ID“.
- NIDD sauga: čia nurodome mūsų taikomųjų programų serverio, kuris susisieks su NB-IoT įrenginiais per MTS paslaugą (serverį), IP adresą.
- NIDD paskyros: Tiesiog užpildykite visus laukus ir spustelėkite „Išsaugoti“.
Atlikę visus elementus, galėsite pradėti tvarkyti užklausas, kurias turėtų generuoti mūsų serveris. Eikite į M2M API ir perskaitykite NIDD kūrėjo vadovą. Kad įrenginys užsiregistruotų NB-IoT tinkle, turite sukurti SCS AS konfigūraciją:
Vadove yra atskirų užklausų parametrų aprašymas, tik pateiksiu keletą nedidelių komentarų:
- nuoroda užklausoms siųsti: m2m-manager.mts.ru/scef/v1/3gpp-nidd/v1/{scsAsId}/configurations, kur scsAsId yra „Application ID“ iš „NIDD APN“ meniu elemento;
- pagrindinis autorizavimo būdas su prisijungimo vardu ir slaptažodžiu - naudokite prisijungimo vardą ir slaptažodį, kuriuos sukūrėte pildydami meniu punktą „NIDD Accounts“;
- NotificationDestination – jūsų serverio adresas. Iš jo į įrenginius siųsite ne ip žinutes, o MTS serveris į jį siųs pranešimus apie ne ip pranešimų siuntimą ir gavimą.
Sukūrus SCS AS konfigūraciją ir įrenginiui sėkmingai užsiregistravus NIDD režimu operatoriaus NB-IoT tinkle, galite pabandyti keistis pirmaisiais ne IP pranešimais tarp serverio ir įrenginio.
Norėdami perkelti pranešimą iš serverio į įrenginį, perskaitykite vadovo skyrių „2.2 Pranešimo siuntimas“:
{configurationId} užklausos nuorodoje - „hex-abrakadabra“ tipo reikšmė, gauta konfigūracijos kūrimo etape. Atrodo taip: b00e2485ed27c0011f0a0200.
duomenys — pranešimų turinys Base64 koduotėje.
NB-IoT įrenginio konfigūravimas, kad jis veiktų NIDD
Žinoma, norint keistis duomenimis su serveriu, mūsų įrenginys turi ne tik veikti NB-IoT tinkle, bet ir palaikyti NIDD (non-ip) režimą. N21 DEMO kūrimo plokštės ar kito įrenginio, pagrįsto
Suaktyviname konfigūraciją naudodami APN, kurią sugalvojome užpildydami „NIDD APN“ elementą M2M tvarkyklėje (čia - EFOnidd):
AT+CFGDFTPDN=5 "EFonidd"
ir paprašykite įrenginio iš naujo užsiregistruoti tinkle:
AT+CFUN=0
AT+CFUN=1
po to išduodame komandą
AT+CGACT=1,1
ir atsiųskite žinutę "testas":
AT+NIPDATA=1, „testas“
Kai N21 modulio UART gaunamas ne IP pranešimas, išsiunčiamas nepageidaujamas formos pranešimas:
+NIPDATA:1,10,3132333435 // gautas ne IP pranešimas '12345'
kur
1 – CID, pdp kontekstas
10 – duomenų baitų skaičius po kablelio
Pranešimas į serverį pasiekia Base64 koduotę (POST užklausa).
PS Norint imituoti duomenų perdavimą iš serverio, patogu naudoti programą
Tikiuosi kam nors pravers.
Ačiū.
Šaltinis: www.habr.com