Conectando o NB-IoT Sensor Dragino NDDS75 à Plataforma IoT
- larissa.melati

- 17 de mai.
- 5 min de leitura
Este tutorial guia você pelas etapas para conectar e configurar o NB-IoT Sensor Dragino NDDS75 para detecção de distância na nossa plataforma IoT. Vamos abordar desde a configuração inicial do dispositivo até a visualização dos dados na plataforma.
1. Requisitos
Antes de começar, certifique-se de ter:
O NB-IoT Sensor Dragino NDDS75.
Um cartão SIM compatível com NB-IoT, com plano de dados ativo.
Um conversor USB-UART da RoboCore.
Fios de conexão (Jumpers).
Arduíno IDE (instalado no computador)
Credenciais de acesso à plataforma IOTA (usuário e senha).
Um dispositivo (computador ou smartphone) com acesso à Internet.
2. Configuração da Plataforma IoT
2.1. Login na Plataforma:
Acesse o portal da plataforma IOTA e faça login com suas credenciais.
2.2. Adicionar Novo Dispositivo:
Navegue até a seção 'Devices'
Clique em '+' (Create Device).
Selecione a opção 'Custom MQTT'
Preencha as informações do dispositivo, como:
Nome do dispositivo: Ex. "Sensor de Distância NB-IoT"
Descrição do dispositivo
Clique em 'Create'
Após, será gerado um "client_id". Você deve guardar esses caracteres para ser usado adiante.
3. Configuração Física do Dispositivo
3.1. Inserção do Cartão SIM:
Abra o compartimento do SIM no NB-IoT Sensor. É necessário retirar o módulo NB-IoT e inserir o cartão SIM no slot adequado, conforme abaixo:
Coloque o módulo NB-IoT no local e feche o compartimento com cuidado.
3.2. Conectar o Conversor USB-UART RoboCore:
É necessário configurar o NDDS75 via porta serial para definir o endereço do servidor/tópico de uplink para definir onde e como fazer o uplink dos pacotes.
O sensor NDDS75 suporta comandos AT, sendo assim, o usuário pode usar um adaptador USB para TTL para conectar ao NDDS75 e usar comandos AT para configurá-lo.
Nesse tutorial, utilizamos o Conversor USB-UART RoboCore.
Identifique os pinos no conversor USB-UART da RoboCore (TX, RX, GND).
Conecte os pinos do NB-IoT Sensor Dragino NDDS75 aos pinos correspondentes do conversor USB-UART usando os fios de conexão:
TX (transmissão) do sensor ao RX (recepção) do conversor.
RX (recepção) do sensor ao TX (transmissão) do conversor.
GND (terra) do sensor ao GND (terra) do conversor.
Em seguida, conecte o conversor USB-UART ao seu computador via porta USB.
4. Configuração Inicial
4.1. Instalação do Driver USB-UART da RoboCore:
Baixe e instale os drivers adequados para o conversor USB-UART da RoboCore, disponível no link https://www.robocore.net/tutoriais/instalacao-dr iver-da-blackboard#blackboard-uno-v2
Após a instalação, verifique em seu Gerenciador de Dispositivos (para Windows) ou ferramenta equivalente (em macOS/Linux) se o dispositivo foi reconhecido e a porta COM foi atribuída.
4.2. Acesso às Configurações do Dispositivo:
Certifique-se de que a chave esteja na posição FLASH e ligue o dispositivo conectando o jumper no NDDS75 (como no vídeo abaixo).
O NDDS75 exibirá informações do sistema assim que for ligado.
Abra o Monitor Serial no Arduino IDE (menu Ferramentas > Monitor Serial).
Configure a taxa de baudrate no Monitor Serial para a especificada pelo dispositivo (9600).
4.3. Parâmetros de Configuração:
No Monitor Serial do Arduino IDE, a senha '12345678' pode ser inserida para acessar a entrada do comando AT (essa é uma senha padrão encontrada no manual do sensor).
Configure os parâmetros de APN do cartão SIM e outros comandos iniciais.
Ao acessar seu Device criado na plataforma IOTA, há uma aba chamada 'MQTT' (como na imagem abaixo) onde há os seguintes itens: Topic, ClientID, Username e Password, que serão utilizados para configurar os comandos AT.
Insira os comandos AT abaixo no Monitor Serial no Arduíno IDE de acordo com seus dados da plataforma IOTA da aba MQTT do Device.
AT+PRO=3 // Definido para usar o protocolo MQTT para uplink
AT+SERVADDR=iota.vimacsolucoes.com.br,1883 // Definir endereço e porta do servidor MQTT
AT+CLIENT= // Coloque seu ClientID gerado na plataforma IOTA ao criar o Device
AT+PUBTOPIC= // Coloque o Topic da aba MQTT ao acessar seu device na IOTA
AT+APN=LF.BR // APN referente ao SIM utilizado (SIM da Links Field)
AT+UNAME= // Coloque seu username da aba MQTT ao acessar seu device na IOTA
AT+SUBTOPIC= // Coloque o topic da aba MQTT ao acessar seu device na IOTA
Verifique pelo Monitor Serial se foi possível se conectar com a plataforma e enviar os dados.
Na aba 'Live Data' do Device também é possível visualizar se os dados foram recebidos na plataforma IOTA.
5. Visualizando os Dados
5.1 Decodificação dos dados:
Na aba 'PAYLOAD FORMATTER' do seu Device, selecione a opção CUSTOM JAVASCRIPT MQTT em Formatter Type (como na imagem abaixo).
Em Formatter Code da aba 'PAYLOAD FORMATTER', adicione o seguinte código:
function decodeUplink(input) {
var payload = input.bytes;
// Extrair os campos da sequência
const deviceId = payload.slice(0, 16);
const versionHex = payload.slice(16, 20);
const batHex = payload.slice(20, 24);
const signalHex = payload.slice(24, 26);
const modHex = payload.slice(26, 28);
const interruptHex = payload.slice(28, 30);
const distanceHex = payload.slice(30, 34);
const timestampHex = payload.slice(34, 42);
const recordedDataHex = payload.slice(42);
// Converter campos HEX para valores úteis
const version = parseInt(versionHex, 16);
const bat = parseInt(batHex, 16) / 1000; // Converter mV para V
const signal = parseInt(signalHex, 16);
const mod = parseInt(modHex, 16);
const interrupt = parseInt(interruptHex, 16);
const distance = parseInt(distanceHex, 16);
const timestamp = parseInt(timestampHex, 16);
const nivel = 3332 - distance;
const nivel_m = nivel/1000;
const nivel_cm = nivel/10;
// const vazao = (34.546 * ((nivel_m - 0.25) ** 1.673)).toFixed(2);
const vazao = (34.546 * Math.pow((nivel_m - 0.25), 1.673)).toFixed(2);
// Converter os dados gravados
const recordedData = [];
for (let i = 0; i < recordedDataHex.length; i += 12) {
const distHex = recordedDataHex.slice(i, i + 4);
const timeHex = recordedDataHex.slice(i + 4, i + 12);
const dist = parseInt(distHex, 16);
const time = parseInt(timeHex, 16);
recordedData.push({ distance: dist, timestamp: time });
}
return {
"data": {
"Device_ID": deviceId,
"Version": version,
"BAT": bat,
"Signal": signal,
"Mod": mod,
"Interrupt": interrupt,
"Distance": distance,
"Nivel": nivel,
"Nivel_m": nivel_m,
"Nivel_cm": nivel_cm,
"Vazao": vazao,
"Timestamp": timestamp,
"RecordedData": recordedData,
"Location": {
"lat":-18.530366,
"lng":-49.234628
}
}
}
}Clique no botão 'Save Formatter'.
5.2. Dashboard:
Acesse o 'Dashboard' da plataforma e clique na opção '+' (Create Dashboard).
Adicione um widget, clicando em '+' (Add Widget) para mostrar os dados do sensor de distância. Selecione as opções de acordo com os dados que você deseja visualizar. Abaixo há um exemplo de como visualizar o nível de uma caixa d'água utilizando o sensor NDDS75.
Exemplo de uma Caixa d'água:
Configure o widget para puxar os dados do sensor recentemente adicionado.
Clique em 'Save Dashborad' para salvar sua Dashboard criada.
Exemplo de dashboard criada pela plataforma IOTA:

Para demais dúvidas, o manual do sensor NDDS75 da Dragino pode ser acessado pelo link http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/NDDS75%20NB-IoT%20Distance%20Detect%20Sensor%20User%20Manual/#H4.A0UsingtheATCommands
Conclusão
Você aprendeu a conectar o NB-IoT Sensor Dragino NDDS75 à nossa plataforma IOTA, configurar e visualizar os dados. Para dúvidas ou suporte adicional, consulte nossos tutoriais ou entre em contato com o nosso suporte.



Comentários