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:
Documentação para o módulo NB-IoT que foi usado no processo de teste:
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:
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.
- NIDDAPN: criamos e preenchemos o nome do nosso APN e o “ID do aplicativo”.
- 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).
- 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:
O manual contém uma descrição dos parâmetros de consulta individuais, darei apenas alguns pequenos comentários:
- 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”;
- 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";
- 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:
{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
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
Espero que seja útil para alguém.
Obrigado.
Fonte: habr.com