NB-IoT. Entrega de dados não IP ou apenas NIDD. Teste com o serviço comercial MTS

Boa tarde e boa disposição!

Este é um pequeno tutorial sobre como configurar NIDD (Non-IP Data Delivery) no serviço de nuvem MTS com o nome auto-explicativo "M2M Manager". A essência do NIDD é a troca eficiente de energia de pequenos pacotes de dados na rede NB-IoT entre os dispositivos e o servidor. Se os dispositivos GSM anteriores se comunicassem com o servidor trocando pacotes TCP / UDP, um método de comunicação adicional ficaria disponível para dispositivos NB-IoT - NIDD. Nesse caso, o servidor interage com a rede da operadora usando solicitações POST/GET unificadas. Estou escrevendo para mim (para não esquecer) e para todos que acharem útil.

Você pode ler sobre NB-IoT:

NB-IoT, Internet das coisas de banda estreita. Informações gerais, recursos de tecnologia
NB-IoT, Internet das coisas de banda estreita. Modos de economia de energia e comandos de controle

Teoria NIDD de MTS

Documentação para o módulo NB-IoT que foi usado no processo de teste:
Neoway N21.

Serviço MTS para gerenciamento de dispositivos M2M.

Para sentir NIDD, precisamos:

  • Cartão SIM NB-IoT MTS
  • Dispositivo NB-IoT habilitado para NIDD
  • senha e login do M2M-manager MTS

Como dispositivo, usei uma placa N21 DEMONSTRAÇÃO, e a senha e login para acesso ao gerenciador M2M me foram gentilmente cedidos pelos funcionários da MTS. Por isso, assim como pelas diversas ajudas e inúmeras consultas, muito obrigado a eles.

Então, vá para o gerenciador M2M e verifique se:

  • no item de menu "SIM Manager" existe "NB-IoT Control Center";
  • nosso cartão NB-IoT apareceu no Centro de Controle NB-IoT, bem como as seções:
    NIDDAPN
    Contas NIDD
    Segurança NIDD
  • na parte inferior, há um item de menu "API M2M" com o "Guia do desenvolvedor NIDD"

Toda a economia deve ser mais ou menos assim:

NB-IoT. Entrega de dados não IP ou apenas NIDD. Teste com o serviço comercial MTS

Se algo estiver faltando no gerenciador M2M, sinta-se à vontade para enviar uma solicitação ao seu gerente da MTS com uma descrição detalhada de seus desejos.

Se os itens necessários do Centro de Controle NB-IoT estiverem em vigor, você pode começar a preenchê-los. Além disso, o item “Contas NIDD” é a última coisa: ele precisará de dados de seções vizinhas.

  1. NIDDAPN: criamos e preenchemos o nome do nosso APN e o “ID do aplicativo”.
  2. Segurança NIDD: aqui especificamos o endereço IP do nosso servidor de aplicativos, que se comunicará com os dispositivos NB-IoT por meio do serviço MTS (servidor).
  3. Contas NIDD: Basta preencher todos os campos e clicar em "Salvar".

Assim que todos os pontos forem preenchidos, você poderá começar a lidar com as solicitações que nosso servidor deve formar. Vamos para "API M2M" e lemos o "Guia do desenvolvedor NIDD". Para que o dispositivo possa se registrar na rede NB-IoT, você precisa criar uma configuração SCS AS:

NB-IoT. Entrega de dados não IP ou apenas NIDD. Teste com o serviço comercial MTS

O manual contém uma descrição dos parâmetros de consulta individuais, darei apenas alguns pequenos comentários:

  1. link para envio de solicitações: m2m-manager.mts.ru/scef/v1/3gpp-nidd/v1/{scsAsId}/configurations, onde scsAsId é o “ID do aplicativo” do item de menu “NIDD APN”;
  2. método básico de autorização com login e senha - use o login e a senha que você criou ao preencher o item de menu "Contas NIDD";
  3. notificationDestination é o endereço do seu servidor. A partir dele, você enviará mensagens não IP para dispositivos, e o servidor MTS enviará notificações sobre o envio e recebimento de mensagens não IP para ele.

Quando a configuração SCS AS é criada e o dispositivo foi registrado com sucesso no modo NIDD na rede NB-IoT da operadora, você pode tentar trocar as primeiras mensagens não-ip entre o servidor e o dispositivo.

Para enviar uma mensagem do servidor para o dispositivo, estude a seção "2.2 Enviando uma mensagem" do manual:

NB-IoT. Entrega de dados não IP ou apenas NIDD. Teste com o serviço comercial MTS

{configuraçãoId} no link de requisição, um valor do tipo "hex-abracadabra" obtido na etapa de criação da configuração. Parece: b00e2485ed27c0011f0a0200.

dados, — conteúdo da mensagem na codificação Base64.

Configurando um dispositivo NB-IoT para funcionar em NIDD

Obviamente, para trocar dados com o servidor, nosso dispositivo não deve apenas ser capaz de funcionar na rede NB-IoT, mas também suportar o modo NIDD (non-ip). No caso da placa de desenvolvimento N21 DEMO ou outro dispositivo baseado em Módulo NB-IoT N21 a sequência de ações para enviar mensagens não-ip é descrita abaixo.

Ativamos a configuração com o APN, que criamos ao preencher o item "NIDD APN" do gerenciador M2M (aqui - EFOnidd):

AT+CFGDFTPDN=5,"EFOnidd"

e peça ao dispositivo para se registrar novamente na rede:

AT+CFUN=0

AT+CFUN=1

em seguida, emita o comando

AT+CGACT=1,1

e envie a mensagem "teste":

AT+NIPDATA=1, "teste"

Ao receber uma mensagem não ip na UART do módulo N21, é emitida uma mensagem não solicitada no formato:

+NIPDADOS:1,10,3132333435 // mensagem não-ip recebida '12345'
onde
1 - CID, contexto pdp
10 - número de bytes de dados após o ponto decimal

A mensagem chega ao servidor na codificação Base64 (em uma solicitação POST).

PS Para simular a transferência de dados do servidor, é conveniente utilizar o programa Postman. Você pode usar qualquer script que imite um servidor HTTP para receber mensagens.

Espero que seja útil para alguém.
Obrigado.

Fonte: habr.com

Adicionar um comentário