God ettermiddag og godt humør!
Dette er en liten opplæring om å sette opp NIDD (Non-IP Data Delivery) i MTS skytjeneste med det selvforklarende navnet "M2M Manager". Essensen av NIDD er energieffektiv utveksling av små datapakker over NB-IoT-nettverket mellom enheter og serveren. Hvis tidligere GSM-enheter kommuniserte med serveren ved å utveksle TCP/UDP-pakker, har en ekstra kommunikasjonsmetode blitt tilgjengelig for NB-IoT-enheter - NIDD. I dette tilfellet samhandler serveren med operatørens nettverk ved hjelp av enhetlige POST/GET-forespørsler. Jeg skriver for meg selv (for ikke å glemme) og alle som finner det nyttig.
Du kan lese om NB-IoT:
Dokumentasjon for NB-IoT-modulen som ble brukt under testing:
For å få en følelse av NIDD trenger vi:
- SIM-kort NB-IoT MTS
- NB-IoT-enhet med NIDD-støtte
- passord og innlogging fra M2M manager MTS
Jeg brukte et brett som en enhet N21 DEMO, og passordet og påloggingen for å få tilgang til M2M-sjefen ble gitt meg av MTS-ansatte. For dette, samt for den ulike bistanden og de mange konsultasjonene, takker vi dem veldig.
Så gå til M2M-administratoren og sjekk at:
- i menypunktet "SIM Manager" er det "NB-IoT Control Center";
- Vårt NB-IoT-kort har dukket opp i NB-IoT Control Center, samt følgende seksjoner:
NIDD APN
NIDD-regnskap
NIDD Sikkerhet - helt nederst er det et menyelement "API M2M" med "NIDD Developer Guide"
Det hele skal se omtrent slik ut:
Hvis det mangler noe i M2M-manageren, send gjerne en forespørsel til din leder hos MTS med en detaljert beskrivelse av dine ønsker.
Hvis de nødvendige NB-IoT Control Center-elementene er på plass, kan du begynne å fylle dem ut. Dessuten kommer elementet "NIDD-kontoer" sist: det vil kreve data fra tilstøtende seksjoner.
- NIDD APN: Vi kommer opp med og fyller ut navnet på vår APN og "Application ID".
- NIDD Sikkerhet: her angir vi IP-adressen til vår applikasjonsserver, som vil kommunisere med NB-IoT-enheter gjennom MTS-tjenesten (server).
- NIDD-kontoer: Bare fyll ut alle feltene og klikk "Lagre".
Når alle elementene er fullført, kan du begynne å håndtere forespørslene som serveren vår skal generere. Gå til M2M API og les NIDD Developer's Guide. For at enheten skal registreres i NB-IoT-nettverket, må du opprette en SCS AS-konfigurasjon:
Håndboken inneholder en beskrivelse av individuelle forespørselsparametere, jeg vil bare gi et par små kommentarer:
- lenke for å sende forespørsler: m2m-manager.mts.ru/scef/v1/3gpp-nidd/v1/{scsAsId}/configurations, der scsAsId er "Application ID" fra "NIDD APN" menyelementet;
- grunnleggende autorisasjonsmetode med pålogging og passord - bruk påloggingsnavnet og passordet du opprettet når du fylte ut "NIDD-kontoer" menyelementet;
- notificationDestination - serveradressen din. Fra den vil du sende ikke-ip-meldinger til enheter, og MTS-serveren vil sende varsler om sending og mottak av ikke-ip-meldinger til den.
Når SCS AS-konfigurasjonen er opprettet og enheten er vellykket registrert i NIDD-modus i operatørens NB-IoT-nettverk, kan du prøve å utveksle de første ikke-ip-meldingene mellom serveren og enheten.
For å overføre en melding fra serveren til enheten, les avsnittet "2.2 Sende en melding" i håndboken:
{configurationId} i forespørselslenken - en verdi av typen "hex-abracadabra", oppnådd på stadiet for å lage konfigurasjonen. Ser ut som: b00e2485ed27c0011f0a0200.
dato — meldingsinnhold i Base64-koding.
Konfigurere en NB-IoT-enhet til å fungere i NIDD
Selvfølgelig, for å utveksle data med serveren, må enheten vår ikke bare kunne fungere i NB-IoT-nettverket, men også støtte NIDD (ikke-ip)-modus. I tilfelle av N21 DEMO utviklingskort eller annen enhet basert på
Vi aktiverer konfigurasjonen med APN som vi kom opp med når vi fyller ut "NIDD APN"-elementet i M2M-manageren (her - EFOnidd):
AT+CFGDFTPDN=5,"EFOnidd"
og be enheten om å registrere seg på nytt på nettverket:
AT+CFUN=0
AT+CFUN=1
etter det gir vi kommandoen
AT+CGACT=1,1
og send meldingen "test":
AT+NIPDATA=1, "test"
Når en ikke-ip-melding mottas på UART-en til N21-modulen, utstedes en uønsket melding av skjemaet:
+NIPDATA:1,10,3132333435 // mottok ikke-ip-melding '12345'
der
1 - CID, pdp-kontekst
10 - antall databyte etter desimaltegn
Meldingen kommer til serveren i Base64-koding (i en POST-forespørsel).
PS For å simulere dataoverføring fra en server er det praktisk å bruke programmet
Jeg håper det er nyttig for noen.
Takk.
Kilde: www.habr.com