Deshumidificador Apple HomeKit Wi-Fi basado en ESP8266?: 6 pasos (con imágenes)
Deshumidificador Apple HomeKit Wi-Fi basado en ESP8266?: 6 pasos (con imágenes)
Anonim
Deshumidificador Apple HomeKit Wi-Fi basado en ESP8266?
Deshumidificador Apple HomeKit Wi-Fi basado en ESP8266?
Deshumidificador Apple HomeKit Wi-Fi basado en ESP8266?
Deshumidificador Apple HomeKit Wi-Fi basado en ESP8266?
Deshumidificador Apple HomeKit Wi-Fi basado en ESP8266?
Deshumidificador Apple HomeKit Wi-Fi basado en ESP8266?
Deshumidificador Apple HomeKit Wi-Fi basado en ESP8266?
Deshumidificador Apple HomeKit Wi-Fi basado en ESP8266?

Desafortunadamente, solo hay uno o dos deshumidificadores que admiten Apple HomeKit, pero estos tienen precios realmente altos (300 $ +). ¿Así que he decidido hacer mi propio deshumidificador Apple HomeKit con capacidad Wi-Fi basado en uno barato que ya tengo?

Puede funcionar de forma nativa con HomeKit usando ESP8266, por lo que no se necesita un puente doméstico, ¡HAP-NodeJS! ?

Dado que el código es muy complejo y he usado muchas bibliotecas personalizadas, he creado archivos de firmware precompilados. Para aquellos que estén interesados en hacer proyectos nativos de HomeKit, el código fuente de esp-homekit está disponible aquí. Si no desea utilizar mi firmware, ¿el pinout GPIO está disponible a continuación para hacer el suyo?

Para obtener más información, visite la página de GitHub relacionada. ?

Características:

  • Medición de humedad con sensor SHT3x
  • Configurar la humedad objetivo
  • Controlar la velocidad del ventilador
  • Nivel de agua (a través de LED y apagado automático cuando el tanque está lleno)
  • Botón de encendido / reinicio

Piezas de PCB:

  • ESP12F / E / S
  • Deshumidificador XROW600B
  • Sensor de temperatura / humedad SHT3x
  • Resistencias SMD 0805
  • Condensadores SMD 0805
  • AMS1117-3.3
  • Botón táctil
  • Cabezal 1x4P 2.54mm (opcional)
  • IRF540NS
  • Condensador SMD 10x10.5 50V 100uF
  • Condensador SMD 6x7 6, 3V 330uF
  • LM2575S-5.0
  • Inductor 330uH CRDH74
  • Diodo 1N4007
  • 2N3904
  • VH3.96-2P
  • XH2.54 2P, 4P, 5P
  • LED rojo / verde de 3 mm
  • Espaciador de nailon LED de 3 mm (altura)
  • 4P Macho XH2.54 con cable (para sensor de humedad)

Suministros

  • Soldador O Estación de soldadura O Pistola de soldar de aire caliente
  • Para cargar el código, probablemente también tenga que comprar un adaptador TTL USB.
  • Para desmontar el deshumidificador necesitará algunos destornilladores.
  • PCB personalizado
  • Deshumidificador XROW600B

Paso 1: Desmontaje

Desmontaje
Desmontaje
Desmontaje
Desmontaje
Desmontaje
Desmontaje

Para desmontar el deshumidificador, lo único que necesitará es un destornillador que pueda caber en los orificios de la parte posterior del dispositivo. ?

  1. Desatornille los 2 tornillos en la parte inferior del dispositivo
  2. Desatornille los 4 tornillos en la parte posterior del dispositivo
  3. Ahora puedes desmontar la carcasa de plástico.
  4. Desenchufe todos los conectores de la PCB
  5. Desatornille los 2 tornillos que sujetan la PCB

Paso 2: PCB personalizado

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

He diseñado un PCB personalizado que puede reemplazar al original, muy básico. Básicamente es solo una fuente de alimentación / convertidor reductor de 12V a 3.3V, dos MOSFET para impulsar el ventilador y el peltier, el ESP8266 en sí, dos LED y el botón táctil como en el original.

También agregué los mismos conectores para la nueva PCB que en la original y un conector adicional de 4 pines para el sensor de humedad SHT3x. ¡También se puede utilizar la fuente de alimentación de 9 V que viene con el deshumidificador! ¿Todo es plug 'n' play?

¡Puede encontrar más información sobre los PCB aquí

Los archivos de PCB se pueden encontrar en PCBWay

Sensor de humedad SHT3x

Debe conectar el sensor SHT3x con un conector macho XH2.54-4P con cables (vinculados en la lista de piezas) simplemente conectando todo como debería ser: VCC a VCC, GND a GND, SDA a SDA y SCL a SCL ?

Actualmente, en mi configuración, el sensor simplemente cuelga fuera de la caja del deshumidificador, depende de usted dónde / cómo coloque el sensor, pero dentro de la caja del deshumidificador, ¡la humedad / agua atrapada puede influir en la lectura del sensor! ?

Pinout GPIO

Si desea utilizar su propio firmware, aquí está el pinout:

  • Botón - GPIO0 (D3 en wemos D1 mini)
  • SHT3x SDA - GPIO4 (D2 en wemos D1 mini)
  • SHT3x SCL - GPIO5 (D1 en wemos D1 mini)
  • LED GPIO2 incorporado (D4 en wemos D1 mini)
  • LED de encendido - GPIO14 (D5 en wemos D1 mini)
  • Ventilador - GPIO15 (D8 en wemos D1 mini)
  • Peltier - GPIO12 (D6 en wemos D1 mini)
  • Sensor de tanque - GPIO13 (D7 en wemos D1 mini)

Paso 3: configuración del software

Configuración del software
Configuración del software
Configuración del software
Configuración del software
Configuración del software
Configuración del software

¡Puedes descargar el firmware desde mi página de GitHub

Ventanas

Para Windows, puede utilizar la herramienta de descarga de firmware oficial de Espressif.

Configurar las direcciones flash (0x2000), el tamaño del flash (4MB / 32mbit) y el modo flash (DIO / QIO) es un paso muy importante, ¡pero estos ajustes pueden cambiar según el módulo que esté utilizando! ¡También recomiendo borrar el flash la primera vez que instale el firmware antes de cargar los archivos.bin!

Ajustes:

  • Tasa de baudios 115200
  • Tamaño de flash 4 MB o 32 MB (según su módulo)
  • Modo flash QIO (o DIO, según su módulo)
  • 0x0000 rboot.bin
  • 0x1000 blank_config.bin
  • 0x2000 main.bin
  • 40 MHz

Mac OS

¡Para MacOS puedes usar esta herramienta de flasheo!

  • Configuración: Borrar flash - sí (solo en la primera instalación)
  • Tasa de baudios 115200
  • Tamaño de flash 4 MB o 32 MB (según su módulo)
  • Modo flash QIO (o DIO, según su módulo)
  • Archivo: main.bin
  • 40 MHz

Flash manual

Tenemos que instalar esptool.py en nuestra Mac para poder actualizar nuestro módulo ESP. Para trabajar con esptool.py, necesitará Python 2.7, Python 3.4 o una instalación de Python más reciente en su sistema. Recomendamos usar la última versión de Python, así que vaya al sitio web de Python e instálelo en su computadora. Con Python instalado, abra una ventana de Terminal e instale la última versión estable de esptool.py con pip:

pip instalar esptool

Nota: con algunas instalaciones de Python, es posible que ese comando no funcione y recibirá un error. Si ese es el caso, intente instalar esptool.py con:

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

Después de la instalación, tendrá esptool.py instalado en el directorio de ejecutables de Python predeterminado y debería poder ejecutarlo con el comando esptool.py. En su ventana de Terminal, ejecute el siguiente comando:

esptool.py

Con esptool.py instalado en su computadora, puede actualizar fácilmente su placa ESP8266 con el firmware. Al principio, debe descargar tres archivos bin: rboot.bin y blank_config.bin y la última versión. El rboot.bin contiene el cargador de arranque para el ESP8266 y el blank_config.bin en solo un archivo de configuración en blanco y ledstrip.bin contiene el firmware. Ahora conecte su dispositivo a su adaptador FTDI en modo flash.

Para habilitar el firmware ESP8266 parpadeante, el pin GPIO0 debe estar bajo mientras se enciende el dispositivo. Con mi PCB personalizado hay un botón, que debe mantener presionado mientras conecta el adaptador FTDI a su PC. Por el contrario, para un arranque normal, GPIO0 debe estar alto o flotando. Comience en MODO FLASH Vaya al directorio que creó donde colocó los archivos rboot.bin blank_config.bin descargados previamente (por ejemplo, Descargas) Abra la aplicación Terminal. Haz clic en el ícono Finder en tu dock. Haga clic en Ir. Haga clic en Utilidades. Haga doble clic en Terminal.

Cambie al directorio de descargas.

Nota: Si usa otra biblioteca para almacenar los tres archivos.bin, navegue a esa biblioteca usando el comando `cd`: Use esptool.py para actualizar su dispositivo.

descargas de cd

Necesitará un adaptador TTL USB para conectarse al ESP8266. Si utiliza un Wemos D1 Mini, solo necesita un cable microUSB, el Wemos tiene un adaptador TTL incorporado.

La primera vez que instalamos el firmware, debemos borrar el flash:

esptool.py -p / dev / erase_flash

Normalmente, su ESPPort será algo así como / dev / cu.usbserial-`xxxxxx`. Luego, vuelva a configurar su dispositivo en modo flash y actualice el nuevo 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

Configuración de Wi-Fi y HomeKit

Configuración de Wi-Fi

Debe configurar la red wifi antes de agregar el accesorio a HomeKit. Para configurar los ajustes de Wi-Fi, el dispositivo genera su propio Wi-Fi en modo AP. Debe conectarse a él para configurar su red Wi-Fi. Simplemente tome su dispositivo iOS, vaya a Configuración -> Wi-Fi, busque un SSID llamado HomeKid, seguido de la dirección MAC del módulo y conéctese a él. ¡Por razones de seguridad, el AP está protegido con contraseña!

Contraseña AP predeterminada: 12345678

Espere unos segundos hasta que aparezca una web que le muestre todas las redes Wi-Fi que ha encontrado el dispositivo. ¡Selecciona el tuyo e ingresa la contraseña! ¡Luego haga clic en el botón Unirse! El módulo intentará conectar la red Wi-Fi seleccionada, esto tomará un par de segundos.

Nota: Si la contraseña proporcionada es incorrecta, puede restablecer la configuración de Wi-Fi manteniendo presionado el botón durante 10 segundos

Configuración de HomeKit

En su dispositivo iOS, abra la aplicación Home y siga los pasos normales para agregar un nuevo accesorio. La configuración del emparejamiento tarda unos 30 segundos.

El código de HomeKit es 586-84-417

También puede escanear este código QR de HomeKit.

Nota: Si el emparejamiento falla, puede apagar su dispositivo, volver a encenderlo e iniciar la configuración de HomeKit nuevamente (la configuración de Wifi se mantiene configurada). Después de un emparejamiento exitoso, el LED de encendido parpadeará en blanco 3 veces.

Paso 4: Conexiones de PCB

Conexiones de PCB
Conexiones de PCB
Conexiones de PCB
Conexiones de PCB

Para el diseño de la PCB, he elegido los mismos conectores que los de la PCB original. ?

Entonces este paso debería ser sencillo:

  • Conecte el ventilador al conector del ventilador
  • Conectar el TEC (módulo peltier) al conector correspondiente
  • Conecte el conector de alimentación de 5 pines al conector correspondiente
  • Conecte el módulo SHT3x a su propio conector

Paso 5: Armado

Poniendo todo junto
Poniendo todo junto
Poniendo todo junto
Poniendo todo junto

¿Armar el dispositivo es el mismo proceso que el desmontaje, pero en orden inverso?

Paso 6: ¿Notas útiles?

Notas útiles
Notas útiles

El deshumidificador tiene algunas características de seguridad cuando el tanque está lleno y el dispositivo está funcionando:

  • Apaga automáticamente el ventilador / Peltier hasta que el tanque está vacío
  • Enciende inmediatamente el LED rojo
  • Hace parpadear el LED de encendido 3 veces cada 30 segundos

También tiene una función de seguridad en caso de que el sensor SHT3x no funcione correctamente:

  • Apaga automáticamente el ventilador / Peltier hasta que el tanque está vacío
  • Establecer la humedad actual al 0%
  • Parpadea el LED de encendido 2 veces cada 30 segundos

Cuando tanto el SHT3x tiene un error y el tanque está lleno, el LED de encendido parpadeará 6 veces cada 30 segundos.

En el ESP8266 tiene algún error, no necesita desconectar el dispositivo de la alimentación, ¡presionar tres veces el botón reiniciará el ESP8266!

Cuando el deshumidificador se enciende y la humedad actual es igual y / o menor que la humedad objetivo, el dispositivo pasará al modo inactivo. En la aplicación Inicio, mostrará "Establecer en …" cuando el dispositivo esté inactivo y mostrará "Bajando a …" cuando se esté ejecutando.

Actualizar el firmware

He planeado implementar actualizaciones de firmware por aire (OTA), pero no es tan confiable, por lo que la actualización debe realizarse manualmente como en la primera configuración. La única diferencia es que no es necesario borrar el flash, ¡con solo actualizar el firmware más nuevo sin borrarlo, se conservará la configuración de Wi-Fi / HomeKit! ?