Índice:

Desumidificador Apple HomeKit Wi-Fi baseado em ESP8266?: 6 etapas (com imagens)
Desumidificador Apple HomeKit Wi-Fi baseado em ESP8266?: 6 etapas (com imagens)
Anonim
Desumidificador Wi-Fi Apple HomeKit baseado em ESP8266?
Desumidificador Wi-Fi Apple HomeKit baseado em ESP8266?
Desumidificador Wi-Fi Apple HomeKit baseado em ESP8266?
Desumidificador Wi-Fi Apple HomeKit baseado em ESP8266?
Desumidificador Wi-Fi Apple HomeKit baseado em ESP8266?
Desumidificador Wi-Fi Apple HomeKit baseado em ESP8266?
Desumidificador Wi-Fi Apple HomeKit baseado em ESP8266?
Desumidificador Wi-Fi Apple HomeKit baseado em ESP8266?

Infelizmente, existem apenas um ou dois Desumidificadores por aí que suportam o Apple HomeKit, mas eles têm preços realmente altos (300 $ +). Então, decidi fazer meu próprio desumidificador Apple HomeKit com capacidade para Wi-Fi baseado em um barato que já possuo?

Ele pode funcionar nativamente com o HomeKit usando ESP8266, então não é necessário o homebridge, o HAP-NodeJS! ?

Como o código é muito complexo e usei muitas bibliotecas personalizadas, criei arquivos de firmware pré-compilados. Para aqueles interessados em fazer projetos HomeKit nativos, o código-fonte do esp-homekit está disponível aqui. Se você não quiser usar meu firmware, a pinagem GPIO está disponível abaixo para fazer o seu próprio?

Para obter mais informações, visite a página relacionada do GitHub! ?

Recursos:

  • Medição de umidade usando sensor SHT3x
  • Configure a umidade desejada
  • Controlando a velocidade do ventilador
  • Nível da água (via LEDs e desligamento automático quando o tanque está cheio)
  • Botão Power / Reset

Peças de PCB:

  • ESP12F / E / S
  • Desumidificador XROW600B
  • Sensor de temperatura / umidade SHT3x
  • Resistores SMD 0805
  • Capacitores SMD 0805
  • AMS1117-3.3
  • Botão Tátil
  • Cabeçalho 1x4P 2,54 mm (opcional)
  • IRF540NS
  • Capacitor SMD 10x10.5 50V 100uF
  • Capacitor SMD 6x7 6, 3V 330uF
  • LM2575S-5.0
  • Indutor 330uH CRDH74
  • Diodo 1N4007
  • 2N3904
  • VH3.96-2P
  • XH2.54 2P, 4P, 5P
  • LED vermelho / verde 3 MM
  • Espaçador de nylon LED de 3 mm (altura)
  • 4P Macho XH2.54 com cabo (para sensor de umidade)

Suprimentos

  • Ferro de solda OU Estação de solda OU Pistola de solda a ar quente
  • Para fazer o upload do código, você provavelmente terá que comprar um adaptador TTL USB também.
  • Para desmontar o desumidificador, você precisará de algumas chaves de fenda.
  • PCB personalizado
  • Desumidificador XROW600B

Etapa 1: desmontagem

Desmontagem
Desmontagem
Desmontagem
Desmontagem
Desmontagem
Desmontagem

Para desmontar o desumidificador, a única coisa que você precisa é de uma chave de fenda que se encaixe nos orifícios na parte traseira do aparelho! ?

  1. Desaparafuse os 2 parafusos na parte inferior do dispositivo
  2. Desaparafuse os 4 parafusos na parte traseira do dispositivo
  3. Agora você pode desmontar a caixa de plástico
  4. Desconecte todos os conectores do PCB
  5. Desaparafuse os 2 parafusos que prendem o PCB

Etapa 2: PCB personalizado

PCB personalizado
PCB personalizado
PCB personalizado
PCB personalizado
PCB personalizado
PCB personalizado
PCB personalizado
PCB personalizado

Eu projetei um PCB personalizado que pode substituir o original, muito básico. É basicamente apenas uma fonte de alimentação / conversor abaixador de 12V para 3,3V, dois MOSFETs para acionar a ventoinha e o peltier, o próprio ESP8266, dois LEDs e o botão tátil como no original.

Eu também adicionei os mesmos conectores para o novo PCB como no original e um conector extra de 4 pinos para o sensor de umidade SHT3x. A fonte de alimentação de 9 V que vem com o desumidificador também pode ser usada! Tudo é plug 'n' play?

Você pode encontrar mais informações sobre os PCBs aqui

Os arquivos PCB podem ser encontrados em PCBWay

Sensor de umidade SHT3x

Você deve conectar o sensor SHT3x usando um conector XH2.54-4P macho com fios (vinculados na lista de peças) simplesmente conectando tudo como deveria ser: VCC para VCC, GND para GND, SDA para SDA e SCL para SCL ?

Atualmente na minha configuração o sensor está apenas pendurado fora da caixa do desumidificador, cabe a você onde / como você coloca o sensor, mas dentro da caixa do desumidificador a umidade / água capturada pode influenciar a leitura do sensor! ?

GPIO Pinout

Se você deseja usar seu próprio firmware, veja a pinagem:

  • Botão - GPIO0 (D3 no wemos D1 mini)
  • SHT3x SDA - GPIO4 (D2 no wemos D1 mini)
  • SHT3x SCL - GPIO5 (D1 no wemos D1 mini)
  • LED GPIO2 integrado (D4 no wemos D1 mini)
  • LED de energia - GPIO14 (D5 no wemos D1 mini)
  • Ventilador - GPIO15 (D8 no wemos D1 mini)
  • Peltier - GPIO12 (D6 no wemos D1 mini)
  • Sensor do tanque - GPIO13 (D7 no wemos D1 mini)

Etapa 3: configuração do software

Configuração de software
Configuração de software
Configuração de software
Configuração de software
Configuração de software
Configuração de software

Você pode baixar o firmware da minha página GitHub

janelas

Para Windows, você pode usar a ferramenta oficial de download de firmware da Espressif!

Definir os endereços de flash (0x2000), tamanho de flash (4 MB / 32 MBit) e modo de flash (DIO / QIO) é uma etapa muito importante, mas essas configurações podem ser alteradas com base no módulo que você está usando! Também recomendo apagar o flash quando instalar o firmware pela primeira vez, antes de enviar os arquivos.bin!

Definições:

  • Taxa Baud 115200
  • Tamanho do Flash 4 MB ou 32 MBit (dependendo do seu módulo)
  • Modo Flash QIO (ou DIO, dependendo do seu módulo)
  • 0x0000 rboot.bin
  • 0x1000 blank_config.bin
  • 0x2000 main.bin
  • 40 MHz

Mac OS

Para MacOS, você pode usar esta ferramenta pisca-pisca!

  • Configurações: Apagar flash - sim (apenas na primeira instalação)
  • Taxa Baud 115200
  • Tamanho do Flash 4 MB ou 32 MBit (dependendo do seu módulo)
  • Modo Flash QIO (ou DIO, dependendo do seu módulo)
  • Arquivo: main.bin
  • 40 MHz

Flash manualmente

Temos que instalar o esptool.py em nosso Mac para poder atualizar nosso módulo ESP. Para trabalhar com esptool.py, você precisará do Python 2.7, Python 3.4 ou de uma instalação Python mais recente em seu sistema. Recomendamos usar a versão mais recente do Python, então vá para o site do Python e instale-o em seu computador. Com o Python instalado, abra uma janela do Terminal e instale a versão mais recente do esptool.py estável com pip:

pip instalar esptool

Observação: com algumas instalações Python, esse comando pode não funcionar e você receberá um erro. Se for esse o caso, tente instalar esptool.py com:

pip3 instalar esptool python -m pip instalar esptool pip2 instalar esptool

Após a instalação, você terá esptool.py instalado no diretório de executáveis padrão do Python e deverá ser capaz de executá-lo com o comando esptool.py. Na janela do Terminal, execute o seguinte comando:

esptool.py

Com esptool.py instalado em seu computador, você pode facilmente atualizar sua placa ESP8266 com o firmware. Primeiro, você precisa baixar três arquivos bin: rboot.bin e blank_config.bin e a versão mais recente. O rboot.bin contém o bootloader para o ESP8266 e o blank_config.bin em apenas um arquivo de configuração em branco e ledstrip.bin contém o firmware. Agora conecte seu dispositivo ao adaptador FTDI no modo flash.

Para ativar o firmware ESP8266, o pino GPIO0 deve ser puxado para baixo ao ligar o dispositivo. Com meu PCB personalizado, há um botão que você precisa manter pressionado enquanto conecta o adaptador FTDI ao PC. Por outro lado, para uma inicialização normal, GPIO0 deve ser puxado para cima ou flutuando. Comece no MODO FLASH Vá para o diretório que você criou, onde colocou os arquivos rboot.bin blank_config.bin baixados anteriormente (por exemplo, Downloads) Abra o aplicativo Terminal. Clique no ícone do Finder em seu dock. Clique em Go. Clique em Utilitários. Clique duas vezes em Terminal.

Mude para o diretório de downloads.

Nota: Se você estiver usando outra biblioteca para armazenar os três arquivos.bin, navegue até essa biblioteca usando o comando `cd`: Use esptool.py para atualizar seu dispositivo.

