NB-IoT. Livraison de données non IP ou simplement NIDD. Test avec un service commercial MTS

Bon après-midi et bonne humeur!



Ceci est un petit tutoriel sur la configuration de NIDD (Non-IP Data Delivery) dans le service cloud MTS avec le nom explicite de "M2M manager". L'essence du NIDD est l'échange économe en énergie de petits paquets de données sur le réseau NB-IoT entre des appareils et un serveur. Si des appareils GSM antérieurs communiquaient avec le serveur, échangeant des paquets TCP / UDP, une méthode de communication supplémentaire - NIDD est devenue disponible pour les appareils NB-IoT. Dans ce cas, le serveur interagit avec le réseau de l'opérateur à l'aide de requêtes POST / GET unifiées. J'écris pour moi (pour ne pas oublier) et pour tous ceux qui le trouveront utile.



Vous pouvez lire sur NB-IoT:



NB-IoT, Internet des objets à bande étroite. Informations générales, caractéristiques de la

technologie NB-IoT, Internet des objets à bande étroite. Modes d'économie d'énergie et commandes de contrôle



Théorie NIDD de MTS



Documentation pour le module NB-IoT utilisé dans le processus de test:

Neoway N21 .



Service MTS pour la gestion des appareils M2M .



Pour ressentir le NIDD, nous avons besoin de:



  • Carte SIM NB-IoT MTS
  • Appareil NB-IoT avec prise en charge NIDD
  • mot de passe et connexion du gestionnaire M2M de MTS


J'ai utilisé la carte N21 DEMO comme appareil , et les employés de MTS m'ont gentiment fourni le mot de passe et le login pour accéder au gestionnaire M2M. Pour cela, ainsi que pour les diverses aides et les nombreuses consultations, merci beaucoup.



Alors, allez dans le gestionnaire M2M et vérifiez que:



  • dans l'élément de menu "SIM-manager" il y a "NB-IoT Control Center";
  • notre carte NB-IoT est apparue dans le "NB-IoT Control Center", ainsi que dans les rubriques:

    NIDD APN

    NIDD NIDD Accounts

    Security
  • tout en bas, il y a un élément de menu "API M2M" avec "Guide du développeur NIDD"


Toute cette économie devrait ressembler à ceci:







S'il manque quelque chose dans le gestionnaire M2M - n'hésitez pas à envoyer une demande à votre gestionnaire dans MTS avec une description détaillée de vos souhaits.



Si les éléments requis du centre de contrôle NB-IoT sont en place, vous pouvez commencer à les remplir. De plus, l'item «Comptes NIDD» est le dernier: il aura besoin des données des sections voisines.



  1. NIDD APN: nous trouvons et remplissons le nom de notre APN et "application ID".
  2. NIDD Security: nous indiquons ici l'adresse IP de notre serveur d'application, qui communiquera avec les appareils NB-IoT via le service MTS (serveur).
  3. Comptes NIDD: remplissez simplement tous les champs et cliquez sur "Enregistrer".


Dès que tous les éléments sont renseignés, vous pouvez commencer à traiter les demandes que notre serveur doit générer. Accédez à l'API M2M et lisez le Guide du développeur NIDD. Pour que l'appareil s'enregistre dans le réseau NB-IoT, vous devez créer une configuration SCS AS:







Le manuel contient une description des paramètres de demande individuels, je ne donnerai que quelques petits commentaires:



  1. lien pour l'envoi des demandes: m2m-manager.mts.ru/scef/v1/3gpp-nidd/v1/ {scsAsId} / configurations, où scsAsId est «ID d'application» de l'élément de menu «NIDD APN»;
  2. méthode d'autorisation de base avec nom d'utilisateur et mot de passe - utilisez le nom d'utilisateur et le mot de passe que vous avez trouvés en remplissant l'élément de menu "Comptes NIDD";
  3. notificationDestination - votre adresse de serveur. À partir de là, vous enverrez des messages non-IP aux périphériques, et le serveur MTS enverra des notifications sur l'envoi et la réception de messages non-IP.


Lorsque la configuration SCS AS est créée et que l'appareil s'est correctement enregistré en mode NIDD dans le réseau NB-IoT de l'opérateur, vous pouvez essayer d'échanger les premiers messages non IP entre le serveur et l'appareil.



Pour transférer un message du serveur vers l'appareil, étudiez la section "2.2 Envoi d'un message" du manuel:







{configurationId} dans le lien de requête - la valeur du type "hex-abracadabra" obtenue au stade de la création de la configuration. A la forme: b00e2485ed27c0011f0a0200.



data - contenu du message en encodage Base64.



Configuration d'un appareil NB-IoT pour qu'il fonctionne dans NIDD



Bien entendu, pour échanger des données avec le serveur, notre appareil doit non seulement pouvoir fonctionner dans le réseau NB-IoT, mais également prendre en charge le mode NIDD (non-ip). Dans le cas de la carte N21 DEMO ou d'un autre appareil basé sur le module N21 NB-IoT, la séquence d'actions pour la transmission de messages non IP est décrite ci-dessous.



Nous activons la configuration avec APN, que nous avons proposée en remplissant l'élément "NIDD APN" du gestionnaire M2M (ici - EFOnidd):



AT + CFGDFTPDN = 5, "EFOnidd"



et demandons à l'appareil de se réenregistrer dans le réseau:



AT + CFUN = 0



AT + CFUN = 1



après cela, nous envoyons la commande



AT + CGACT = 1,1



et envoyons le message "test":



AT + NIPDATA = 1, "test"



Lorsqu'un message non-ip est reçu sur l'UART du module N21, un message non sollicité est émis de la forme:



+ NIPDATA: 1,10,3132333435 // message non-ip reçu '12345'



1 est CID, pdp context

10 est le nombre d'octets de données après la virgule décimale



Le message arrive au serveur en codage Base64 (dans une requête POST).



PS Il est pratique d'utiliser Postman pour simuler le transfert de données depuis le serveur . Tout script qui simule un serveur HTTP peut être utilisé pour recevoir des messages.



J'espère que cela sera utile pour quelqu'un.

Merci.



All Articles