Inhaltsverzeichnis:

Apple HomeKit Wi-Fi Entfeuchter basierend auf ESP8266? - Gunook
Apple HomeKit Wi-Fi Entfeuchter basierend auf ESP8266? - Gunook

Video: Apple HomeKit Wi-Fi Entfeuchter basierend auf ESP8266? - Gunook

Video: Apple HomeKit Wi-Fi Entfeuchter basierend auf ESP8266? - Gunook
Video: Jedes Gerät in HomeKit nutzen: Was kann Homebridge und wie geht es? 2024, November
Anonim
Apple HomeKit Wi-Fi Entfeuchter basierend auf ESP8266 ?
Apple HomeKit Wi-Fi Entfeuchter basierend auf ESP8266 ?
Apple HomeKit Wi-Fi Entfeuchter basierend auf ESP8266 ?
Apple HomeKit Wi-Fi Entfeuchter basierend auf ESP8266 ?
Apple HomeKit Wi-Fi Entfeuchter basierend auf ESP8266 ?
Apple HomeKit Wi-Fi Entfeuchter basierend auf ESP8266 ?
Apple HomeKit Wi-Fi Entfeuchter basierend auf ESP8266 ?
Apple HomeKit Wi-Fi Entfeuchter basierend auf ESP8266 ?

Leider gibt es nur ein oder zwei Entfeuchter, die Apple HomeKit unterstützen, aber diese haben einen wirklich hohen Preis (300 $ +). Also habe ich beschlossen, meinen eigenen Wi-Fi-fähigen Apple HomeKit-Luftentfeuchter basierend auf einem billigen, den ich bereits habe, herzustellen?

Es kann nativ mit HomeKit mit ESP8266 arbeiten, also keine Homebridge, HAP-NodeJS erforderlich! ?

Da der Code sehr komplex ist und ich viele benutzerdefinierte Bibliotheken verwendet habe, habe ich vorkompilierte Firmware-Dateien erstellt. Für diejenigen, die daran interessiert sind, native HomeKit-Projekte zu erstellen, ist der Quellcode für esp-homekit hier verfügbar. Wenn Sie meine Firmware nicht verwenden möchten, ist die GPIO-Pinbelegung unten verfügbar, um Ihre eigene zu erstellen ?

Weitere Informationen finden Sie auf der entsprechenden GitHub-Seite! ?

Merkmale:

  • Feuchtemessung mit SHT3x Sensor
  • Richten Sie die Zielfeuchtigkeit ein
  • Steuerung der Lüftergeschwindigkeit
  • Wasserstand (über LEDs und automatische Abschaltung bei vollem Tank)
  • Power/Reset-Taste

PCB-Teile:

  • ESP12F/E/S
  • XROW600B Luftentfeuchter
  • SHT3x Temperatur-/Feuchtigkeitssensor
  • SMD 0805 Widerstände
  • SMD 0805 Kondensatoren
  • AMS1117-3.3
  • Taktile Taste
  • 1x4P 2,54 mm Stiftleiste (optional)
  • IRF540NS
  • SMD 10x10.5 50V 100uF Kondensator
  • SMD 6x7 6, 3V 330uF Kondensator
  • LM2575S-5.0
  • 330uH CRDH74 Induktivität
  • 1N4007 Diode
  • 2N3904
  • VH3.96-2P
  • XH2.54 2P, 4P, 5P
  • 3MM rote/grüne LED
  • 3mm (Höhe) LED-Nylon-Abstandshalter
  • 4P Male XH2.54 mit Kabel (für Feuchtigkeitssensor)

Lieferungen

  • LötkolbenORLötstationOR Heißluftlötpistole
  • Zum Hochladen des Codes müssen Sie wahrscheinlich auch einen USB-TTL-Adapter kaufen.
  • Zum Zerlegen des Luftentfeuchters benötigen Sie einige Schraubendreher.
  • Kundenspezifische Leiterplatte
  • XROW600B Luftentfeuchter

Schritt 1: Demontage

Demontage
Demontage
Demontage
Demontage
Demontage
Demontage

Zum Zerlegen des Luftentfeuchters benötigen Sie lediglich einen Schraubendreher, der in die Löcher auf der Rückseite des Geräts passt! ?

  1. Lösen Sie die 2 Schrauben an der Unterseite des Geräts
  2. Lösen Sie die 4 Schrauben an der Rückseite des Geräts
  3. Jetzt können Sie das Kunststoffgehäuse auseinandernehmen
  4. Trennen Sie jeden Stecker auf der Platine
  5. Lösen Sie die 2 Schrauben, die die Platine halten

