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

Boa tarde e bom humor!



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



Você pode ler sobre NB-IoT:



NB-IoT, Internet de banda estreita das coisas. Informações gerais, recursos da

tecnologia NB-IoT, Internet de banda estreita das coisas. Modos de economia de energia e comandos de controle



Teoria NIDD da



Documentação MTS 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 o NIDD, precisamos:



  • Cartão SIM NB-IoT MTS
  • Dispositivo NB-IoT com suporte NIDD
  • senha e login do gerente M2M do MTS


Como um dispositivo, usei a placa N21 DEMO , e os funcionários da MTS gentilmente me forneceram a senha e o login para acessar o gerenciador M2M. Por isso, como também pelas diversas assistências e numerosas consultas, muito obrigado.



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 "NB-IoT Control Center", bem como nas seções:

    NIDD APN

    NIDD NIDD Accounts

    Security
  • na parte inferior há um item de menu "API M2M" com "Guia do desenvolvedor NIDD"


Toda essa economia deve ser mais ou menos assim:







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



Se os itens necessários do NB-IoT Control Center estiverem no lugar, você pode começar a preenchê-los. Além disso, o item "Contas NIDD" é o último: vai precisar de dados de seções vizinhas.



  1. NIDD APN: criamos e preenchemos o nome de nosso APN e "ID do aplicativo".
  2. Segurança NIDD: aqui indicamos o endereço IP do nosso servidor de aplicação, que se comunicará com os dispositivos NB-IoT através do serviço MTS (servidor).
  3. Contas NIDD: basta preencher todos os campos e clicar em "Salvar".


Assim que todos os itens forem preenchidos, você pode começar a lidar com as solicitações que nosso servidor deverá gerar. Vá para API M2M e leia o NIDD Developer's Guide. Para que o dispositivo se registre na rede NB-IoT, você precisa criar uma configuração SCS AS:







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



  1. link para enviar 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 de autorização básico com nome de usuário e senha - use o nome de usuário 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 do SCS AS é criada e o dispositivo foi registrado com êxito 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 transferir uma mensagem do servidor para o dispositivo, estude a seção "2.2 Envio de mensagem" do manual:







{configurationId} no link de solicitação - o valor do tipo "hex-abracadabra" obtido na etapa de criação da configuração. Tem o formato: b00e2485ed27c0011f0a0200.



data - conteúdo da mensagem na codificação Base64.



Configurando um dispositivo NB-IoT para funcionar em NIDD



Claro, 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 (não-ip). No caso da placa N21 DEMO ou outro dispositivo baseado no módulo N21 NB-IoT, a sequência de ações para transmissão de mensagens não-ip é descrita abaixo.



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



AT + CFGDFTPDN = 5, "EFOnidd"



e pedimos ao dispositivo para se registrar novamente na rede:



AT + CFUN = 0



AT + CFUN = 1



em seguida enviamos o comando



AT + CGACT = 1,1



e enviamos a mensagem "teste":



AT + NIPDATA = 1, "teste"



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



+ NIPDATA: 1,10,3132333435 // mensagem não-ip '12345' recebida

onde

1 é CID, contexto pdp

10 é o número de bytes de dados após o ponto decimal



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



PS É conveniente usar o Postman para simular a transferência de dados do servidor . Qualquer script que simule um servidor HTTP pode ser usado para receber mensagens.



Espero que seja útil para alguém.

Obrigado.



All Articles