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.
- NIDD APN: criamos e preenchemos o nome de nosso APN e "ID do aplicativo".
- 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).
- 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:
- 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”;
- 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";
- 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.