Este tutorial guiará você pelas etapas de conexão e configuração do Sensor de Fluxo SW3L-NB-006 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 SW3L-NB. Fonte: site Dragino
Introdução
Bem-vindo ao nosso tutorial sobre como conectar o sensor de Fluxo SW3L-NB da Dragino a uma plataforma de Internet das Coisas (IoT), a plataforma IOTA, utilizando o protocolo MQTT.
Neste tutorial, vamos explorar o processo de conexão do sensor SW3L-NB, um sensor de fluxo de água que utiliza a tecnologia NB-IoT (Narrowband IoT), à plataforma de IoT IOTA. Projetado para monitorar o volume de fluxo de água em edifícios, o SW3L-NB é capaz de detectar e relatar o uso de água a cada 20 minutos, além de enviar alarmes em caso de anomalias, como vazamentos ou falhas em instalações sanitárias.
O SW3L-NB é adequado para uma variedade de aplicações, incluindo controle de fluxo de água, monitoramento de água em banheiros e vigilância de efluentes, tornando-o uma solução versátil para gestão de recursos hídricos. Com uma estrutura resistente às intempéries e uma bateria de longa duração, o SW3L-NB é ideal tanto para aplicações internas quanto externas. Ele oferece suporte a múltiplos métodos de uplink, como MQTT e TCP, permitindo sua integração com diversos servidores IoT. Além disso, o sensor facilita a configuração via BLE e permite atualizações OTA (Over-The-Air), simplificando seu uso e manutenção.
Ao longo deste tutorial, você aprenderá como configurar e conectar o SW3L-NB à plataforma IOTA, aproveitando suas funcionalidades avançadas para otimizar o monitoramento de fluxos de água e melhorar a eficiência no uso de recursos hídricos.
.
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 SW3L-NB à 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 SW3L-NB utiliza. Também será necessário obter um cartão SIM NB-IoT da operadora local e instalar o SW3L-NB 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
Já na imagem a seguir, há um esquema explicando os componentes do sensor de fluxo SW3L-NB.
Fonte: site Dragino
Modos de Operação
O sensor SW3L-NB opera em dois modos principais:
Modo de Deep Sleep: Neste modo, o sensor não ativa a conexão NB-IoT, economizando energia. Este modo é utilizado principalmente durante o armazenamento e transporte para preservar a bateria.
Modo de Trabalho: No modo de trabalho, o sensor se conecta à rede NB-IoT e envia dados periodicamente ao servidor. Entre os ciclos de amostragem, transmissão e recepção, o sensor entra em um estado de IDLE, onde o consumo de energia é equivalente ao do modo de Deep Sleep, garantindo eficiência energética.
O sensor SW3L-NB possui diferentes comportamentos baseados na duração e frequência da pressão no botão ACT. Aqui estão as funções e ações associadas a cada interação:
Pressão entre 1 e 3 segundos:
Função: Enviar um pacote de uplink.
Ação: Se o sensor já estiver conectado à rede NB-IoT, ele enviará um pacote de uplink e o LED azul piscará uma vez. Simultaneamente, o módulo BLE será ativado, permitindo que o usuário configure o dispositivo via BLE.
Pressão por mais de 3 segundos:
Função: Ativar o dispositivo.
Ação: O LED verde piscará rapidamente 5 vezes, indicando que o dispositivo entrou no modo OTA por 3 segundos. Em seguida, o sensor tentará se conectar à rede NB-IoT. Após a conexão bem-sucedida, o LED verde permanecerá aceso por 5 segundos. Uma vez ativado, o módulo BLE ficará disponível para configuração, independentemente de o sensor estar ou não conectado à rede NB-IoT.
Pressionar rapidamente 5 vezes:
Função: Desativar o dispositivo.
Ação: O LED vermelho ficará aceso por 5 segundos, indicando que o dispositivo entrou no modo de Deep Sleep.
Vamos começar a transformar seu SW3L-NB em uma parte integral e inteligente do seu ecossistema IoT!
Link do manual do fabricante:
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 SW3L-NB
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 nas imagens abaixo). Será necessário remover o módulo NB-IoT (segunda imagem a seguir) e inserir o cartão SIM no slot apropriado (terceira imagem a seguir).
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 SW3L-NB, 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 SW3L-NB 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 SW3L-NB da Dragino ao conversor: o pino TX do conversor ao pino RX do SW3L-NB, o pino RX do conversor ao pino TX do SW3L-NB e o pino GND do conversor ao pino GND do SW3L-NB, assim como mostrado nas imagens abaixo.
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 SW3L-NB 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 SW3L-NB esteja na posição FLASH e ligue o dispositivo conectando o jumper. Assim que o SW3L-NB 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 do dispositivo para acessar a entrada de comandos AT, conforme indicado no manual do sensor.
Essa senha corresponde ao número AT PIN presente na parte interna da tampa da caixa que veio o dispositivo.
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' (como na imagem abaixo). Nesta aba, você encontrará os seguintes itens: Host/Port, 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 e Uplink no formato JSON:
AT+PRO=3,5
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
9. Configurar 2 bandas de comunicação (3,28 - que são as bandas da VIVO no Brasil para NB-IoT):
AT+QBAND=2,3,28
Certifique-se de substituir `your_client_id`, `your_topic`, `your_username` e `your_password` pelos valores específicos fornecidos pela plataforma IOTA (que foram obtidos no passo 3.3 desse tutorial).
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.
Observação:
Para acessar todas as informações do dispositivo, basta colocar o seguinte comando AT: AT+CFG
Por padrão, o dispositivo buscará a rede por 5 minutos. O usuário pode configurar esse tempo para 10 minutos, permitindo uma busca mais longa, utilizando o seguinte comando: AT+CSQTIME=10
O dispositivo pode ser configurado utilizando o Bluetooth pelo aplicativo BLESerial tiny que pode ser baixado no seu smartphone. Nesse caso, não é necessário utilizar o UART e nem o software Arduíno IDE. Abaixo, está os passos para conectar o dispositivo nesse aplicativo.
3.5. Configurando o dispositivo utilizando o aplicativo BLESerial tiny
Na sua App Store, baixe o aplicativo BLESerial tiny
Abra o aplicativo e clique em 'Connect' no canto superior esquerdo. Certifique-se de que o dispositivo está em modo de trabalho (e não em Deep Sleep). Caso ele esteja em Deep Sleep, aperte o botão ACT por 3 segundos e o led verde irá acender.
Ao encontrar o seu dispositivo, clique em 'Connect' que aparece na frente do número do IMEI do seu dispositivo.
Coloque a senha do dispositivo (AT PIN que está na tampa da caixa do dispositivo).
Adicione os comandos AT como os comandos do passo 3.4 desse tutorial.
Passo 4: Visualizando os Dados
4.1. 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.
4.2. Exemplo de Dashboard usando o sensor de distância SW3L-NB da Dragino:
Para visualizar o consumo de água utilizando o sensor SW3L-NB:
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.
Selecione o Device cadastrado ao abrir a janela 'New Widget'.
Nesse exemplo, utilizamos as seguites configurações para o primeiro Widget: tipo de gráfico 'Indicator' e variável 'payload_json.pulse' (conforme a imagem abaixo).
Obtivemos os Widgets abaixo:
Observação:
Você pode criar sua Dashboard utilizando a função Template da plataforma. Para isso, basta acessar suas Dashboards no sidebar da plataforma IOTA e clicar na opção 'Templates' em azul (como na imagem abaixo) da Dashboard que você deseja configurar.
Ao abrir a nova janela, aperte as teclas 'Ctrl' + 'A' para selecionar tudo que está no quadro 'Template' e apague o que foi selecionado. Cole o seguinte código no quadro 'Template':
{
"refresh": {
"rate": "15m",
"ms": 900000
},
"grid": {
"cellHeight": 100,
"margin": 5,
"handle": ".widget-card-header",
"draggable": {
"handle": ".widget-card-header"
},
"children": [
{
"x": 0,
"y": 0,
"w": 2,
"h": 4,
"id": 6
},
{
"x": 2,
"y": 0,
"w": 3,
"h": 4,
"id": 5
},
{
"x": 5,
"y": 0,
"w": 7,
"h": 4,
"id": 4
},
{
"x": 0,
"y": 4,
"w": 3,
"h": 4,
"id": 7
},
{
"x": 3,
"y": 4,
"w": 2,
"h": 4,
"id": 8
},
{
"x": 5,
"y": 4,
"w": 7,
"h": 4,
"id": 3
}
]
},
"time": {
"from": "now-1y",
"to": "now",
"label": "Last 1 year"
},
"widgets": [
{
"id": 6,
"query": {
"id": 6,
"url": "/api/v2/telemetry/",
"data": {
"client_id": "0a66b08c-5c3d-43e3-aec7-7c64bd1742c5",
"network": 1,
"variable": "payload_decoded.Distance",
"date_gte": "now-1y",
"date_lte": "now",
"aggregation": "auto",
"operation": "auto",
"calculate": "none"
}
},
"type": "cylinder",
"layout": {
"titles": "Widget Title",
"xAxes": [
{
"type": "CategoryAxis",
"dataFields": {
"category": "category"
},
"renderer": {
"grid": {
"template": {
"location": 0,
"strokeOpacity": 0
}
}
}
}
],
"yAxes": [
{
"type": "ValueAxis",
"strictMinMax": true,
"renderer": {
"grid": {
"template": {
"location": 0,
"strokeOpacity": 0
}
},
"baseGrid": {
"disabled": true
}
},
"min": 0,
"max": 4000
}
],
"series": [
{
"type": "ConeSeries",
"name": "series1",
"dataFields": {
"valueY": "value1",
"categoryX": "category"
},
"width": {
"_value": 80
},
"fillOpacity": 0.9,
"strokeOpacity": 1,
"strokeWidth": 2
},
{
"type": "ConeSeries",
"name": "series2",
"dataFields": {
"valueY": "value2",
"categoryX": "category"
},
"stacked": true,
"width": {
"_value": 80
},
"fill": {
"_value": {
"r": 0,
"g": 0,
"b": 0
},
"_lightColor": {
"_value": {
"r": 255,
"g": 255,
"b": 255
}
}
},
"fillOpacity": 0.1,
"stroke": "#a3a3a3",
"strokeOpacity": 0.2,
"strokeWidth": 2
}
],
"inverted": true,
"percentage": true
},
"title": "Nível Reservatório [%]"
},
{
"id": 5,
"query": {
"id": 5,
"url": "/api/v2/telemetry/",
"data": {
"deveui": "A84041839187BC67",
"network": 2,
"variable": "uplink_message.decoded_payload.Water_flow_value",
"date_gte": "now-1y",
"date_lte": "now",
"aggregation": "1M",
"operation": "last",
"calculate": "difference"
}
},
"type": "indicator",
"layout": {
"autosize": true,
"margin": {
"l": 25,
"r": 50,
"b": 5,
"t": 5,
"pad": 4
},
"title": {
"text": "-",
"font": {
"family": "Courier New, monospace",
"size": 0,
"color": "#FFFFFF"
}
},
"width": 439.775,
"height": 285,
"automargin": true
},
"options": {
"type": "indicator"
},
"title": "Consumo do Mês [Litros]"
},
{
"id": 4,
"query": {
"id": 4,
"url": "/api/v2/telemetry/",
"data": {
"deveui": "A84041839187BC67",
"network": 2,
"variable": "uplink_message.decoded_payload.Water_flow_value",
"date_gte": "now-1y",
"date_lte": "now",
"aggregation": "1M",
"operation": "last",
"calculate": "none"
}
},
"type": "bar",
"layout": {
"margin": {
"l": 45,
"r": 25,
"b": 35,
"t": 10,
"pad": 4
},
"title": {
"text": "-",
"font": {
"family": "Courier New, monospace",
"size": 0,
"color": "#FFFFFF"
}
},
"xaxis": {
"title": {
"text": " "
},
"range": [
"2023-08-01T00:00:00-03:00",
"2024-08-01T00:00:00-03:00"
],
"type": "date"
},
"yaxis": {
"title": {
"text": "-",
"font": {
"family": "Courier New, monospace",
"size": 0,
"color": "#FFFFFF"
}
},
"range": [
0,
2034.421052631579
],
"autorange": true,
"type": "linear"
},
"width": 1026.1416666666669,
"height": 285,
"autosize": true,
"automargin": true
},
"options": {
"type": "bar"
},
"title": "Consumo Mensal Acumulado de Água [Litros]"
},
{
"id": 7,
"query": {
"id": 7,
"url": "/api/v2/telemetry/",
"data": {
"deveui": "A840412531877F41",
"network": 2,
"variable": "uplink_message.decoded_payload.Hum_SHT",
"date_gte": "now-1y",
"date_lte": "now",
"aggregation": "auto",
"operation": "auto",
"calculate": "none"
}
},
"type": "indicator",
"layout": {
"autosize": true,
"margin": {
"l": 25,
"r": 50,
"b": 5,
"t": 5,
"pad": 4
},
"title": {
"text": "-",
"font": {
"family": "Courier New, monospace",
"size": 0,
"color": "#FFFFFF"
}
},
"width": 439.775,
"height": 285,
"automargin": true
},
"options": {
"type": "indicator",
"mode": "gauge+number",
"gauge": {
"axis": {
"range": [
"0",
"100"
]
}
}
},
"title": "Umidade do Ar [%]"
},
{
"id": 8,
"query": {
"id": 8,
"url": "/api/v2/telemetry/",
"data": {
"deveui": "A840412531877F41",
"network": 2,
"variable": "uplink_message.decoded_payload.TempC_SHT",
"date_gte": "now-1y",
"date_lte": "now",
"aggregation": "auto",
"operation": "auto",
"calculate": "none"
}
},
"type": "indicator",
"layout": {
"autosize": true,
"margin": {
"l": 25,
"r": 50,
"b": 5,
"t": 5,
"pad": 4
},
"title": {
"text": "-",
"font": {
"family": "Courier New, monospace",
"size": 0,
"color": "#FFFFFF"
}
},
"width": 439.775,
"height": 285,
"automargin": true
},
"options": {
"type": "indicator"
},
"title": "Temperatura [ºC]"
},
{
"id": 3,
"query": {
"id": 3,
"url": "/api/v2/telemetry/",
"data": {
"deveui": "A84041839187BC67",
"network": 2,
"variable": "uplink_message.decoded_payload.Water_flow_value",
"date_gte": "now-1y",
"date_lte": "now",
"aggregation": "1M",
"operation": "last",
"calculate": "difference"
}
},
"type": "bar",
"layout": {
"margin": {
"l": 45,
"r": 25,
"b": 35,
"t": 10,
"pad": 4
},
"title": {
"text": "-",
"font": {
"family": "Courier New, monospace",
"size": 0,
"color": "#FFFFFF"
}
},
"xaxis": {
"title": {
"text": " "
},
"range": [
"2023-08-01T00:00:00-03:00",
"2024-08-01T00:00:00-03:00"
],
"type": "date"
},
"yaxis": {
"title": {
"text": "-",
"font": {
"family": "Courier New, monospace",
"size": 0,
"color": "#FFFFFF"
}
},
"range": [
0,
2034.421052631579
],
"autorange": true,
"type": "linear"
},
"width": 1026.1416666666669,
"height": 285,
"autosize": true,
"automargin": true
},
"options": {
"type": "bar"
},
"title": "Consumo Mensal de Água [Litros]"
}
]
}
Após adicionar o código acima, é necessário que você altere o Clinte ID presente no código de acordo com o Client ID do seu dispositivo em todas as vezes que aparecer essa variável.
Clique nas teclas nas teclas 'Ctrl' + 'F' para buscar client_id no código e substitua o 'client_id' do códico com o 'client_id' do seu dispositivo.
Ao clicar 'Update', a página será recarregada.
Abaixo, há uma imagem da Dashboard criada a partir do Template, contendo as seguintes informações: nível de reservatório (%), consumo do mês (litros), consumo mensal acumulado de água (litros), umidade do ar, temperatura, consumo mensal de água (litros). No nosso exemplo, está definido no intervalo como 'Last 1 year', mas esse intervalo pode ser alterado de acordo com o intervalo dos dados a serem visualizados.
Dashboard construída utilizando o Template
Para demais dúvidas, o manual do sensor SW3L-NB da Dragino pode ser acessado pelo link http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/SW3L-NB_NB-IoT_Flow_Sensor_User_Manual/
Conclusão
Espero que com esse tutorial você tenha compreendido o processo de configuração e conexão do sensor de fluxo SW3L-NB da Dragino à plataforma IOTA utilizando o protocolo MQTT. Ao seguir este tutorial, você aprendeu a:
Entender o SW3L-NB: Compreender as funcionalidades e aplicações do sensor de fluxo SW3L-NB, 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 SW3L-NB para conexão à rede.
Configurar a Conexão MQTT: Configurar o protocolo MQTT para a transmissão de dados do SW3L-NB para a plataforma IoT.
Visualizar os Dados: Acessar e interpretar os dados coletados pelo SW3L-NB na plataforma IOTA, permitindo monitoramento e controle eficientes.
O sensor SW3L-NB, com sua capacidade de monitorar o fluxo de água e enviar alertas em tempo real, oferece uma solução robusta para o gerenciamento eficiente dos recursos hídricos. Sua compatibilidade com a rede NB-IoT, além do suporte a diversas metodologias de uplink e facilidade de configuração via BLE, tornam-no uma escolha versátil para aplicações em diferentes ambientes.
Ao seguir as etapas deste tutorial, você deverá estar bem equipado para integrar o SW3L-NB à plataforma IOTA, permitindo o monitoramento e a gestão do uso da água de forma eficaz. Com a capacidade de enviar dados de forma contínua e a possibilidade de configuração remota, este sensor oferece um controle preciso e confiável sobre o consumo de água, contribuindo para a sustentabilidade e a economia de recursos.
Esperamos que este tutorial tenha sido útil e que você tenha sucesso em suas implementações. Caso tenha dúvidas ou deseje explorar mais funcionalidades, fique à vontade para revisitar este guia, consultar a documentação adicional do sensor SW3L-NB ou entrar em contato conosco.
Obrigado por seguir este tutorial e boa sorte com seus projetos de IoT!
Comments