Dzień dobry i dobry nastrój!
To jest mały samouczek na temat konfigurowania NIDD (Non-IP Data Delivery) w usłudze chmurowej MTS o oczywistej nazwie „M2M Manager”. Istotą NIDD jest energooszczędna wymiana małych pakietów danych przez sieć NB-IoT pomiędzy urządzeniami a serwerem. Jeśli wcześniejsze urządzenia GSM komunikowały się z serwerem poprzez wymianę pakietów TCP/UDP, to dla urządzeń NB-IoT udostępniona została dodatkowa metoda komunikacji – NIDD. W tym przypadku serwer wchodzi w interakcję z siecią operatora za pomocą ujednoliconych żądań POST/GET. Piszę dla siebie (aby nie zapomnieć) i dla wszystkich, którym się to przyda.
Możesz przeczytać o NB-IoT:
Dokumentacja modułu NB-IoT, który został użyty w procesie testowania:
Aby poczuć NIDD, potrzebujemy:
- Karta SIM NB-IoT MTS
- Urządzenie NB-IoT z obsługą NIDD
- hasło i login z M2M-manager MTS
Jako urządzenia użyłem tablicy DEMO N21, a hasło i login dostępu do menedżera M2M zostały mi uprzejmie przekazane przez pracowników MTS. Za to, jak również za różnorodną pomoc i liczne konsultacje, bardzo im dziękuję.
Przejdź więc do menedżera M2M i sprawdź, czy:
- w pozycji menu „SIM Manager” znajduje się „NB-IoT Control Center”;
- w Centrum Sterowania NB-IoT pojawiła się nasza karta NB-IoT, a także sekcje:
NIDDAPN
Konta NIDD
Bezpieczeństwo NIDD - na samym dole znajduje się pozycja menu "API M2M" z "NIDD Developer's Guide"
Cała gospodarka powinna wyglądać mniej więcej tak:
Jeśli czegoś brakuje w menedżerze M2M, możesz wysłać prośbę do swojego menedżera w MTS ze szczegółowym opisem swoich życzeń.
Jeśli niezbędne elementy Centrum sterowania NB-IoT są na swoim miejscu, możesz przystąpić do ich wypełniania. Co więcej, pozycja „Konta NIDD” jest ostatnią rzeczą: będzie potrzebowała danych z sąsiednich sekcji.
- NIDDAPN: wymyślamy i wpisujemy nazwę naszego APN oraz „Identyfikator aplikacji”.
- Bezpieczeństwo NIDD: tutaj podajemy adres IP naszego serwera aplikacji, który będzie komunikował się z urządzeniami NB-IoT poprzez usługę MTS (serwer).
- Konta NIDD: Wystarczy wypełnić wszystkie pola i kliknąć „Zapisz”.
Gdy tylko wszystkie punkty zostaną wypełnione, możesz zacząć zajmować się żądaniami, które powinien utworzyć nasz serwer. Wchodzimy w „API M2M” i czytamy „NIDD Developer's Guide”. Aby urządzenie mogło zarejestrować się w sieci NB-IoT należy utworzyć konfigurację SCS AS:
W instrukcji jest opis poszczególnych parametrów zapytania, podam tylko kilka drobnych uwag:
- link do wysyłania zapytań: m2m-manager.mts.ru/scef/v1/3gpp-nidd/v1/{scsAsId}/configurations, gdzie scsAsId to „Identyfikator aplikacji” z pozycji menu „NIDD APN”;
- podstawowa metoda autoryzacji z loginem i hasłem - użyj loginu i hasła, które utworzyłeś podczas wypełniania pozycji menu „Konta NIDD”;
- NotificationDestination to adres twojego serwera. Z niego będziesz wysyłać wiadomości inne niż ip do urządzeń, a serwer MTS będzie wysyłał do niego powiadomienia o wysyłaniu i odbieraniu wiadomości innych niż ip.
Po utworzeniu konfiguracji SCS AS i pomyślnym zarejestrowaniu urządzenia w trybie NIDD w sieci NB-IoT operatora, można podjąć próbę wymiany pierwszych komunikatów non-ip między serwerem a urządzeniem.
Aby wysłać wiadomość z serwera do urządzenia, zapoznaj się z rozdziałem „2.2 Wysyłanie wiadomości” w instrukcji:
{identyfikator konfiguracji} w linku żądania wartość typu „hex-abracadabra” uzyskana na etapie tworzenia konfiguracji. Wygląda jak: b00e2485ed27c0011f0a0200.
dane — treść wiadomości w kodowaniu Base64.
Konfigurowanie urządzenia NB-IoT do pracy w NIDD
Oczywiście, aby wymieniać dane z serwerem, nasze urządzenie musi nie tylko móc pracować w sieci NB-IoT, ale także obsługiwać tryb NIDD (non-ip). W przypadku płytki rozwojowej N21 DEMO lub innego urządzenia opartego na
Aktywujemy konfigurację z APN, który wymyśliliśmy podczas wypełniania pozycji „NIDD APN” menedżera M2M (tutaj - EFOnidd):
AT+CFGDFTPDN=5,"EFonidd"
i poproś urządzenie o ponowną rejestrację w sieci:
AT+CFUN=0
AT+CFUN=1
następnie wydaj polecenie
AT+CGACT=1,1
i wyślij wiadomość "test":
AT+NIPDATA=1, "test"
Po odebraniu komunikatu non-ip na UART modułu N21 generowany jest niezamówiony komunikat o postaci:
+NIPDATA:1,10,3132333435 // odebrano wiadomość inną niż IP „12345”
gdzie
1 - CID, kontekst pdp
10 - liczba bajtów danych po przecinku
Wiadomość dociera do serwera w kodowaniu Base64 (w żądaniu POST).
PS Aby symulować przesyłanie danych z serwera, wygodnie jest korzystać z programu
Mam nadzieję, że komuś się to przyda.
Dziękuję.
Źródło: www.habr.com