Fazer seu próprio sensor de automação residencial não é tão difícil ou caro. Você precisa de um sensor e uma placa de microcontrolador que transmita sem fio os dados do sensor para o controlador de automação residencial. Neste artigo, conectamos sensores de temperatura, umidade e pressão do ar e uma tela LCD a um módulo WiFi ESP8266. Instalamos nele o firmware ESP Easy e integramos o nosso sensor com o sistema de automação residencial Domoticz de código aberto, para que você possa ler os dados de medição no painel do seu controlador de automação residencial. Seu próprio sistema de automação residencial em 17 etapas!
01 ESP8266
O coração de um sensor de automação residencial consiste em uma placa controladora que lê os dados do sensor e os encaminha para o seu controlador de automação residencial. Uma escolha popular entre os DIYers são as placas baseadas no módulo WiFi ESP8266, produzido pela empresa chinesa Espressif Systems. O controlador opera em uma frequência de clock de 80 ou 160 MHz, tem 64 kilobytes de memória de instrução e 96 kilobytes de memória de dados, 512 kilobytes a 4 megabytes de ram, 802.11 b / g / n Wi-Fi e pinos de 16 gpio para comunicação com o mundo lá fora. As placas controladoras AI-Thinker são especialmente populares, especialmente o ESP-01 minimalista com 6 pinos utilizáveis e o ESP-12E com 20 pinos utilizáveis.
02 ESP Easy
Você não está em lugar nenhum apenas com o hardware: o firmware executado no módulo ESP determina a função da placa controladora. Originalmente, o firmware NodeMCU era uma escolha popular para o ESP8266, mas o firmware do Arduino agora também é compatível. O interessante sobre o último é que você pode desenvolver programas para o módulo ESP com o IDE do Arduino. E os desenvolvedores do firmware ESP Easy tornam isso ainda mais fácil para nós: o ESP Easy transforma seu módulo ESP em um dispositivo multissensor que você pode configurar facilmente por meio de uma interface da web.
03 Download de firmware
No momento em que este artigo foi escrito, os desenvolvedores do ESP Easy estavam revisando seu firmware. Portanto, não optamos pela versão estável, mas por uma versão de desenvolvimento da versão 2.0 completamente reescrita. Baixe o arquivo zip (no nosso caso era ESPEasy_v2.0.0-dev11.zip, que se mostrou muito estável na prática) e extraia-o. Além do código-fonte, você também verá todos os tipos de arquivos bin. Essa é a versão binária do firmware. Os nomes deixam claro qual você precisa: normal contém apenas os plug-ins estáveis, teste também os plug-ins de teste e dev também os plug-ins que ainda estão em desenvolvimento. 1024 é para módulos ESP com flash de 1 MB e 4096 para módulos ESP, como o ESP-12E com flash de 4 MB.
04 Flash Firmware
Ilustramos este artigo com o ESP-12E, que possui um conector micro USB com um conversor USB para serial integrado para comunicação serial com seu PC. Primeiro, baixe os drivers CP2102 do site da Silicon Labs. Em seguida, conecte o módulo ESP ao seu PC via USB. Se você usar um modelo diferente de módulo ESP, ainda precisará de um conversor USB para TTL, que pode ser conectado aos pinos gpio do seu módulo. Consulte a wiki ESP Easy para obter mais informações. A atualização do firmware é feita com a ferramenta FlashESP8266.exe no arquivo zip que contém o firmware. Escolha a porta serial (por exemplo, COM0) e o arquivo bin com o firmware desejado.
05 configuração Wifi
Quando o módulo ESP recém-atualizado inicializa (pressione o botão RST na placa após o término do flash), ele funciona como um ponto de acesso sem fio com ssid ESP_Easy_0. Conecte-se a ele através do seu smartphone ou outro dispositivo WiFi e digite a senha configesp no. Depois disso, abra seu navegador da web, que o redirecionará para o portal cativo do módulo ESP. Escolha a qual SSID você deseja que o módulo ESP se conecte e digite a senha correspondente. pressione Conectar para configurar a conexão.
06 senha
Se o módulo ESP conseguiu se conectar ao seu WiFi, será mostrado o endereço IP. Agora reconecte seu smartphone ao seu WiFi normal e visite seu navegador da web (o que agora é possível em seu PC, uma tela maior é mais conveniente agora) o endereço IP do módulo ESP para o resto da configuração. Na aba Config É especialmente importante aqui que você dê ao seu módulo um nome exclusivo e escolha uma senha de administrador, para que nem todos em sua rede local possam alterar a configuração. Pressione na parte inferior Enviar.
07 Adicionar controlador Domoticz
Na aba controladores Um controlador já está adicionado por padrão com o protocolo Domoticz. Clique ao lado dele editar. Como protocolo você permite HTTP Domoticz para ficar. Insira o endereço IP e a porta (8080 por padrão) do seu controlador Domoticz. Se você protegeu a interface da web do Domoticz com um nome de usuário e uma senha, insira-os aqui também. Finalmente marque Habilitado e clique Enviar. Depois, ao pressionar Fechar, você verá seu controlador Domoticz na lista de controladores.
08 LED de status
Na aba Hardware definir para que você usa os pinos gpio. Um recurso útil que é novo na versão 2.0 do firmware pode ser encontrado em LED de status de Wi-Fi. Se você inserir lá o número do pino ao qual um LED está conectado, o ESP Easy exibe o status do WiFi nesse LED. E isso também é possível com o LED integrado do módulo ESP. Escolha aquele GPIO-2 (D4) e marque LED invertido aceso porque aquele led está ativo-baixo. Clique na parte inferior Enviar. Se o ESP Easy não estiver conectado ao Wi-Fi, o LED piscará rapidamente entre claro e suave.
09 Sensores e display
Agora pegue uma placa de ensaio e coloque o módulo ESP (não conectado à fonte de alimentação!) E uma placa de sensor BMP180 nela. Esta última é uma placa de circuito impresso com sensor de temperatura e pressão atmosférica. Agora conecte VIN no BMP180 a 3V3 no módulo ESP, GND a GND, SCL a D1 e SDA a D2. Agora pegue o sensor de temperatura e umidade AM2302 (DHT22), conecte o fio vermelho ao VIN, o fio preto ao GND e o fio amarelo ao D5. Finalmente, conecte a tela OLED com o controlador SDD1306: VCC para VIN, GND para GND, SCL para D1 e SDA para D2. Em seguida, reconecte a fonte de alimentação do módulo ESP.
10 sensores virtuais no Domoticz
Crie um sensor fictício na interface da web do Domoticz. Para fazer isso, abra o menu Configurações / Hardware, escolha um novo hardware na lista de tipo fictício, dê um nome ao dispositivo e certifique-se Ativo está checado. Clique em Adicionar. Em seguida, clique no dispositivo virtual Crie sensores virtuais. Dê um nome ao sensor e escolha o tipo Temp + Hum. Clique em OK para criar o sensor. Em seguida, localize o sensor em Configurações / Dispositivos e escreva o número na coluna idx. Este é o ID do sensor. Em seguida, adicione um sensor do mesmo tipo Temp + Baro.
11 Configure o sensor DHT
Agora abra a interface da web ESP Easy. Clique na aba Dispositivos na primeira linha em editar. Escolha em Dispositivos em frente Ambiente - DHT11 / 12/22. Nomeie o sensor e verifique Habilitado no. Escolha como GPIO pino GPIO-14 (D5) e como tipo de sensor DHT 22. Insira o ID do sensor no Domoticz no IDX e certifique-se de que Enviar para o controlador está checado. Então clique Enviar. Então clique em fechar, então você verá o sensor na lista de dispositivos, incluindo a temperatura e a umidade atuais. Você também verá os dados no Domoticz.
12 Configure o sensor BMP
O sensor BMP180 se comunica com o módulo ESP por meio da interface I2C. Então, primeiro olhe na guia Hardware do ESP Easy para verificar se a interface I2C está configurada corretamente: GPIO-4 (D2) na SDA e GPIO-5 (D1) no SCL. Essas também são as conexões que você fez na placa de ensaio. Em seguida, vá para a guia Dispositivos e clique na segunda linha editar. Escolha como dispositivo Meio Ambiente - BMP085 / 180. Dê um nome ao sensor, verifique Habilitado e insira a altitude da sua localização em metros (para compensar a pressão do ar). Insira o ID correto do sensor virtual no Domoticz e clique Enviar.
13 Crie suas próprias regras
Durante o fechamento editorial, houve outro erro no ESP Easy que fez com que o firmware não enviasse corretamente a pressão do ar do sensor BMP para o Domoticz. Felizmente, o ESP Easy é flexível o suficiente para resolver isso. Para fazer isso, primeiro verifique o seu sensor BMP Enviar para o controlador desligue e clique Enviar. Em seguida, abra a guia Ferramentas, Clique em Avançado, Finch Regras e clique Enviar. Uma nova guia aparecerá agora Regras. Abra isto. Agora você pode adicionar facilmente suas próprias regras no campo de texto.
14 temporizador
No campo de texto, adicione o script abaixo. Substitua o endereço IP, número da porta e ID pelos valores para sua situação. Este script envia os dados do sensor para Domoticz a cada minuto. Reinicie o módulo ESP depois Ferramentas / Reinício.
No System # Boot faça
timerSet, 1,60
Fim
Sobre as Regras # Timer = 1 faço
SendToHTTP, 192.168.1.101,8080, / json.htm? Type = command & param = udevice & idx = 230 & nvalue = 0 & svalue = [BMP # Temperature]; [BMP # Pressure]; BAR_FOR; ALTITUDE
timerSet, 1,60
Fim
15 Configurar tela OLED
Então, só temos que configurar a tela OLED para que possamos ver os dados do sensor nela. Primeiro clique na guia Ferramentas sobre Scan I2C e veja qual endereço I2C a tela OLED usa, 0x3c por padrão. Em seguida, crie um terceiro dispositivo na guia Dispositivos e escolha como tipo Display - OLED SSD1306. Escolha um nome, marque Habilitado e verifique se o endereço I2C correto foi inserido. Escolha também a rotação correta (normal ou de cabeça para baixo) e o tamanho da tela.
16 Mostrar dados do sensor
No restante da configuração da tela OLED, você escolhe o que aparece na tela. Você tem 8 linhas de 16 caracteres para preencher. Preencher na linha 1 T: [BMP # Temperatura] ^ C em, na linha 2 H: [AM2302 # Umidade]% e na linha 3 P: [BMP # Pressão] hPa. Usamos a temperatura do BMP180 porque é mais precisa do que o DHT22. Clique em Enviar. Depois de um minuto (o atraso padrão), você verá os dados do sensor na tela.
17 Outros sensores e atuadores
Os sensores e a tela que conectamos neste workshop não são os únicos dispositivos compatíveis. Aqui você encontrará uma lista de todos os plug-ins. Aqui você também pode ver quais plug-ins estão incluídos no firmware normal e para os quais você precisa do firmware de teste ou desenvolvimento. A página wiki de um plug-in informa como conectar o dispositivo e como configurar o plug-in no ESP Easy.
Sensor IoT alimentado por bateria
ESP Easy é útil para transformar um módulo ESP em um dispositivo IoT. Mas você não quer pendurá-lo na parede o tempo todo com um adaptador de alimentação USB. Felizmente, o módulo ESP também pode ser alimentado por baterias. Você precisa realizar uma série de truques para limitar o consumo de energia. Leia esta página no wiki ESP Easy. Em termos gerais, isso significa que o módulo ESP deve estar no modo de espera pelo maior tempo possível. Por exemplo, você mede o valor do sensor apenas uma vez por hora e só então liga o WiFi. Escolha também o módulo ESP correto. Por exemplo, o Wemos D1 mini é um modelo econômico que continua funcionando por um ano com três pilhas AA com algum esforço.