Bom dia Neste artigo, quero falar sobre a implementação de dispositivos nos módulos ESP. O tópico de dispositivos semelhantes já foi divulgado na Internet, mas não deixa de ser relevante.
IdéiaHá muito tempo penso em implementar um determinado sistema de exibição e controle em um apartamento, mas não consegui encontrar aplicativos para os sensores disponíveis para venda, especificamente para mim. A primeira coisa que confundiu foi a presença de um determinado servidor (um pedaço de ferro separado) que coleta dados, processa e os joga em algum lugar para visualização. Eu gostaria de ter um sistema escalável de dispositivos independentes, de preferência trabalhando com um aplicativo, de maneira ideal, se o aplicativo estiver pronto, o que parecia quase impossível (olhando para o futuro, direi que existe um aplicativo assim e ele pode ser configurado de maneira bastante flexível para nossas tarefas). E é claro que eu queria fazer uma linha dos meus dispositivos.
Requisitos de sistema- Falta de servidor de hardware ("Unidade central").
- Sensores / controles independentes.
- Os sensores devem ser sem fio.
- Ao alterar a composição e os tipos de sensores, não deve haver dependência (não é necessário adicionar um novo dispositivo para "ver" algo nos outros).
- Se possível, os sensores devem ser alimentados por bateria.
- Se necessário, os sensores devem ser capazes de configurar, mas sem se aprofundar no código (otimizado da Web).
- Notificações. Este é um requisito separado. Estamos acostumados a usar telefones celulares e receber notificações instantaneamente.
Esta não é uma lista completa de "Lista de desejos", mas estas são as principais.
Procure uma soluçãoA solução para criar o sistema veio um pouco mais tarde. Primeiro, o primeiro dispositivo foi desenvolvido, sobre o qual vou escrever neste artigo.
Peça de hardware. ESP-12E e ESP32. Todos os projetos descritos abaixo são implementados no primeiro módulo. O segundo módulo possui vários projetos comerciais que não serão considerados neste artigo.
Existem muitos artigos e fóruns na Internet sobre o ESP-12E, e não vou repetir sobre todos os prós e contras. Todos os "plugues" ocorreram principalmente devido à falta de experiência no trabalho com o módulo e com o meio ambiente, em princípio.
Figura 1. Foto do ESP-12E.A parte do software. O firmware do ESP foi escrito no IDE do Arduino. O aplicativo Blynk está sendo executado na lateral do telefone / tablet. Este é um construtor muito conveniente para exibir dados. O aplicativo possui um servidor na nuvem em que dispositivos (sensores) enviam dados, e Blynk os recebe e permite exibi-los (www.blynk.cc). Da mesma forma, o feedback é organizado com o dispositivo. Importante, um único aplicativo pode coletar e exibir dados de vários dispositivos.

