Innholdsfortegnelse:

Apple HomeKit Wi-Fi Avfukter Basert på ESP8266?: 6 trinn (med bilder)
Apple HomeKit Wi-Fi Avfukter Basert på ESP8266?: 6 trinn (med bilder)

Video: Apple HomeKit Wi-Fi Avfukter Basert på ESP8266?: 6 trinn (med bilder)

Video: Apple HomeKit Wi-Fi Avfukter Basert på ESP8266?: 6 trinn (med bilder)
Video: How to connect to wifi and to use the APP - Tasciugo AriaDry DDSX220WF Dehumidifier 2024, November
Anonim
Apple HomeKit Wi-Fi Avfukter Basert på ESP8266?
Apple HomeKit Wi-Fi Avfukter Basert på ESP8266?
Apple HomeKit Wi-Fi Avfukter Basert på ESP8266?
Apple HomeKit Wi-Fi Avfukter Basert på ESP8266?
Apple HomeKit Wi-Fi-avfukter Basert på ESP8266?
Apple HomeKit Wi-Fi-avfukter Basert på ESP8266?
Apple HomeKit Wi-Fi Avfukter Basert på ESP8266?
Apple HomeKit Wi-Fi Avfukter Basert på ESP8266?

Dessverre er det bare en eller to avfuktere der ute som støtter Apple HomeKit, men disse har virkelig høye priser (300 $+). Så jeg har bestemt meg for å lage min egen Wi-Fi-kompatible Apple HomeKit-avfukter basert på en billig jeg allerede har?

Det kan fungere innfødt med HomeKit ved hjelp av ESP8266, så ingen hjemmebro, HAP-NodeJS nødvendig! ?

Siden koden er veldig kompleks og jeg har brukt mange tilpassede biblioteker, har jeg laget forhåndskompilerte fastvarefiler. For de som er interessert i å lage native HomeKit-prosjekter, er kildekoden for esp-homekit tilgjengelig her. Hvis du ikke vil bruke fastvaren min, er GPIO pinout tilgjengelig nedenfor for å lage din egen?

For mer informasjon, besøk den relaterte GitHub -siden! ?

Funksjoner:

  • Fuktighetsmåling ved hjelp av SHT3x -sensor
  • Sett opp målfuktighet
  • Kontrollerer viftehastigheten
  • Vannstand (via lysdioder og automatisk avstengning når tanken er full)
  • Av/på -knapp

PCB -deler:

  • ESP12F/E/S
  • XROW600B Avfukter
  • SHT3x Temepreature/Fuktighetssensor
  • SMD 0805 motstander
  • SMD 0805 kondensatorer
  • AMS1117-3.3
  • Taktil knapp
  • 1x4P 2,54 mm topptekst (valgfritt)
  • IRF540NS
  • SMD 10x10.5 50V 100uF kondensator
  • SMD 6x7 6, 3V 330uF kondensator
  • LM2575S-5.0
  • 330uH CRDH74 induktor
  • 1N4007 diode
  • 2N3904
  • VH3.96-2P
  • XH2.54 2P, 4P, 5P
  • 3MM rød/grønn LED
  • 3 mm (høyde) LED -nylonavstandsstykke
  • 4P hann XH2.54 med kabel (for fuktighetssensor)

Rekvisita

  • LoddejernORLodestasjon ELLer loddepistol for varmluft
  • For å laste opp koden må du sannsynligvis også kjøpe en USB TTL -adapter.
  • For å demontere avfukteren trenger du noen skrutrekkere.
  • Tilpasset PCB
  • XROW600B avfukter

Trinn 1: Demontering

Demontering
Demontering
Demontering
Demontering
Demontering
Demontering

For å demontere avfukteren er det eneste du trenger en skrutrekker som kan passe inn i hullene på baksiden av enheten! ?

  1. Skru ut de 2 skruene nederst på enheten
  2. Skru ut de 4 skruene på baksiden av enheten
  3. Nå kan du ta fra hverandre plasthuset
  4. Koble fra hver kontakt på kretskortet
  5. Skru ut de 2 skruene som holder PCB -en

Trinn 2: Tilpasset PCB

Tilpasset PCB
Tilpasset PCB
Tilpasset PCB
Tilpasset PCB
Tilpasset PCB
Tilpasset PCB
Tilpasset PCB
Tilpasset PCB

Jeg har designet en tilpasset PCB som kan erstatte den originale, veldig enkle. Det er i utgangspunktet bare en strømforsyning / nedtrappingsomformer fra 12V til 3,3V, to MOSFET-er for å drive viften og peltieren, selve ESP8266, to lysdioder og den taktile knappen som på den originale.

Jeg har også lagt til de samme kontaktene for det nye kretskortet som på den originale og en ekstra 4 -pinners kontakt for SHT3x fuktighetssensor. 9V strømforsyningen som følger med avfukteren kan også brukes! Er alt plug -and -play?

