Leitura do medidor de água: ESP8266 + Android
Muitos agora têm hidrômetros. E a maioria enfrenta o problema de fazer leituras desses medidores e sua entrega pontual. Eu não fui exceção. Era conveniente receber depoimentos de mim, mas aqui sempre me esqueci de tomá-los e me lembrei deles no momento mais inoportuno. Decidiu-se automatizar o processo de fazer leituras para que você possa visualizá-las a qualquer momento. Quem se importa em tirar uma foto à esquerda no meu telefone, por favor, sob gato.1. Introdução
A ideia de implementação veio a mim depois de ler este artigo. Durante o reparo, ajustei imediatamente os contadores de pulso. A primeira versão do dispositivo baseada no ESP-03 foi feita. O código está escrito em LUA. Os dados também foram transmitidos para thingspeak.com .Após 2 meses de uso, as seguintes desvantagens foram identificadas:- Não havia indicação clara de operação, já que o módulo pendurou algumas vezes, era importante
- A complexidade das configurações, porque as configurações estavam no código
- Para energia, era necessário um fio com um conector miniUSB. Eu só tinha isso da Sony Playstation
- Não é confortável ver resultados em thingspeak.com
- A complexidade relativa da implementação.
Por isso, decidiu-se fazer a segunda versão, que atenderá aos seguintes requisitos:- Conector de alimentação MicroUSB
- Realize a configuração conectando-se ao dispositivo via WiFi
- Indicação de trabalho
- Conveniência de visualizar informações
- Facilidade de repetição
- Aparência estética
- Baixo custo
Taxa
A placa de circuito é bastante simples. É baseado no mesmo ESP-03. O site esp8266.ru me ajudou com os principais recursos da conexão .FRIO, QUENTE - soquetes RJ9LED1 - serve para indicar a operação da placa (modo de configuração - constantemente ligado, erro - intermitente frequente, operação normal - intermitente uma vez por segundo)LED2 - indica fonte de alimentaçãoR3, R4 - 330 OhmR1, R2, R5, R6 , R7 - 6,8 kOhm Capacitor detântalo C1 - 33 mkF ; capacitor decerâmica C2 - 0,1mkF ; LM1117 - para converter 5V a 3,3V;J1 - jumper para piscar ESP-03BTN - para escolher o modo de operação da placaUm conector miniUSB foi adicionado para piscar o módulo e gravar scripts. Para energia, outro conector microUSB é adicionado separadamente sem conectar os pinos RX e TX a ele (ele não é exibido no diagrama). Isso se deve ao fato de que, se você alimentar o módulo através do conector miniUSB, onde RX e TX estão conectados, o módulo, por algum motivo, congela. Tentei puxar o RX e o TX, mas nada ajudou. Por isso, decidi deixar assim, além de possuir muitos cabos com microUSB.As dimensões dos componentes facilitam a criação de uma placa usando o método LUT, que foi feito para scripts de depuração. Mais tarde, pedi a fabricação do cartão aos chineses . O tamanho do quadro foi ajustado para se ajustar ao gabinete existente.Fotos antes da instalação:Foto após:Firmware
Eu coletei o firmware usando o construtor online . Permite gerar o firmware do NodeMCU apenas com os módulos necessários, o que permite aumentar a quantidade de memória livre. Não tive problemas com falta de memória e, como resultado, cerca de 30% do espaço livre foi gasto em scripts e arquivos auxiliares. Carreguei o firmware usando nodemcu-pisca-pisca . Eu usei o ESPlorer para escrever e preencher scripts .A operação do contador de pulsos é semelhante a pressionar um botão. Quando certos valores são passados, os contatos fecham e abrem. Meu contador fechou os contatos no número 7 e abriu no número 2. Pendurei os contadores nas portas GPIO12, GPIO13 e aterrei com uma tração na fonte de alimentação (um resistor interno é usado). Assim, quando a porta altera seu valor para 0, podemos assumir que 10 l de água foram gastos.O dispositivo pode operar em 2 modos: modo de configuração e modo de leitura. Para alternar para o modo de configuração quando a energia é aplicada, mantenha pressionado o botão BTN. Isso leva 2 segundos. Nesse modo, o ESP começa a funcionar como um ponto de acesso e é um servidor web simples. Aparece uma rede ESP acessível - ???????, onde, em vez de caracteres? será id esp. Para configurar, você precisa se conectar a esta rede e, no navegador, vá para 1.1.1.1. A seguinte página aparece:
Se o botão não foi pressionado durante a inicialização, o modo de leitura é iniciado. Nesse modo, o status das portas GPIO12 e GPIO13 é verificado a cada segundo. Se 0 aparecer em algum lugar, o valor correspondente aumentará. Inicialmente, fiz uma verificação baseada em interrupções, mas esse método não era confiável (ESP periodicamente suspenso). A cada minuto, há uma tentativa de enviar dados para o servidor (se houver alterações). Para cada contador, são transmitidos 2 valores: a leitura atual do contador e a quantidade de alterações desde a última transferência de dados.Aplicativo para Android
Como eu disse, no thingspeak.com eu não estava confortável olhando as leituras. Eu decidi escrever um aplicativo para Android. O resultado é um aplicativo que permite:- Crie gráficos de consumo por horas, dias, meses
- Acessar dados offline
- Adicionar widget de métricas
O Thingspeak.com possui uma API que permite coletar dados. Usando esta API, o aplicativo a cada inicialização ou antes de atualizar o widget solicita os dados mais recentes e os salva em um banco de dados local. Trabalhos adicionais já estão em andamento com ela. Adicionados 2 tipos de widgets ao aplicativo: como um contador e como um gráfico de consumo. Descobriu-se bastante conveniente.Capturas de tela do aplicativo Pensei em implementar a leitura automática do medidor, mas não encontrei uma API pronta. Foi possível analisar o pedido oficial, mas não é confiável. Para Moscou, existe um EMP . Registrei-me lá e obtive acesso à API deles, mas isso só permite que você veja quais leituras foram feitas, o que não foi interessante para mim.Conclusão
O custo do dispositivo, excluindo o caso, totalizou aproximadamente 450 rublos. Alguns dos componentes foram comprados em uma loja conhecida. Se você pegar tudo do chinês, o custo poderá ser reduzido para cerca de 370 rublos. Esta versão por 4 meses nunca foi interrompida ou falhou. O dispositivo resultante é fácil de repetir e modificar. Com a ajuda dele, aprendi que o vaso sanitário estava lenta mas seguramente passando água.Links úteis:Source: https://habr.com/ru/post/pt395459/
All Articles