top of page

Conectando o NB-IoT Sensor Dragino NDDS75 à Plataforma IoT

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:




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


©2026 by VIMAC SOLUÇÕES EM TECNOLOGIA E TELECOM LTDA. CNPJ: 45.029.884/0001-45

bottom of page