downloads de cd

Você precisará de um adaptador TTL USB para conectar ao ESP8266. Se você estiver usando um Wemos D1 Mini, só precisará de um cabo microUSB, o Wemos tem um adaptador TTL embutido.

Ao instalar o firmware pela primeira vez, precisamos apagar o flash:

esptool.py -p / dev / erase_flash

Normalmente, seu ESPPort será algo como / dev / cu.usbserial-`xxxxxx`. Em seguida, defina seu dispositivo no modo flash novamente e atualize o novo firmware:

esptool.py -p /dev/cu.wchusbserial1420 --baud 115200 write_flash -fs 32m -fm dio -ff 40m 0x0 rboot.bin 0x1000 blank_config.bin 0x2000 main.bin

Configuração de Wi-fi e HomeKit

Configuração de Wi-Fi

Você deve configurar a rede wi-fi antes de adicionar o acessório ao HomeKit. Para definir as configurações de Wi-Fi, o dispositivo gera seu próprio Wi-Fi no modo AP. Você deve se conectar a ele para configurar sua rede Wi-Fi. Simplesmente pegue seu dispositivo iOS, vá para Setting -> Wi-Fi, e procure por um SSID chamado HomeKid seguido pelo endereço MAC do módulo e conecte-se a ele. Por razões de segurança, o AP é protegido por senha!

Senha padrão do AP: 12345678

Aguarde alguns segundos até que uma web apareça mostrando todas as redes Wi-Fi que o dispositivo encontrou. Selecione a sua e digite a senha! Em seguida, clique no botão Participar! O módulo tentará se conectar à rede Wi-Fi selecionada, isso levará alguns segundos.

Observação: se a senha fornecida estiver errada, você pode redefinir as configurações de Wi-Fi mantendo o botão pressionado por 10 segundos

Configuração do HomeKit

No seu dispositivo iOS, abra o aplicativo Home e siga as etapas normais para adicionar um novo acessório. A configuração do emparelhamento leva cerca de 30 segundos.

O código do HomeKit é 586-84-417

Além disso, você pode digitalizar este código QR HomeKit.

Nota: Se o emparelhamento falhar, você pode desligar o dispositivo, ligá-lo novamente e iniciar a configuração do HomeKit novamente (as configurações de Wifi mantêm-se definidas). Após o emparelhamento bem-sucedido, o LED de energia piscará em branco 3 vezes!

Etapa 4: conexões de PCB

Conexões PCB
Conexões PCB
Conexões PCB
Conexões PCB

Para o design do PCB, escolhi os mesmos conectores que os do PCB original! ?

Portanto, esta etapa deve ser simples:

  • Conecte o ventilador ao conector do ventilador
  • Conecte o TEC (módulo peltier) ao conector correspondente
  • Conecte o conector de alimentação de 5 pinos ao conector correspondente
  • Conecte o módulo SHT3x ao seu próprio conector

Etapa 5: juntando tudo

Juntar as peças
Juntar as peças
Juntar as peças
Juntar as peças

Montar o dispositivo é o mesmo processo da desmontagem, apenas na ordem inversa?

Etapa 6: Notas úteis?

Notas úteis?
Notas úteis?

O desumidificador tem alguns recursos de segurança quando o tanque está cheio e o dispositivo está funcionando:

  • Desliga automaticamente o Ventilador / Peltier até que o tanque esteja vazio
  • Liga imediatamente o LED vermelho
  • Pisca o LED de energia 3 vezes a cada 30 segundos

Também possui recurso de segurança caso o sensor SHT3x não funcione corretamente:

  • Desliga automaticamente o Ventilador / Peltier até que o tanque esteja vazio
  • Configurando a umidade atual para 0%
  • Pisca o LED de energia 2 vezes a cada 30 segundos

Quando o SHT3x apresenta erro e o tanque está cheio, o LED de energia pisca 6 vezes a cada 30 segundos.

No ESP8266 tem algum erro você não precisa desligar o aparelho da energia, apertar três vezes o botão irá reiniciar o ESP8266!

Quando o Desumidificador é ligado e a umidade atual é igual e / ou menor que a umidade desejada, o dispositivo entrará no modo de Espera. No aplicativo Home, ele mostrará "Definir para …" quando o dispositivo estiver inativo e "Baixando para …" quando estiver em execução!

Atualizando o firmware

Eu planejei implementar atualizações de firmware Over-The-Air (OTA), mas não é tão confiável, então a atualização deve ser feita manualmente como na primeira configuração! A única diferença é que você não precisa apagar o flash; simplesmente fazer o flash do firmware mais recente sem apagá-lo preservará suas configurações de Wi-Fi / HomeKit! ?

Recomendado: