Este tutorial guiará você pelas etapas de conexão e configuração do Sensor de Distância NDDS75 da Dragino com a plataforma IOTA utilizando a conectividade NB-IoT. Vamos abordar desde a configuração inicial do dispositivo até a visualização dos dados na plataforma.
Sensor Dragino NDDS75
Introdução
Bem-vindo ao nosso tutorial sobre como conectar o sensor de detecção de distância NDDS75 da Dragino a uma plataforma de Internet das Coisas (IoT), a plataforma IOTA, utilizando o protocolo MQTT. O NDDS75 é um sensor de distância baseado em tecnologia NB-IoT, projetado para medir a distância entre o sensor e um objeto plano. Utilizando tecnologia de ultrassom para medições precisas e compensação de temperatura interna para maior confiabilidade, o NDDS75 é ideal para uma variedade de aplicações, como medição de distância horizontal, medição de nível de líquidos, gestão de estacionamento, detecção de proximidade de objetos, gestão inteligente de lixeiras, evitação de obstáculos por robôs, controle automático e monitoramento de nível de água em tanques. Você pode adquirir o sensor pelo link da loja da VIMAC Soluções.
A tecnologia NB-IoT (NarrowBand-Internet of Things) é uma tecnologia de área ampla de baixa potência baseada em padrões, desenvolvida para possibilitar uma ampla gama de novos dispositivos e serviços de IoT. O NB-IoT melhora significativamente o consumo de energia dos dispositivos, a capacidade do sistema e a eficiência do espectro, especialmente em coberturas profundas.
Este tutorial irá guiá-lo através do processo de configuração e conexão do NDDS75 à plataforma IOTA via MQTT. O protocolo MQTT (Message Queuing Telemetry Transport) é uma escolha ideal para dispositivos IoT devido à sua leveza e eficiência na comunicação, mesmo em redes instáveis.
Antes de começarmos, é importante verificar se há cobertura NB-IoT na sua área e se a operadora local oferece suporte às bandas que o NDDS75 utiliza. Também será necessário obter um cartão SIM NB-IoT da operadora local e instalar o NDDS75 para estabelecer a conexão com a rede NB-IoT.
Abaixo, apresentamos uma ilustração da rede de comunicação que será estabelecida, destacando os componentes essenciais para uma conexão estável e segura.
Fonte: site Dragino
Vamos começar a transformar seu NDDS75 em uma parte integral e inteligente do seu ecossistema IoT!
Link do manual do fabricante: http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/NDDS75%20NB-IoT%20Distance%20Detect%20Sensor%20User%20Manual/#H4.A0UsingtheATCommands
Antes de começar, certifique-se de ter os seguintes itens para que você consiga seguir todos os passos do tutorial:
NB-IoT Sensor Dragino NDDS75
Um cartão SIM compatível com NB-IoT, com plano de dados ativo (nesse tutorial, utilizamos o chip da Links Field)
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 computador com acesso à Internet
Passo 1: Configuração da Plataforma IOTA
Vamos acessar a plataforma IOTA pelo link https://iota.vimacsolucoes.com.br/ para cadastrar o dispositivo na plataforma. Caso você ainda não tenha se cadastrado na plataforma, clique no botão 'Register' da tela inicial da plataforma para se cadastrar.
Faça seu login na plataforma utilizando suas credenciais cadastradas.
No sidebar da plataforma IOTA, você pode cadastrar um novo dispositivo na opção 'Devices' clicando em '+' (Create Device). Para esse dispositivo, selecione a opção 'Custom MQTT' quando abrir a janela 'Connectors' (como na imagem abaixo). Preencha as informações do dispositivo, como: nome do dispositivo e sua descrição. Clique em 'Create' para finalizar o cadastro do dispositivo.
Após o cadastro, será gerado um "client_id". Você deve guardar esses caracteres para ser usado adiante. Ele pode ser acessado nos detalhes do dispositivo cadastrado (como na imagem seguinte).
Passo 2: Configuração Física do Dispositivo
2.1. Inserção do Cartão SIM:
Nesse passo, vamos abrir o dispositivo e acessar o compartimento do SIM no sensor NB-IoT (conforme demonstrado no vídeo e na imagem abaixo). Será necessário remover o módulo NB-IoT e inserir o cartão SIM no slot apropriado.
Após colocar o SIM no slot, coloque o módulo NB-IoT de volta no local e feche o compartimento com cuidado.
2.2. Conectar o Conversor USB-UART RoboCore:
Para configurar o NDDS75, você precisará utilizar a porta serial para definir o endereço do servidor e o tópico de uplink, determinando onde e como os pacotes serão enviados. O sensor NDDS75 suporta comandos AT, o que significa que você pode usar um adaptador USB para TTL para conectá-lo e realizar a configuração.
Neste tutorial, utilizaremos o Conversor USB-UART da RoboCore. Primeiro, identifique os pinos no conversor USB-UART da RoboCore, que são os pinos TX, RX e GND. Em seguida, conecte os pinos correspondentes do sensor NDDS75 da Dragino ao conversor: o pino TX do conversor ao pino RX do NDDS75, o pino RX do conversor ao pino TX do NDDS75, e o pino GND do conversor ao pino GND do NDDS75.
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.
Utilizando um cabo USB, conecte o conversor ao computador. Com a conexão estabelecida, você estará pronto para enviar comandos AT ao NDDS75 através de um terminal serial no seu computador. Isso permitirá que você configure as definições necessárias, como o endereço do servidor e o tópico de uplink, garantindo que os dados do sensor sejam corretamente enviados para a plataforma IOTA.
Passo 3: Configuração Inicial
3.1. Instalação do Driver USB-UART da RoboCore
Para começar, você precisará baixar e instalar os drivers adequados para o conversor USB-UART da RoboCore. Você pode encontrar os drivers no seguinte https://www.robocore.net/tutoriais/instalacao-driver-da-blackboard#blackboard-uno-v2. Após a instalação, verifique no Gerenciador de Dispositivos (para usuários de Windows) ou na ferramenta equivalente no macOS/Linux se o dispositivo foi reconhecido e se uma porta COM foi atribuída.
3.2. Acesso às Configurações do Dispositivo
Certifique-se de que a chave do NDDS75 esteja na posição FLASH e ligue o dispositivo conectando o jumper. Assim que o NDDS75 for ligado, ele exibirá informações do sistema.
Em seguida, abra o Monitor Serial no Arduino IDE através do menu Ferramentas > Monitor Serial. Configure a taxa de baudrate no Monitor Serial para 9600, que é a taxa especificada pelo dispositivo.
3.3. Parâmetros de Configuração
No Monitor Serial do Arduino IDE, digite a senha '12345678' para acessar a entrada de comandos AT, conforme indicado no manual do sensor.
Você precisará configurar os parâmetros de APN do cartão SIM e outros comandos iniciais. Acesse o dispositivo que você criou na plataforma IOTA e vá para a aba chamada 'MQTT'. Nesta aba, você encontrará os seguintes itens: Topic, ClientID, Username e Password, que serão usados para configurar os comandos AT.
3.4. Conexão e Verificação
Insira os comandos AT abaixo no Monitor Serial do Arduino IDE de acordo com os dados da aba MQTT do 'Device' na plataforma IOTA, conforme acessamos no item anterior.
Para configurar o dispositivo, use os seguintes comandos AT:
1. Definir APN (com o SIM da Links Field): AT+APN=LF.BR
2. Definir Protocolo MQTT para Uplink:
AT+PRO=3
3. Definir Endereço e Porta do Servidor MQTT:
AT+SERVADDR=iota.vimacsolucoes.com.br,1883
4. Configurar o ClientID:
AT+CLIENT=your_client_id
5. Configurar o Username: AT+UNAME=your_username
6. Configurar o Password:
AT+PWD=your_password
7. Configurar o Tópico de Publicação MQTT: AT+PUBTOPIC=your_topic
8. Configurar o Tópico de Subscrição MQTT: AT+SUBTOPIC=your_topic
Certifique-se de substituir `your_client_id`, `your_topic`, `your_username` e `your_password` pelos valores específicos fornecidos pela plataforma IOTA.
Verifique pelo Monitor Serial se foi possível conectar-se à plataforma e enviar os dados. Na aba 'Live Data' do 'Device', você também poderá visualizar se os dados foram recebidos na plataforma IOTA, confirmando que a configuração foi realizada com sucesso.
Passo 4: Visualizando os Dados
4.1. Decodificação dos Dados
Primeiro, vamos decodificar os dados recebidos pelo sensor. Acesse a aba 'PAYLOAD FORMATTER' do seu dispositivo cadastrado na plataforma IOTA. Na opção Formatter Type, selecione CUSTOM JAVASCRIPT MQTT (conforme mostrado na imagem abaixo).
No campo 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
}
}
}
}
Após adicionar o código, clique no botão 'Save Formatter' para salvar as configurações.
4.2. Criando sua Dashboard na plataforma IOTA:
Para visualizar os dados, você precisará criar uma Dashboard na plataforma. Para isso, siga os passos abaixo:
Acesse no sidebar da plataforma a opção 'Dashboard' e clique na opção '+' (Create Dashboard) para criar sua nova Dashboard.
Adicione um widget clicando em '+' (Add Widget) para mostrar os dados do sensor de distância. Selecione as opções na janela 'New Widget' de acordo com os dados que você deseja visualizar.
Exemplo de Dashboard usando o sensor de distância NDDS75 NB-IoT da Dragino:
Para visualizar o nível de uma caixa d'água utilizando o sensor NDDS75:
Configure o widget na janela 'New Widget' na para puxar os dados do sensor recentemente adicionado.
Não se esqueça de clicar em 'Save Dashboard' para salvar sua Dashboard criada e as alterações que forem sendo feitas!
Você pode adicionar quantos Widgets quiser na Dashboard, e esses Widgets podem ser configurados de várias formas diferentes de acordo com suas necessidades. Isso permite personalizar a visualização dos dados de acordo com o que é mais relevante para o seu projeto.
Nesse exemplo, selecionamos o tipo de gráfico a ser visualizado o tipo 'Cylinder', definimos os valores mínimo (0) e máximo (4000) e ativamos a opção 'Percentage' (conforme a imagem abaixo).
Com essas configurações, obtivemos o Widget abaixo:
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
Espero que com esse tutorial você tenha compreendido o processo de configuração e conexão do sensor de detecção de distância NDDS75 da Dragino à plataforma IOTA utilizando o protocolo MQTT. Ao seguir este tutorial, você aprendeu a:
Entender o NDDS75: Compreender as funcionalidades e aplicações do sensor de detecção de distância NDDS75, bem como os benefícios do uso da tecnologia NB-IoT.
Verificar a Cobertura NB-IoT: Garantir que há cobertura NB-IoT em sua área e que a operadora local suporta as bandas necessárias.
Preparar o Dispositivo: Instalar o cartão SIM NB-IoT e configurar o NDDS75 para conexão à rede.
Configurar a Conexão MQTT: Configurar o protocolo MQTT para a transmissão de dados do NDDS75 para a plataforma IoT.
Visualizar os Dados: Acessar e interpretar os dados coletados pelo NDDS75 na plataforma IOTA, permitindo monitoramento e controle eficientes.
Com essas etapas concluídas, você está agora equipado para integrar o NDDS75 em diversos cenários de aplicação, desde a medição de níveis de líquidos até a gestão de estacionamento e monitoramento de águas residuais. O uso do MQTT garante que os dados sejam transmitidos de maneira eficiente e confiável, aproveitando ao máximo os recursos de baixo consumo de energia e alta cobertura do NB-IoT.
Esperamos que este tutorial tenha sido útil e informativo, facilitando a implementação do NDDS75 em seu projeto de IoT. Se você tiver qualquer dúvida ou encontrar algum problema, não hesite em consultar a documentação oficial da Dragino ou nos enviar uma mensagem.
Aproveite as vantagens de ter um dispositivo de alta tecnologia como o NDDS75 integrado à sua rede IoT e continue explorando novas possibilidades e aplicações para melhorar seus sistemas e processos.
Obrigado por seguir este tutorial e boa sorte com seus projetos de IoT!
Comments