God eftermiddag og godt humør!
Dette er en lille vejledning om opsætning af NIDD (Non-IP Data Delivery) i MTS cloud-tjenesten med det selvforklarende navn "M2M Manager". Essensen af NIDD er den energieffektive udveksling af små datapakker over NB-IoT-netværket mellem enheder og serveren. Hvis tidligere GSM-enheder kommunikerede med serveren ved at udveksle TCP/UDP-pakker, blev en yderligere kommunikationsmetode tilgængelig for NB-IoT-enheder - NIDD. I dette tilfælde interagerer serveren med operatørens netværk ved hjælp af ensartede POST/GET-anmodninger. Jeg skriver for mig selv (for ikke at glemme) og for alle, der finder det nyttigt.
Du kan læse om NB-IoT:
Dokumentation for NB-IoT-modulet, der blev brugt i testprocessen:
For at føle NIDD har vi brug for:
- SIM-kort NB-IoT MTS
- NIDD-aktiveret NB-IoT-enhed
- adgangskode og login fra M2M-manager MTS
Som en enhed brugte jeg et bræt N21 DEMO, og adgangskoden og login for adgang til M2M-manageren blev venligt givet til mig af MTS-medarbejdere. For dette, såvel som for den forskellige hjælp og talrige konsultationer, mange tak til dem.
Så gå til M2M-manageren og tjek at:
- i menupunktet "SIM Manager" er der "NB-IoT Control Center";
- vores NB-IoT-kort dukkede op i NB-IoT Control Center, samt sektioner:
NIDDAPN
NIDD-regnskaber
NIDD Sikkerhed - helt nederst er der et menupunkt "API M2M" med "NIDD Developer's Guide"
Hele økonomien burde se sådan ud:
Hvis der mangler noget i M2M-manageren, er du velkommen til at sende en forespørgsel til din leder hos MTS med en detaljeret beskrivelse af dine ønsker.
Hvis de nødvendige elementer i NB-IoT Control Center er på plads, kan du begynde at udfylde dem. Desuden er punktet "NIDD-konti" den sidste ting: det skal bruge data fra tilstødende sektioner.
- NIDDAPN: vi kommer med og udfylder navnet på vores APN og "Application ID".
- NIDD Sikkerhed: her angiver vi IP-adressen på vores applikationsserver, som vil kommunikere med NB-IoT-enheder gennem MTS-tjenesten (serveren).
- NIDD konti: Du skal blot udfylde alle felterne og klikke på "Gem".
Så snart alle point er udfyldt, kan du begynde at håndtere de anmodninger, som vores server skal danne. Vi går til "API M2M" og læser "NIDD Developer's Guide". For at enheden skal kunne registreres i NB-IoT-netværket, skal du oprette en SCS AS-konfiguration:
Manualen har en beskrivelse af de enkelte forespørgselsparametre, jeg vil kun give et par små kommentarer:
- link til afsendelse af anmodninger: m2m-manager.mts.ru/scef/v1/3gpp-nidd/v1/{scsAsId}/configurations, hvor scsAsId er "Application ID" fra menupunktet "NIDD APN";
- grundlæggende autorisationsmetode med login og adgangskode - brug det login og adgangskode, som du oprettede, da du udfyldte menupunktet "NIDD Konti";
- notificationDestination er adressen på din server. Fra den sender du ikke-ip-beskeder til enheder, og MTS-serveren sender meddelelser om afsendelse og modtagelse af ikke-ip-beskeder til den.
Når SCS AS-konfigurationen er oprettet, og enheden er registreret i NIDD-tilstand i operatørens NB-IoT-netværk, kan du prøve at udveksle de første ikke-ip-meddelelser mellem serveren og enheden.
For at sende en besked fra serveren til enheden, læs afsnittet "2.2 Afsendelse af en besked" i manualen:
{configurationId} i anmodningslinket, en værdi af typen "hex-gibberish" opnået ved oprettelse af konfigurationen. Ser ud som: b00e2485ed27c0011f0a0200.
data — beskedindhold i Base64-kodning.
Konfiguration af en NB-IoT-enhed til at fungere i NIDD
For at udveksle data med serveren skal vores enhed naturligvis ikke kun kunne fungere i NB-IoT netværket, men også understøtte NIDD (non-ip) mode. I tilfælde af N21 DEMO-udviklingskortet eller anden enhed baseret på
Vi aktiverer konfigurationen med APN, som vi kom frem til, da vi udfyldte "NIDD APN"-elementet for M2M-manageren (her - EFOnidd):
AT+CFGDFTPDN=5,"EFOnidd"
og bed enheden om at registrere sig på netværket igen:
AT+CFUN=0
AT+CFUN=1
afgiv derefter kommandoen
AT+CGACT=1,1
og send beskeden "test":
AT+NIPDATA=1, "test"
Ved modtagelse af en ikke-ip-meddelelse på UART af N21-modulet, udsendes en uopfordret meddelelse af formularen:
+NIPDATA:1,10,3132333435 // modtog ikke-ip besked '12345'
где
1 - CID, pdp kontekst
10 - antal databytes efter decimaltegnet
Meddelelsen ankommer til serveren i Base64-kodning (i en POST-anmodning).
PS For at simulere overførsel af data fra serveren er det praktisk at bruge programmet
Jeg håber, det er nyttigt for nogen.
Tak.
Kilde: www.habr.com