NB-IoT. Ikke-IP datalevering eller bare NIDD. Test med MTS kommerciel service

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:

NB-IoT, Narrow Band Internet of Things. Generel information, teknologiske funktioner
NB-IoT, Narrow Band Internet of Things. Strømbesparende tilstande og kontrolkommandoer

NIDD teori fra MTS

Dokumentation for NB-IoT-modulet, der blev brugt i testprocessen:
Neoway N21.

MTS-tjeneste til styring af M2M-enheder.

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:

NB-IoT. Ikke-IP datalevering eller bare NIDD. Test med MTS kommerciel service

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.

  1. NIDDAPN: vi kommer med og udfylder navnet på vores APN og "Application ID".
  2. NIDD Sikkerhed: her angiver vi IP-adressen på vores applikationsserver, som vil kommunikere med NB-IoT-enheder gennem MTS-tjenesten (serveren).
  3. 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:

NB-IoT. Ikke-IP datalevering eller bare NIDD. Test med MTS kommerciel service

Manualen har en beskrivelse af de enkelte forespørgselsparametre, jeg vil kun give et par små kommentarer:

  1. 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";
  2. grundlæggende autorisationsmetode med login og adgangskode - brug det login og adgangskode, som du oprettede, da du udfyldte menupunktet "NIDD Konti";
  3. 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:

NB-IoT. Ikke-IP datalevering eller bare NIDD. Test med MTS kommerciel service

{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å NB-IoT-modul N21 rækkefølgen af ​​handlinger for at sende ikke-ip-meddelelser er beskrevet nedenfor.

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 Postman. Du kan bruge ethvert script, der efterligner en HTTP-server til at modtage beskeder.

Jeg håber, det er nyttigt for nogen.
Tak.

Kilde: www.habr.com

Tilføj en kommentar