NB-IoT. Entrega de datos no IP o simplemente NIDD. Pruebas con el servicio comercial MTS

¡Buenas tardes y buen humor!

Este es un pequeño tutorial sobre la configuración de NIDD (entrega de datos no IP) en el servicio en la nube de MTS con el nombre que se explica por sí mismo "Administrador de M2M". La esencia de NIDD es el intercambio eficiente de energía de pequeños paquetes de datos a través de la red NB-IoT entre los dispositivos y el servidor. Si los dispositivos GSM anteriores se comunicaban con el servidor intercambiando paquetes TCP / UDP, entonces estuvo disponible un método de comunicación adicional para los dispositivos NB-IoT: NIDD. En este caso, el servidor interactúa con la red del operador mediante solicitudes POST/GET unificadas. Escribo para mí (para no olvidar) y para todos los que lo encuentren útil.

Puede leer sobre NB-IoT:

NB-IoT, Internet de las Cosas de Banda Estrecha. Información general, características de la tecnología.
NB-IoT, Internet de las Cosas de Banda Estrecha. Modos de ahorro de energía y comandos de control.

Teoría NIDD de MTS

Documentación del módulo NB-IoT que se utilizó en el proceso de prueba:
Neovía N21.

Servicio MTS para gestionar dispositivos M2M.

Para sentir NIDD, necesitamos:

  • Tarjeta SIM NB-IoT MTS
  • Dispositivo NB-IoT habilitado para NIDD
  • Contraseña e inicio de sesión desde M2M-manager MTS

Como dispositivo, usé una placa. DEMO N21, y los empleados de MTS me proporcionaron amablemente la contraseña y el inicio de sesión para acceder al administrador de M2M. Por esto, así como por las diversas ayudas y numerosas consultas, muchas gracias a ellos.

Entonces, vaya al administrador de M2M y verifique que:

  • en el elemento de menú "SIM Manager" hay "NB-IoT Control Center";
  • Nuestra tarjeta NB-IoT apareció en el Centro de control NB-IoT, así como en las secciones:
    NIDDAPN
    Cuentas NIDD
    Seguridad NIDD
  • en la parte inferior hay un elemento de menú "API M2M" con la "Guía del desarrollador NIDD"

Toda la economía debería verse así:

NB-IoT. Entrega de datos no IP o simplemente NIDD. Pruebas con el servicio comercial MTS

Si falta algo en el administrador de M2M, no dude en enviar una solicitud a su administrador en MTS con una descripción detallada de sus deseos.

Si los elementos necesarios del Centro de control NB-IoT están implementados, puede comenzar a completarlos. Además, el elemento "Cuentas NIDD" es lo último: necesitará datos de las secciones vecinas.

  1. NIDDAPN: Creamos y completamos el nombre de nuestro APN y el "ID de aplicación".
  2. Seguridad del NIDD: aquí especificamos la dirección IP de nuestro servidor de aplicaciones, que se comunicará con los dispositivos NB-IoT a través del servicio MTS (servidor).
  3. Cuentas NIDD: Simplemente complete todos los campos y haga clic en "Guardar".

Tan pronto como se completen todos los puntos, podrá comenzar a atender las solicitudes que nuestro servidor debe generar. Vamos a "API M2M" y leemos la "Guía del desarrollador de NIDD". Para que el dispositivo pueda registrarse en la red NB-IoT, debe crear una configuración SCS AS:

NB-IoT. Entrega de datos no IP o simplemente NIDD. Pruebas con el servicio comercial MTS

El manual tiene una descripción de los parámetros de consulta individuales, solo daré un par de pequeños comentarios:

  1. enlace para enviar solicitudes: m2m-manager.mts.ru/scef/v1/3gpp-nidd/v1/{scsAsId}/configurations, donde scsAsId es el "ID de la aplicación" del elemento del menú "NIDD APN";
  2. método de autorización básico con nombre de usuario y contraseña: utilice el nombre de usuario y la contraseña que creó al completar el elemento del menú "Cuentas NIDD";
  3. El destino de la notificación es la dirección de su servidor. Desde él, enviará mensajes sin IP a los dispositivos, y el servidor MTS le enviará notificaciones sobre el envío y la recepción de mensajes sin IP.

Cuando se crea la configuración SCS AS y el dispositivo se ha registrado correctamente en modo NIDD en la red NB-IoT del operador, puede intentar intercambiar los primeros mensajes que no sean IP entre el servidor y el dispositivo.

Para enviar un mensaje desde el servidor al dispositivo, estudie la sección "2.2 Envío de un mensaje" del manual:

NB-IoT. Entrega de datos no IP o simplemente NIDD. Pruebas con el servicio comercial MTS

{ID de configuración} en el enlace de solicitud, un valor del tipo "hex-abracadabra" obtenido en la etapa de creación de la configuración. Parece: b00e2485ed27c0011f0a0200.

datos — contenido del mensaje en codificación Base64.

Configuración de un dispositivo NB-IoT para trabajar en NIDD

Por supuesto, para poder intercambiar datos con el servidor, nuestro dispositivo no solo debe ser capaz de funcionar en la red NB-IoT, sino que también debe ser compatible con el modo NIDD (no IP). En el caso de la placa de desarrollo N21 DEMO u otro dispositivo basado en Módulo NB-IoT N21 la secuencia de acciones para enviar mensajes no IP se describe a continuación.

Activamos la configuración con el APN, que se nos ocurrió al completar el ítem "NIDD APN" del administrador M2M (aquí - EFOnidd):

AT+CFGDFTPDN=5,"EFOnidd"

y solicite al dispositivo que se vuelva a registrar en la red:

EN+CFUN=0

EN+CFUN=1

luego emite el comando

AT+CGACT=1,1

y enviar el mensaje "prueba":

AT+NIPDATA=1, "prueba"

Al recibir un mensaje no IP en la UART del módulo N21, se emite un mensaje no solicitado de la forma:

+NIPDATA:1,10,3132333435 // mensaje no IP recibido '12345'
donde
1 - CID, contexto pdp
10 - número de bytes de datos después del punto decimal

El mensaje llega al servidor en codificación Base64 (en una solicitud POST).

PS Para simular la transferencia de datos desde el servidor, es conveniente utilizar el programa. Cartero. Puedes utilizar cualquier script que imite un servidor HTTP para recibir mensajes.

Espero que le sea útil a alguien.
Gracias.

Fuente: habr.com

Añadir un comentario