Schritt 2: Benutzerdefinierte Leiterplatte

Kundenspezifische Leiterplatte
Kundenspezifische Leiterplatte
Kundenspezifische Leiterplatte
Kundenspezifische Leiterplatte
Kundenspezifische Leiterplatte
Kundenspezifische Leiterplatte
Kundenspezifische Leiterplatte
Kundenspezifische Leiterplatte

Ich habe eine benutzerdefinierte Platine entworfen, die die ursprüngliche, sehr einfache Platine ersetzen kann. Es ist im Grunde nur ein Netzteil / Abwärtswandler von 12V auf 3,3V, zwei MOSFETs zum Antreiben des Lüfters und des Peltiers, der ESP8266 selbst, zwei LEDs und die taktile Taste wie beim Original.

Ich habe auch die gleichen Anschlüsse für die neue Platine wie beim Original hinzugefügt und einen zusätzlichen 4-poligen Anschluss für den SHT3x-Feuchtesensor. Das mit dem Entfeuchter gelieferte 9-V-Netzteil kann ebenfalls verwendet werden! Alles Plug'n'Play?

Weitere Informationen zu den Leiterplatten finden Sie hier

PCB-Dateien finden Sie bei PCBWay

SHT3x Feuchtigkeitssensor

Sie müssen den SHT3x-Sensor mit einem XH2.54-4P-Stecker mit Drähten (in der Teileliste verlinkt) verdrahten, einfach alles so anschließen, wie es sein sollte: VCC an VCC, GND an GND, SDA an SDA und SCL an SCL ?

Derzeit hängt der Sensor in meinem Setup nur außerhalb des Gehäuses des Entfeuchters, es liegt an Ihnen, wo / wie Sie den Sensor platzieren, aber im Gehäuse des Entfeuchters kann die eingefangene Feuchtigkeit / das Wasser den Sensormesswert beeinflussen! ?

GPIO-Pinbelegung

Wenn Sie Ihre eigene Firmware verwenden möchten, hier die Pinbelegung:

  • Taste - GPIO0 (D3 auf wemos D1 mini)
  • SHT3x SDA - GPIO4 (D2 auf wemos D1 mini)
  • SHT3x SCL - GPIO5 (D1 auf wemos D1 mini)
  • Eingebaute LED GPIO2 (D4 auf wemos D1 mini)
  • Power-LED - GPIO14 (D5 auf wemos D1 mini)
  • Lüfter - GPIO15 (D8 auf wemos D1 mini)
  • Peltier - GPIO12 (D6 auf wemos D1 mini)
  • Tanksensor - GPIO13 (D7 auf wemos D1 mini)

Schritt 3: Software-Setup

Software-Setup
Software-Setup
Software-Setup
Software-Setup
Software-Setup
Software-Setup

Sie können die Firmware von meiner GitHub-Seite herunterladen

Fenster

Für Windows können Sie das offizielle Firmware Download Tool von Espressif verwenden!

Das Einstellen der Flash-Adressen (0x2000), der Flash-Größe (4MB/32mbit) und des Flash-Modus (DIO/QIO) ist ein sehr wichtiger Schritt, aber diese Einstellungen können sich je nach verwendetem Modul ändern! Außerdem empfehle ich, den Flash zu löschen, wenn Sie die Firmware zum ersten Mal installieren, bevor Sie die.bin-Dateien hochladen!

Einstellungen:

  • Baudrate 115200
  • Flashgröße 4MB oder 32mbit (je nach Modul)
  • Flash-Modus QIO (oder DIO, je nach Modul)
  • 0x0000 rboot.bin
  • 0x1000 leere_config.bin
  • 0x2000 main.bin
  • 40MHz

Mac OS

Für MacOS können Sie dieses Flasher-Tool verwenden!

  • Einstellungen: Flash löschen - ja (nur bei Erstinstallation)
  • Baudrate 115200
  • Flashgröße 4MB oder 32mbit (je nach Modul)
  • Flash-Modus QIO (oder DIO, je nach Modul)
  • Datei: main.bin
  • 40MHz

Manuelles Blitzen

Wir müssen esptool.py auf unserem Mac installieren, um unser ESP-Modul flashen zu können. Um mit esptool.py zu arbeiten, benötigen Sie entweder Python 2.7, Python 3.4 oder eine neuere Python-Installation auf Ihrem System. Wir empfehlen die Verwendung der neuesten Python-Version, besuchen Sie also die Python-Website und installieren Sie sie auf Ihrem Computer. Wenn Python installiert ist, öffnen Sie ein Terminalfenster und installieren Sie die neueste stabile esptool.py-Version mit pip:

pip installieren esptool

Hinweis: Bei einigen Python-Installationen funktioniert dieser Befehl möglicherweise nicht und Sie erhalten eine Fehlermeldung. Wenn dies der Fall ist, versuchen Sie esptool.py mit zu installieren:

pip3 install esptool python -m pip install esptool pip2 installiere esptool

Nach der Installation haben Sie esptool.py im standardmäßigen Python-Verzeichnis für ausführbare Dateien installiert und sollten es mit dem Befehl esptool.py ausführen können. Führen Sie in Ihrem Terminalfenster den folgenden Befehl aus:

esptool.py

Wenn esptool.py auf Ihrem Computer installiert ist, können Sie Ihr ESP8266-Board ganz einfach mit der Firmware flashen. Zuerst müssen Sie drei bin-Dateien herunterladen: rboot.bin und blank_config.bin und die neueste Version. Die rboot.bin enthält den Bootloader für den ESP8266 und die blank_config.bin in nur einer leeren Konfigurationsdatei und ledstrip.bin enthält die Firmware. Verbinden Sie nun Ihr Gerät im Flash-Modus mit Ihrem FTDI-Adapter.

Um das Flashen der ESP8266-Firmware zu aktivieren, muss der GPIO0-Pin niedrig gezogen werden, während das Gerät mit Strom versorgt wird. Bei meiner benutzerdefinierten Platine gibt es eine Taste, die Sie gedrückt halten müssen, während Sie den FTDI-Adapter an Ihren PC anschließen. Umgekehrt muss GPIO0 für einen normalen Boot hochgezogen oder schwebend sein. Starten Sie im FLASH-MODUS Gehen Sie in das Verzeichnis, das Sie erstellt haben, in dem Sie die zuvor heruntergeladenen rboot.bin blank_config.bin-Dateien abgelegt haben (z. B. Downloads) Öffnen Sie die Terminal-App. Klicken Sie in Ihrem Dock auf das Finder-Symbol. Klicken Sie auf Los. Klicken Sie auf Dienstprogramme. Doppelklicken Sie auf Terminal.

Wechseln Sie in das Download-Verzeichnis.

Hinweis: Wenn Sie eine andere Bibliothek zum Speichern der drei.bin-Dateien verwenden, navigieren Sie mit dem Befehl `cd` in diese Bibliothek: Verwenden Sie esptool.py, um Ihr Gerät zu flashen.

CD-Downloads

Für die Verbindung mit dem ESP8266 benötigen Sie einen USB-TTL-Adapter. Wenn Sie mit einem Wemos D1 Mini nur ein microUSB-Kabel benötigen, hat das Wemos einen TTL-Adapter eingebaut.

Bei der erstmaligen Installation der Firmware müssen wir den Flash löschen:

esptool.py -p /dev/erase_flash

Normalerweise ist Ihr ESPPort so etwas wie /dev/cu.usbserial-`xxxxxx`. Stellen Sie dann Ihr Gerät wieder in den Flash-Modus und flashen Sie die neue 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

WLAN- und HomeKit-Einrichtung

WLAN-Einrichtung

Sie müssen das WLAN-Netzwerk konfigurieren, bevor Sie das Zubehör zu HomeKit hinzufügen. Um die WLAN-Einstellungen zu konfigurieren, generiert das Gerät sein eigenes WLAN im AP-Modus. Sie müssen sich damit verbinden, um Ihr Wi-Fi-Netzwerk einzurichten. Nehmen Sie einfach Ihr iOS-Gerät, gehen Sie zu Einstellungen -> WLAN und suchen Sie nach einer SSID namens HomeKid, gefolgt von der MAC-Adresse des Moduls und verbinden Sie sich damit. Aus Sicherheitsgründen ist der AP passwortgeschützt!

Standard-AP-Passwort: 12345678

Warten Sie einige Sekunden, bis ein Web angezeigt wird, das Ihnen alle Wi-Fi-Netzwerke anzeigt, die das Gerät gefunden hat. Wählen Sie Ihre aus und geben Sie Ihr Passwort ein! Klicken Sie dann auf die Schaltfläche Beitreten! Das Modul versucht, eine Verbindung mit dem ausgewählten Wi-Fi-Netzwerk herzustellen, dies dauert einige Sekunden.

Hinweis: Wenn das angegebene Passwort falsch ist, können Sie die WLAN-Einstellungen zurücksetzen, indem Sie die Taste 10 Sekunden lang gedrückt halten

HomeKit-Setup

Öffnen Sie auf Ihrem iOS-Gerät die Home App und führen Sie die normalen Schritte aus, um ein neues Zubehör hinzuzufügen. Die Einrichtung der Kopplung dauert etwa 30 Sekunden.

HomeKit-Code ist 586-84-417

Sie können auch diesen HomeKit-QR-Code scannen.

Hinweis: Wenn das Pairing fehlschlägt, können Sie Ihr Gerät ausschalten, wieder einschalten und die HomeKit-Einrichtung erneut starten (die WLAN-Einstellungen bleiben konfiguriert). Nach erfolgreichem Pairing blinkt die Power-LED 3 Mal weiß!

Schritt 4: PCB-Anschlüsse

PCB-Anschlüsse
PCB-Anschlüsse
PCB-Anschlüsse
PCB-Anschlüsse

Für das PCB-Design habe ich die gleichen Steckverbinder wie auf der Originalplatine gewählt! ?

Dieser Schritt sollte also einfach sein:

  • Verbinden Sie den Lüfter mit dem Lüfteranschluss
  • Verbinden Sie das TEC (Peltier-Modul) mit dem entsprechenden Anschluss
  • Verbinden Sie den 5-poligen Stromanschluss mit dem entsprechenden Anschluss
  • Verbinden Sie das SHT3x-Modul mit seinem eigenen Anschluss

Schritt 5: Zusammenbauen

Etwas zusammensetzen
Etwas zusammensetzen
Etwas zusammensetzen
Etwas zusammensetzen

Der Zusammenbau des Gerätes ist der gleiche Vorgang wie der Abbau nur in umgekehrter Reihenfolge?

Schritt 6: Nützliche Hinweise?

Nützliche Hinweise?
Nützliche Hinweise?

Der Luftentfeuchter verfügt über einige Sicherheitsfunktionen, wenn der Tank voll ist und das Gerät in Betrieb ist:

  • Schaltet den Ventilator/Peltier automatisch ab, bis der Tank leer ist
  • Schaltet sofort die rote LED ein
  • Blinkt die Power-LED 3 mal alle 30 Sekunden

Hat auch eine Sicherheitsfunktion für den Fall, dass der SHT3x-Sensor nicht richtig funktioniert:

  • Schaltet den Ventilator/Peltier automatisch ab, bis der Tank leer ist
  • Einstellen der aktuellen Luftfeuchtigkeit auf 0%
  • Blinkt die Power-LED 2 mal alle 30 Sekunden

Wenn beide SHT3x einen Fehler haben und der Tank voll ist, blinkt die Power-LED alle 30 Sekunden 6 Mal.

Wenn der ESP8266 einen Fehler hat, müssen Sie das Gerät nicht vom Strom trennen, dreimaliges Drücken der Taste startet den ESP8266 neu!

Wenn der Entfeuchter eingeschaltet ist und die aktuelle Luftfeuchtigkeit gleich und/oder kleiner als die Zielfeuchtigkeit ist, geht das Gerät in den Leerlaufmodus. In der Home-App wird „Set to …“angezeigt, wenn sich das Gerät im Leerlauf befindet, und „Senken auf …“, wenn es in Betrieb ist!

Aktualisieren der Firmware

Ich habe geplant, Over-The-Air (OTA)-Firmware-Updates zu implementieren, aber es ist nicht so zuverlässig, daher sollte die Aktualisierung wie beim ersten Setup manuell durchgeführt werden! Der einzige Unterschied besteht darin, dass Sie den Flash nicht löschen müssen, indem Sie einfach die neuere Firmware flashen, ohne sie zu löschen, werden Ihre Wi-Fi / HomeKit-Einstellungen erhalten! ?

Empfohlen: