Sistema de Alerta do Nível da Água
Componentes e suprimentos
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
Aplicativos e serviços online
| ||||
| ||||
|
Sobre este projeto
Introdução
Se você mora em Bangalore há alguns anos, não é estranho às inundações. Todos os anos, durante a monção, o estacionamento subterrâneo do meu apartamento se enche de água a ponto de ser impossível até mesmo ligar o motor da minha bicicleta. O pior é que quando a água seca, tenho que levar minha bicicleta ao mecânico para conserto devido a danos causados pela água. Este ano eu não aceitaria nada disso. Portanto, decidi construir um sistema de monitoramento do nível de água que me alertaria se o estacionamento fosse inundado.
Veja como você pode colocar o mesmo sistema em funcionamento.
Instale as bibliotecas necessárias
Clique aqui e aqui para baixar a biblioteca BoltIoT-Arduino-Helper da BoltIoT e a biblioteca Ultrasonic de Erick Simoes.
Para instalar essas bibliotecas, vá para o IDE do Arduino, no menu suspenso 'esboço', selecione Incluir Biblioteca> Adicionar. Biblioteca ZIP ..
Em seguida, navegue até a pasta onde as bibliotecas foram baixadas e selecione-as.
Faça upload do código do Arduino
1. Abra o IDE do Arduino.
2. Copie o código do Arduino no final do blog e substitua todo o código dentro do esboço pelo código copiado.
3. Salve o esboço do Arduino pressionando 'ctrl + s' no widows e ubuntu, e 'cmd + s' no Mac.
4. Depois de salvar o código, vá para o menu de ferramentas e, na seção de placas, selecione Arduino / Genuino Uno.
5. Conecte o Arduino ou Boltduino ao seu PC usando um cabo USB.
6. No menu de ferramentas, no submenu da porta, selecione a porta que contém Arduino / Genuino uno no final.
7. Clique em upload.
O código será carregado em seu Arduino ou Boltduino.
Configuração de hardware
Faça a conexão de acordo com os diagramas de Fritzing abaixo.
NOTA: Clique em '>' para ver o diagrama de Fritzing para usar o Boltduino em vez de um Arduino.
Se você estiver usando um Boltduino em vez de um Arduino, precisará fazer menos conexões, pois o módulo Bolt WiFi se encaixa diretamente no Boltduino.
Monte o sistema de forma que o sensor fique voltado para o chão, onde a água ficará estagnada com o tempo.
Lembre-se de que o limite de detecção sempre será menor que a altura do sensor.
Ligue o sistema usando um adaptador DC de 9 V ou 12 V.
Nota: Se você não configurou, ainda não configurou seu Bolt, siga as etapas fornecidas aqui: Configurando seu Bolt .
Configure o cenário Integromat para enviar alertas de e-mail
Se ainda não o fez, crie uma conta no Integromat, clique aqui para ir para a página de inscrição. Se você já tem uma conta Integormat, entre no Integromat.
Usando a etapa a seguir para clonar o cenário de 'Detecção do nível de água', que criei.
1. Baixe o blueprint do cenário de detecção do nível de água anexado na seção de código deste projeto. Lembre-se de salvar o arquivo com o nome de arquivo 'WaterLevelDetection.json'.
2. Crie um cenário, clicando no botão azul 'Criar um novo cenário' no canto superior direito e clique em continuar.
3. Clique no botão 'mais' na parte inferior da tela.
4. Selecione 'Importar Blueprint' e clique em 'Escolher arquivo'.
5. Navegue até a pasta para a qual você baixou o arquivo 'WaterLevelDetection.json', selecione o arquivo e clique em abrir. Quando terminar, clique em Salvar. O cenário de detecção do nível de água será carregado.
6. Clique no nome do cenário e altere para Detecção do Nível da Água.
Use as etapas a seguir para configurar o cenário de detecção do nível de água.
1. Obtenha sua chave de API do Bolt Cloud clicando aqui. As imagens abaixo mostram como habilitar e copiar a chave API.
2. Volte ao cenário Integromat e clique na primeira bolha BoltIoT e, em seguida, clique no botão 'adicionar'.
3. Cole a chave API que você copiou anteriormente e clique no botão 'continuar'.
3. Adicione o nome do seu dispositivo. Você pode descobrir o nome do dispositivo do seu módulo Bolt WiFi clicando aqui. Em seguida, clique em ok.
4. Para a segunda e terceira bolhas BoltIoT, você pode clicar no menu suspenso e selecionar 'Minha conexão Bolt'. Lembre-se de adicionar o nome correto do dispositivo a cada um deles.
5. Clique na bolha matemática e altere o valor 100 para a altura na qual você manteve seu sensor, em cms. Em seguida, clique em ok.
6. Clique no ponto vermelho entre a bolha matemática e do gmail, substitua 60 pela altura da água na qual deseja ser alertado e clique em ok.
6. Clique no balão do gmail e clique no botão de edição.
7. Adicione seu id de e-mail e clique em ok.
8. Clique no botão Adicionar e, a seguir, no botão Continuar e permita o acesso do Integromat à sua conta do gmail.
9. Você pode adicionar mais destinatários clicando no botão 'Adicionar um destinatário' e, em seguida, clique em ok.
10. Certifique-se de que o circuito está ligado e de que não há obstrução na frente do sensor e clique no botão Executar. O cenário será executado e aguardará antes do filtro, indicado pelo '1' em um balão de pensamento. Se você colocar sua mão na frente do sensor e executar o cenário, ele irá até o balão do gmail e você receberá um e-mail.
11. Clique no botão próximo ao texto 'desligar' para ativar o cenário. O cenário agora será executado automaticamente a cada 15 minutos. e você receberá um alerta, se o nível da água subir acima da altura que você definiu para alertas.
Montagem do sistema
Feito isso, basta montar o sistema de forma que o sensor aponte para o chão, ligar o sistema e garantir que o Bolt tenha acesso contínuo à internet através do seu wi-fi.
Aplicativos
O sistema pode ser usado nos seguintes aplicativos.
- Detectar que seu estacionamento está inundado.
- Receber um alerta quando seu tanque de água estiver cheio ou vazio.
- Detectar a maré alta, se você tiver uma casa perto do mar.
Mais projetos baseados em Bolt
Quer construir outro projeto com o Bolt? Aqui estão algumas sugestões:
1. Introdução ao Bolt:Sistema de monitoramento de temperatura
2. Domótica
Código
- Sistema de detecção de nível de água usando Ultrasonic HC-SR04
- WaterLevelDetection
Sistema de detecção de nível de água usando Ultrasonic HC-SR04 C / C ++
#include#include #define ULTRASONIC_TRIG_PIN 12 # define ULTRASONIC_ECHO_PIN 13 Ultrassônico ultrassônico (ULTRASONIC_TRIG_PIN, ULTRASONIC_ECHO_PIN); distância int distância =0; =ultrasonic.read (); String returnString ="" + String (distância); return returnString;} void setup () {boltiot.begin (Serial); // coloque seu código de configuração aqui, para executar uma vez:boltiot.setCommandString ("RD \ r", getDistance); boltiot.setCommandString ("GetDistance", getDistance);} void loop () {boltiot.handleCommand (); // coloque seu código principal aqui, para executar repetidamente:}
WaterLevelDetection JSON
Este é um arquivo json contendo o blueprint para o cenário Integromat.{"name":"Water Level Detection", "flow":[{"id":15, "module":"app # bolt-iot:executeCommand "," version ":1," parameters ":{" __IMTCONN__ ":445281}," mapper ":{" command ":" serialBegin "," parameters ":{" baud ":" 9600 "," deviceName " :""}}, "metadata":{"designer":{"x":8, "y":-3}, "restore":{"command":{"label":"Initialize serial communication"} , "__IMTCONN__":{"label":"My Bolt connection"}}, "parameters":[{"name":"__IMTCONN__", "type":"account", "label":"Connection", "obrigatório ":true}]," expect ":[{" name ":" command "," type ":" select "," label ":" Command "," required ":true," validate ":{" enum " :["digitalWrite", "digitalRead", "analogRead", "analogWrite", "serialBegin", "serialWrite", "serialRead", "version", "restart", "isAlive"]}}, {"name":"parameters", "spec":[{"name":"deviceName", "type":"text", "label":"Device name", "required":true}, {"name":"baud" , "modelo":" number "," label ":" Baud "," required ":true}]," type ":" collection "," label ":" Parameters "}]}}, {" id ":1," module ":"app # bolt-iot:executeCommand", "version":1, "parameters":{"__IMTCONN__":445281}, "mapper":{"command":"serialWrite", "parameters":{"data":"GetDistance", "deviceName":""}}, "metadata":{"designer":{"x":300, "y":0}, "restore":{"command":{"label":"Send serial data output"}, "__IMTCONN__":{"label":"My Bolt connection"}}, "parameters":[{"name":"__IMTCONN__", "type":"account", "label" :"Connection", "required":true}], "expect":[{"name":"command", "type":"select", "label":"Command", "required":true, " validate ":{" enum ":[" digitalWrite "," digitalRead "," analogRead "," analogWrite "," serialBegin "," serialWrite "," serialRead "," version "," restart "," isAlive "]} }, {"name":"parameters", "spec":[{"name":"deviceName", "type":"text", "label":"Device name", "required":true}, { "nome":"dados", "tipo":"texto", "rótulo":"Dados", "required":true}], "type":"collection", "label":"Parameters"}]}}, {"id":14, "module":"app # bolt-iot:executeCommand", " versão ":1," parameters ":{" __IMTCONN__ ":445281}," mapper ":{" command ":" serialRead "," parameters ":{" till ":" 10 "," deviceName ":" "} }, "metadados":{"designer":{"x":600, "y":0}, "restaurar":{"comando":{"rótulo":"Ler dados seriais de entrada"}, "__IMTCONN__" :{"label":"My Bolt connection"}}, "parameters":[{"name":"__IMTCONN__", "type":"account", "label":"Connection", "required":true} ], "expect":[{"name":"command", "type":"select", "label":"Command", "required":true, "validate":{"enum":["digitalWrite "," digitalRead "," analogRead "," analogWrite "," serialBegin "," serialWrite "," serialRead "," version "," restart "," isAlive "]}}, {" name ":" parameters ", "spec":[{"name":"deviceName", "type":"text", "label":"Device name", "required":true}, {"name":"till", "type" :"número", "etiqueta":"Até", "obrigatório":verdadeiro, "validar":{"max":127, "min":0}}], "type":"collection", "label":"Parameters"}]}}, {"id":18, "module":"math:EvaluateExpression "," version ":1," parameters ":{}," mapper ":{" expression ":" 100 - {{parseNumber (14.value)}} "}," metadata ":{" designer ":{"x":869, "y":-2}, "expect":[{"name":"expression", "type":"text", "label":"Expression", "required":true }]}}, {"id":13, "module":"google-email:ActionSendEmail", "version":1, "parameters":{"account":445282}, "filter":{"name" :"Verifique se o nível de água está alto", "condições":[[{"a":"{{18.resultado}}", "b":"60", "o":"número:maior"}] ]}, "mapper":{"cc":[], "to":[], "bcc":[], "html":"O nível da água atingiu {{18.result}} cms.", " assunto ":" Atenção! O nível da água está muito alto !! "," attachments ":[]}," metadata ":{" designer ":{" x ":1145," y ":-3}," restore ":{" cc ":{"modo":"escolheu", "itens":[]}, "para":{"modo":"escolheu", "itens":["indefinido"]}, "cco":{"modo":"escolheu", "itens":[]}, "conta":{"rótulo":""}, "anexos":{"modo":"escolheu", "itens":[]}}, "parâmetros" :[{"name":"account", "type":"account", "label":"Connection", "required":true}], "expect":[{"name":"to", " spec ":{" name ":" "," type ":" email "," label ":" Endereço de email "," obrigatório ":true}," type ":" array "," label ":" To " , "etiquetas":{"adicionar":"Adicionar um destinatário", "editar":"Editar um destinatário"}, "obrigatório":verdadeiro}, {"nome":"assunto", "tipo":"texto" , "label":"Assunto"}, {"name":"html", "type":"text", "label":"Content"}, {"name":"attachments", "spec":[ {"name":"fileName", "type":"filename", "label":"File name", "required":true, "semantic":"file:name"}, {"name":"data "," type ":" buffer "," label ":" Data "," required ":true," semantic " :"file:data"}, {"name":"cid", "type":"text", "label":"Content-ID"}], "type":"array", "label":" Anexos "," etiquetas ":{" add ":" Adicionar um anexo "," edit ":" Editar um anexo "}}, {" name ":" cc "," spec ":{" type ":" email "," label ":" Endereço de email "}," type ":" array "," label ":" Copiar destinatário "," labels ":{" add ":" Adicionar um destinatário de cópia "," edit ":" Editar um destinatário de cópia "}}, {" name ":" bcc "," spec ":{" type ":" email "," label ":" Endereço de email "}," type ":" array "," label ":" Destinatário da cópia oculta "," labels ":{" add ":" Adicionar um destinatário da cópia oculta "," edit ":" Editar um destinatário da cópia oculta "}}]}}]," metadados ":{" versão ":1," scenery ":{" roundtrips ":1," maxErrors ":3," autoCommit ":false," sequential ":false," confidencial ":false," dataloss ":false," dlq ":false }, "designer":{"órfãos":[]}, "zona":"eu1.integromat.com"}}
Esquemas
Processo de manufatura
- Movendo seu sistema de controle industrial para sem fio
- Aquaponia controlada com Raspberry Pi
- Seu sistema está pronto para a IoT?
- Aproveitando a agricultura IoT para expandir o acesso aos alimentos
- IoT subaquática revolucionando o gerenciamento de água
- Sistema de gestão florestal IoT de dupla finalidade
- Como a IoT capacita o sistema de rastreamento de veículos?
- Como a IoT capacita o sistema de gerenciamento de frota?
- Melhore o armazenamento de leite com uma pitada de IoT:sistema de monitoramento de nível de leite
- Usando um sistema de monitoramento de nível de rio alimentado por IoT para gerenciamento eficiente de água