Du finner mer informasjon om kretskortene her

PCB -filer finnes på PCBWay

SHT3x fuktighetssensor

Du må koble til SHT3x-sensoren ved å bruke en mannlig XH2.54-4P-kontakt med ledninger (koblet til delelisten) ved å koble alt som det skal være: VCC til VCC, GND til GND, SDA til SDA og SCL til SCL ?

For øyeblikket i mitt oppsett henger sensoren bare utenfor avfukterens etui, det er opp til deg hvor/hvordan du plasserer sensoren, men inne i avfukterens etui kan den fangede fuktigheten/vannet påvirke sensoravlesningen! ?

GPIO Pinout

Hvis du vil bruke din egen fastvare, er her pinout:

  • Knapp - GPIO0 (D3 på wemos D1 mini)
  • SHT3x SDA - GPIO4 (D2 på wemos D1 mini)
  • SHT3x SCL - GPIO5 (D1 på wemos D1 mini)
  • Innebygd LED GPIO2 (D4 på wemos D1 mini)
  • Strøm -LED - GPIO14 (D5 på wemos D1 mini)
  • Vifte - GPIO15 (D8 på wemos D1 mini)
  • Peltier - GPIO12 (D6 på wemos D1 mini)
  • Tank sensor - GPIO13 (D7 på wemos D1 mini)

Trinn 3: Programvareoppsett

Programvareoppsett
Programvareoppsett
Programvareoppsett
Programvareoppsett
Programvareoppsett
Programvareoppsett

Du kan laste ned fastvaren fra GitHub -siden min

Windows

For Windows kan du bruke det offisielle nedlastingsverktøyet for fastvare av Espressif!

Innstilling av blitsadresser (0x2000), blitsstørrelse (4MB/32mbit) og blitsmodus (DIO/QIO) er et veldig viktig trinn, men disse innstillingene kan endres basert på modulen du bruker! Jeg har også anbefalt å slette blitsen når du først installerer fastvaren før du laster opp.bin -filene!

Innstillinger:

  • Overføringshastighet 115200
  • Flash -størrelse 4MB eller 32mbit (avhengig av modulen)
  • Blitsmodus QIO (eller DIO, avhengig av modulen)
  • 0x0000 rboot.bin
  • 0x1000 blank_config.bin
  • 0x2000 main.bin
  • 40 MHz

Mac os

For MacOS kan du bruke dette blinkerverktøyet!

  • Innstillinger: Slett blits - ja (bare ved første gangs installasjon)
  • Overføringshastighet 115200
  • Flash -størrelse 4MB eller 32mbit (avhengig av modulen)
  • Blitsmodus QIO (eller DIO, avhengig av modulen)
  • Fil: main.bin
  • 40 MHz

Flash manuelt

Vi må installere esptool.py på vår Mac for å kunne blinke ESP -modulen. For å jobbe med esptool.py trenger du enten Python 2.7, Python 3.4 eller en nyere Python -installasjon på systemet ditt. Vi anbefaler å bruke den nyeste Python -versjonen, så gå til Pythons nettsted og installer den på datamaskinen din. Med Python installert, åpner du et Terminal -vindu og installerer den siste stabile esptool.py -utgivelsen med pip:

pip installer esptool

Merk: Med noen Python -installasjoner kan det hende at kommandoen ikke fungerer, og du får en feilmelding. Hvis det er tilfelle, kan du prøve å installere esptool.py med:

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

Etter installasjonen vil du ha esptool.py installert i standard Python -kjørbare filer, og du bør kunne kjøre den med kommandoen esptool.py. Kjør følgende kommando i Terminal -vinduet:

esptool.py

Med esptool.py installert på datamaskinen din, kan du enkelt blinke ESP8266 -kortet med fastvaren. Først må du laste ned tre bin -filer: rboot.bin og blank_config.bin og den siste versjonen. Rboot.bin inneholder bootloader for ESP8266 og blank_config.bin i bare en tom konfigurasjonsfil og ledstrip.bin inneholder fastvaren. Koble nå enheten til FTDI-adapteren din i blitsmodus.

For å aktivere fastvaren ESP8266 må den blinkende GPIO0 -pinnen trekkes lavt mens enheten slås på. Med min tilpassede PCB er det en knapp, som du må trykke og holde inne mens du kobler FTDI -adapteren til PCen. Motsatt, for en normal støvel, må GPIO0 trekkes høyt eller flytende. Start i FLASH MODE Gå til katalogen du laget der du la de tidligere nedlastede rboot.bin blank_config.bin -filene (f.eks. Nedlastinger) Åpne Terminal -appen. Klikk på Finder -ikonet i dokken. Klikk på Gå. Klikk på Verktøy. Dobbeltklikk Terminal.

Bytt til nedlastningskatalogen.

Merk: Hvis du bruker et annet bibliotek for å lagre de tre.bin -filene, navigerer du til biblioteket med kommandoen 'cd': Bruk esptool.py til å blinke enheten.

nedlasting av cd

Du trenger en USB TTL -adapter for å koble til ESP8266. Hvis du bare bruker en Wemos D1 Mini, er en microUSB-kabel, har Wemos innebygd TTL-adapter.

Første gang vi installerer fastvaren må vi slette blitsen:

esptool.py -p / dev / erase_flash

Vanligvis vil ESPPort være omtrent som /dev /cu.usbserial-`xxxxxx`. Sett deretter enheten i blitsmodus igjen, og blink den nye fastvaren:

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

Oppsett av Wi-Fi og HomeKit

Wi-Fi-oppsett

Du må konfigurere wifi -nettverk før du legger tilbehøret i HomeKit. For å konfigurere Wi-Fi-innstillinger, genererer enheten sin egen Wi-Fi i AP-modus. Du må koble til den for å konfigurere Wi-Fi-nettverket. Bare ta iOS-enheten din, gå til Innstilling-> Wi-Fi, og søk etter en SSID som heter HomeKid, etterfulgt av modulens MAC-adresse og koble til den. Av sikkerhetsmessige årsaker er AP passordbeskyttet!

Standard AP -passord: 12345678

Vent noen sekunder til det vises et web som viser deg alle Wi-Fi-nettverk som enheten har funnet. Velg din, og skriv inn passord! Klikk deretter på knappen Bli med! Modulen vil prøve å koble til det valgte Wi-Fi-nettverket, dette vil ta et par sekunder.

Merk: Hvis det oppgitte passordet er feil, kan du tilbakestille Wi-fi-innstillingene ved å holde knappen inne i 10 sekunder

Oppsett av HomeKit

Åpne Home App på din iOS -enhet og følg vanlige trinn for å legge til et nytt tilbehør. Oppsett for sammenkobling tar omtrent 30 sekunder.

HomeKit-koden er 586-84-417

Du kan også skanne denne HomeKit QR -koden.

Merk: Hvis sammenkoblingen mislykkes, kan du slå av enheten, koble den til igjen og starte oppsett av HomeKit igjen (Wifi -innstillingene er fortsatt konfigurert). Etter vellykket sammenkobling blinker strømlampen hvitt 3 ganger!

Trinn 4: PCB -tilkoblinger

PCB -tilkoblinger
PCB -tilkoblinger
PCB -tilkoblinger
PCB -tilkoblinger

For PCB -designet har jeg valgt de samme kontaktene som de på den originale PCB! ?

Så dette trinnet bør være enkelt:

  • Koble viften til viftekontakten
  • Koble TEC (peltiermodulen) til den tilhørende kontakten
  • Koble den 5 -pinners strømkontakten til den tilhørende kontakten
  • Koble SHT3x -modulen til sin egen kontakt

Trinn 5: Sette det sammen

Sette det sammen
Sette det sammen
Sette det sammen
Sette det sammen

Å sette enheten sammen er den samme prosessen som demontering bare i motsatt rekkefølge?

Trinn 6: Nyttige notater?

Nyttige notater?
Nyttige notater?

Avfukteren har noen sikkerhetsfunksjoner når tanken er full og enheten kjører:

  • Slår automatisk av viften/peltieren til tanken er tom
  • Tenner umiddelbart den røde LED -en
  • Blinker strøm -LED 3 ganger hvert 30. sekund

Har også sikkerhetsfunksjon hvis SHT3x -sensoren ikke fungerer som den skal:

  • Slår automatisk av viften/peltieren til tanken er tom
  • Innstiller gjeldende luftfuktighet til 0%
  • Blinker strøm -LED 2 ganger hvert 30. sekund

Når både SHT3x har feil og tanken er full, blinker strømlampen 6 ganger hvert 30. sekund.

I ESP8266 har en feil du trenger ikke å koble enheten fra strømmen. Et tre ganger trykk på knappen vil starte ESP8266 på nytt!

Når avfukteren er slått på og luftfuktigheten er lik og/eller mindre enn målfuktigheten, går enheten i hvilemodus. I Home -appen vil den vise "Sett til …" når enheten er på tomgang og viser "Senke til …" når den kjører!

Oppdaterer fastvaren

Jeg har planlagt å implementere Over-The-Air (OTA) fastvareoppdateringer, men det er ikke så pålitelig, så oppdateringen bør gjøres manuelt som ved første oppsett! Den eneste forskjellen er at du ikke trenger å slette blitsen, bare ved å blinke den nyere fastvaren uten å slette den vil bevare Wi-Fi / HomeKit-innstillingene dine! ?

Anbefalt: