NB-IoT. Nicht-IP-Datenlieferung oder einfach NIDD. Testen mit dem kommerziellen MTS-Dienst

Guten Tag und gute Laune!

Dies ist ein kleines Tutorial zum Einrichten von NIDD (Non-IP Data Delivery) im MTS-Cloud-Dienst mit dem selbsterklärenden Namen „M2M Manager“. Die Essenz von NIDD ist der energieeffiziente Austausch kleiner Datenpakete über das NB-IoT-Netzwerk zwischen Geräten und dem Server. Kommunizierten frühere GSM-Geräte mit dem Server durch den Austausch von TCP/UDP-Paketen, steht für NB-IoT-Geräte eine zusätzliche Kommunikationsmethode zur Verfügung – NIDD. In diesem Fall interagiert der Server mit dem Netzwerk des Betreibers über einheitliche POST/GET-Anfragen. Ich schreibe für mich selbst (um es nicht zu vergessen) und für alle, die es nützlich finden.

Sie können über NB-IoT lesen:

NB-IoT, Schmalband-Internet der Dinge. Allgemeine Informationen, Technologiemerkmale
NB-IoT, Schmalband-Internet der Dinge. Energiesparmodi und Steuerbefehle

NIDD-Theorie von MTS

Dokumentation zum NB-IoT-Modul, das im Testprozess verwendet wurde:
Neoway N21.

MTS-Dienst zur Verwaltung von M2M-Geräten.

Um NIDD zu spüren, brauchen wir:

  • SIM-Karte NB-IoT MTS
  • NIDD-fähiges NB-IoT-Gerät
  • Passwort und Login vom M2M-Manager MTS

Als Gerät habe ich ein Board verwendet N21-DEMO, und das Passwort und der Login für den Zugang zum M2M-Manager wurden mir freundlicherweise von MTS-Mitarbeitern zur Verfügung gestellt. Dafür sowie für die vielfältige Hilfe und die zahlreichen Beratungen gilt ihnen ein herzlicher Dank.

Gehen Sie also zum M2M-Manager und überprüfen Sie Folgendes:

  • im Menüpunkt „SIM Manager“ gibt es „NB-IoT Control Center“;
  • Unsere NB-IoT-Karte erschien im NB-IoT Control Center sowie in den Abschnitten:
    NIDDAPN
    NIDD-Konten
    NIDD-Sicherheit
  • Ganz unten gibt es einen Menüpunkt „API M2M“ mit dem „NIDD Developer's Guide“

Die gesamte Wirtschaft sollte in etwa so aussehen:

NB-IoT. Nicht-IP-Datenlieferung oder einfach NIDD. Testen mit dem kommerziellen MTS-Dienst

Sollte im M2M-Manager etwas fehlen, können Sie gerne eine Anfrage mit einer detaillierten Beschreibung Ihrer Wünsche an Ihren Vorgesetzten bei MTS richten.

Wenn die notwendigen Elemente des NB-IoT Control Centers vorhanden sind, können Sie mit dem Ausfüllen beginnen. Darüber hinaus ist das Element „NIDD-Konten“ das Letzte: Es werden Daten aus benachbarten Abschnitten benötigt.

  1. NIDDAPN: Wir überlegen uns den Namen unseres APN und die „Anwendungs-ID“ und geben sie ein.
  2. NIDD-Sicherheit: Hier geben wir die IP-Adresse unseres Anwendungsservers an, der über den MTS-Dienst (Server) mit NB-IoT-Geräten kommuniziert.
  3. NIDD-Konten: Füllen Sie einfach alle Felder aus und klicken Sie auf „Speichern“.

Sobald alle Punkte ausgefüllt sind, können Sie mit der Bearbeitung der Anfragen beginnen, die unser Server stellen soll. Wir gehen zu „API M2M“ und lesen den „NIDD Developer's Guide“. Damit sich das Gerät im NB-IoT-Netzwerk registrieren kann, müssen Sie eine SCS AS-Konfiguration erstellen:

NB-IoT. Nicht-IP-Datenlieferung oder einfach NIDD. Testen mit dem kommerziellen MTS-Dienst

Im Handbuch finden Sie eine Beschreibung der einzelnen Abfrageparameter, ich gebe hier nur ein paar kleine Anmerkungen:

  1. Link zum Senden von Anfragen: m2m-manager.mts.ru/scef/v1/3gpp-nidd/v1/{scsAsId}/configurations, wobei scsAsId die „Anwendungs-ID“ aus dem Menüpunkt „NIDD APN“ ist;
  2. grundlegende Autorisierungsmethode mit Login und Passwort – verwenden Sie den Login und das Passwort, die Sie beim Ausfüllen des Menüpunkts „NIDD-Konten“ erstellt haben;
  3. notificationDestination ist die Adresse Ihres Servers. Von dort aus senden Sie Nicht-IP-Nachrichten an Geräte, und der MTS-Server sendet Benachrichtigungen über das Senden und Empfangen von Nicht-IP-Nachrichten an ihn.

Wenn die SCS AS-Konfiguration erstellt ist und sich das Gerät erfolgreich im NIDD-Modus im NB-IoT-Netzwerk des Betreibers registriert hat, können Sie versuchen, die ersten Nicht-IP-Nachrichten zwischen dem Server und dem Gerät auszutauschen.

Um eine Nachricht vom Server an das Gerät zu senden, lesen Sie den Abschnitt „2.2 Senden einer Nachricht“ des Handbuchs:

NB-IoT. Nicht-IP-Datenlieferung oder einfach NIDD. Testen mit dem kommerziellen MTS-Dienst

{configurationId} im Anforderungslink ein Wert vom Typ „Hex-Gibberish“, der in der Konfigurationserstellungsphase erhalten wurde. Sieht aus wie: b00e2485ed27c0011f0a0200.

technische Daten — Nachrichteninhalt in Base64-Kodierung.

Konfigurieren eines NB-IoT-Geräts für den Betrieb in NIDD

Um Daten mit dem Server austauschen zu können, muss unser Gerät natürlich nicht nur im NB-IoT-Netzwerk arbeiten können, sondern auch den NIDD-Modus (Non-IP) unterstützen. Im Fall des N21 DEMO-Entwicklungsboards oder eines anderen darauf basierenden Geräts NB-IoT-Modul N21 Im Folgenden wird die Abfolge der Aktionen zum Senden von Nicht-IP-Nachrichten beschrieben.

Wir aktivieren die Konfiguration mit dem APN, den wir beim Ausfüllen des Punktes „NIDD APN“ des M2M-Managers (hier - EFOnidd) erstellt haben:

AT+CFGDFTPDN=5,"EFOnidd"

und bitten Sie das Gerät, sich erneut im Netzwerk zu registrieren:

AT+CFUN=0

AT+CFUN=1

Geben Sie dann den Befehl aus

AT+CGACT=1,1

und sende die Nachricht „test“:

AT+NIPDATA=1, „test“

Beim Empfang einer Nicht-IP-Nachricht auf dem UART des N21-Moduls wird eine unerwünschte Nachricht der Form ausgegeben:

+NIPDATA:1,10,3132333435 // Nicht-IP-Nachricht „12345“ erhalten
wo
1 – CID, PDP-Kontext
10 – Anzahl der Datenbytes nach dem Dezimalpunkt

Die Nachricht kommt in Base64-Kodierung (in einer POST-Anfrage) beim Server an.

PS Um die Übertragung von Daten vom Server zu simulieren, ist es praktisch, das Programm zu verwenden Postman. Sie können jedes Skript verwenden, das einen HTTP-Server zum Empfangen von Nachrichten imitiert.

Ich hoffe, es ist für jemanden nützlich.
Vielen Dank.

Source: habr.com

Kommentar hinzufügen