Figura 2. Capturas de tela do aplicativo.Posteriormente, publicaremos um artigo sobre software e links para as fontes. Eu faço o hardware. A implementação do software é realizada pelo meu colega.
O primeiro trio de sensores1. Sensor de dióxido de carbono
OpenWindAir .
Construído com base no módulo Wi-Fi ESP-12E. A medição é realizada usando o sensor de CO2 MH-Z19. É amplamente conhecido e permite que você faça medições com rapidez e precisão. Além disso, o dispositivo possui um sensor embutido de temperatura e umidade AM2302. Também há suporte para um sensor externo para uso, por exemplo, com o sistema de monitoramento de pessoas. O dispositivo é alimentado por miniUSB a partir de uma fonte de alimentação de PC ou 5V. LEDs e alarmes sonoros implementados (o último pode ser desligado do aplicativo ou usado pelo relógio - para não acordar à noite).
2.
LifeOfFlowers Sensor de umidade do solo para plantas.
Construído com base no módulo Wi-Fi ESP-12E. A medição da umidade do solo ocorre usando um eletrodo preso no solo (parte da placa do dispositivo). O que é importante - o eletrodo, como toda a placa, é envernizado (aqui eu tive que planejar com as medições), o que impedirá a deterioração do contato. Além da umidade do solo, o dispositivo mede a umidade e a temperatura ambiente (AM2302), a luz e a voltagem da bateria. Sim, o LifeOfFlowers funciona de 1 a 3 anos com duas pilhas AAA (o tempo de atividade depende da taxa de atualização).
3.
Aviso Sensor de vazamento de água.
Construído com base no módulo Wi-Fi ESP-12E. A medição é realizada usando os eletrodos incluídos no gabinete IP-65. O dispositivo é alimentado por duas pilhas AAA (ou AA), o tempo de operação também é de 1 ano. As dimensões do dispositivo são de apenas 55x55x30mm. Para começar, você precisa colocar o dispositivo em um local potencialmente perigoso e sinalizará a presença de água no chão. O aplicativo também exibe a tensão das baterias, para não esquecer de substituí-las no prazo.
OpenWindAir - implementação de hardwareAqui você não pode encontrar detalhes de circuitos aqui, tudo é simples e nas planilhas de dados. Se alguém precisar de um circuito, eu posso dar.
A composição do dispositivo:
ESP8266 ESP-12E - o próprio módulo, responsável pela coleta, processamento e envio de dados. Fonte de alimentação 3.3V.
MH-Z19 - sensor de concentração de dióxido de carbono. Funciona em UART, mede até 5000ppm e é alimentado por 5V.
AM2302 - medição de umidade e temperatura. Como o sensor está localizado dentro do alojamento, é necessário inserir constantes de calibração e os dados de medição são para referência. Para medições mais precisas, é usado um sensor remoto.
1-1462037-8 (IM03TS) - relé, para comutação de baixa corrente, colocado apenas no caso, para jogar. Em princípio, isso é uma coisa interessante, mas eles ainda não apresentaram aplicativos (são enviados para o mesmo conector externo que o sensor de umidade externo).
CP2102-GM - USB-UART. Sim, decidimos fazer belos registros para exibir informações em tempo real, ficou muito conveniente, você pode assistir os dados no terminal, assistir a ordem de download, depurar.
LM1117MP-ADJ - LDO para 3.3V.
Há também um sinal sonoro, um par de botões e três LEDs. Além dos limites de concentração de CO2, os LEDs indicam o processo de carregamento do dispositivo, conexão com um ponto de acesso (ou trabalho offline) e o processo de atualização.
O dispositivo implementa a atualização OTA. Lançamos o firmware em qualquer servidor (após a prescrição), pressionamos o botão, ligamos e o processo do firmware é iniciado. Depois de piscar (ou reiniciar) por um tempo especificado, você pode acessar a interface da Web (o dispositivo aparece como um ponto de acesso) e dirigir nas configurações de rede - depois disso tudo está pronto para funcionar.
Fig 3. Foto da placa com componentes.Quero escrever um pouco sobre a forma e os recursos da placa de circuito impresso. Durante o teste, verificou-se que durante a operação de longo prazo do Wi-Fi, o módulo aquece a placa. Isso não seria crítico se o sensor interno de temperatura e umidade estivesse dentro do gabinete. Eu tive que espalhar o módulo ESP com o alimentador e os sensores em diferentes direções, e também fazer um recorte na placa, onde, como o designer, uma partição especial ainda está inserida. Assim, não há mistura de ar dentro do gabinete e as medições de temperatura e umidade são muito mais confiáveis.
Figura 4. Foto da partição no quadro.HabitaçãoHavia muitas dúvidas - eu queria ter um corpo bonito de metal, aerodinâmico, com uma faixa fosca de indicação, etc., mas, como sempre, o minimalismo veio em socorro. O fator de forma do caso determinou a presença de LEDs de 5 mm da velha escola, que, como se viu, são muito convenientes. Devido ao fato de serem convexos - isso permite que você coloque o dispositivo, por exemplo, em uma prateleira e a indicação ainda estará claramente visível. O gabinete em si foi cortado a laser em acrílico de 2 mm.
Fizemos várias opções, em cores diferentes e com uma combinação de cores, além de diferentes materiais. Parece muito decente. Eu até tentei fazê-lo de PCB imediatamente com a ordem das placas de circuito impresso. No momento, estamos pensando na opção de fabricar o caso na produção, mas até agora isso está apenas nos planos. Eu também posso criar modelos.
Fig 5. Foto do dispositivo.PlanosEm geral, há planos de fabricar mais dispositivos (além desses três). Por exemplo, o ESP32 possui Ethernet integrada (você só precisa de física) e mais ADCs integrados, o que permitirá que você fique sem um multiplexador, como é o caso do LifeOfFlowers, mas mais sobre isso posteriormente.
Ameaça. O Blynk possui uma API de servidor que pode ser facilmente implantada (marcada) em um PC. Assim, a ligação ao servidor desaparece.
ZZY. Ter menos negativo renomeado o artigo. Quando passarmos a gerenciar a casa usando dispositivos, vou corrigir o artigo.
Obrigado pela atenção!
ZZZY: Como prometido, aqui está um link para um artigo sobre software
geektimes.ru/post/122601