Indholdsfortegnelse:

Apple HomeKit Wi-Fi affugter baseret på ESP8266?: 6 trin (med billeder)
Apple HomeKit Wi-Fi affugter baseret på ESP8266?: 6 trin (med billeder)

Video: Apple HomeKit Wi-Fi affugter baseret på ESP8266?: 6 trin (med billeder)

Video: Apple HomeKit Wi-Fi affugter baseret på ESP8266?: 6 trin (med billeder)
Video: How To Chia GPU Plotting and Farming Guide for WINDOWS UPDATED - Gigahorse Start to Finish - 2023 2024, November
Anonim
Apple HomeKit Wi-Fi affugter baseret på ESP8266?
Apple HomeKit Wi-Fi affugter baseret på ESP8266?
Apple HomeKit Wi-Fi affugter Baseret på ESP8266?
Apple HomeKit Wi-Fi affugter Baseret på ESP8266?
Apple HomeKit Wi-Fi affugter baseret på ESP8266?
Apple HomeKit Wi-Fi affugter baseret på ESP8266?
Apple HomeKit Wi-Fi affugter Baseret på ESP8266?
Apple HomeKit Wi-Fi affugter Baseret på ESP8266?

Desværre er der kun en eller to affugtere derude, der understøtter Apple HomeKit, men disse har virkelig høje priser (300 $+). Så jeg har besluttet mig for at lave min egen Wi-Fi-kompatible Apple HomeKit affugter baseret på en billig, jeg allerede har?

Det kan fungere indbygget med HomeKit ved hjælp af ESP8266, så ingen homebridge, HAP-NodeJS nødvendig! ?

Da koden er meget kompleks, og jeg har brugt mange brugerdefinerede biblioteker, har jeg lavet prækompilerede firmwarefiler. For dem, der er interesseret i at lave native HomeKit-projekter, er kildekoden til esp-homekit tilgængelig her. Hvis du ikke vil bruge min firmware, er GPIO pinout tilgængelig nedenfor til at lave din egen?

For mere information besøg den relaterede GitHub -side! ?

Funktioner:

  • Fugtighedsmåling ved hjælp af SHT3x sensor
  • Opsæt målfugtighed
  • Kontrol af blæserhastighed
  • Vandstand (via lysdioder og automatisk slukning, når tanken er fuld)
  • Tænd/nulstil -knap

PCB -dele:

  • ESP12F/E/S
  • XROW600B Affugter
  • SHT3x Temepreature/Fugtighedssensor
  • SMD 0805 modstande
  • SMD 0805 kondensatorer
  • AMS1117-3.3
  • Taktil knap
  • 1x4P 2,54 mm header (valgfrit)
  • 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øn LED
  • 3 mm (højde) LED nylon afstandsstykke
  • 4P han XH2.54 med kabel (til fugtføler)

Forbrugsvarer

  • LoddejernORLodningsstation ELLer varmlufts loddepistol
  • For at uploade koden skal du sandsynligvis også købe en USB TTL -adapter.
  • For at adskille affugteren skal du bruge nogle skruetrækkere.
  • Brugerdefineret printkort
  • XROW600B affugter

Trin 1: Demontering

Demontering
Demontering
Demontering
Demontering
Demontering
Demontering

For at adskille affugteren er det eneste, du skal bruge, en skruetrækker, der kan passe ind i hullerne bag på enheden! ?

  1. Skru de 2 skruer i bunden af enheden af
  2. Skru de 4 skruer på bagsiden af enheden af
  3. Nu kan du skille plasthuset ad
  4. Tag alle stik på printet ud
  5. Skru de 2 skruer af, som holder printet

Trin 2: Brugerdefineret printkort

Brugerdefineret printkort
Brugerdefineret printkort
Brugerdefineret printkort
Brugerdefineret printkort
Brugerdefineret printkort
Brugerdefineret printkort
Brugerdefineret printkort
Brugerdefineret printkort

Jeg har designet en brugerdefineret print, der kan erstatte den originale, meget grundlæggende. Det er stort set bare en strømforsyning / trin-ned-konverter fra 12V til 3,3V, to MOSFET'er til at køre blæseren og peltieren, selve ESP8266, to lysdioder og den taktile knap som på den originale.

Jeg har også tilføjet de samme stik til det nye printkort som på det originale og et ekstra 4 -polet stik til SHT3x -fugtighedsføleren. Den 9V strømforsyning, der følger med affugteren, kan også bruges! Er alt plug -and -play?

Du kan finde mere information om printkortene her

PCB -filer kan findes på PCBWay

SHT3x fugtighedssensor

Du skal tilslutte SHT3x-sensoren ved hjælp af et han-XH2.54-4P-stik med ledninger (forbundet på delelisten) ved blot at forbinde alt, som det skal være: VCC til VCC, GND til GND, SDA til SDA og SCL til SCL ?

I øjeblikket i min opsætning hænger sensoren lige uden for affugteren, det er op til dig, hvor/hvordan du placerer sensoren, men inde i affugterens kabinet kan den fangede fugtighed/vand påvirke sensorens aflæsning! ?

GPIO Pinout

Hvis du vil bruge din egen firmware, er pinout:

  • Knap - GPIO0 (D3 på wemos D1 mini)
  • SHT3x SDA - GPIO4 (D2 på wemos D1 mini)
  • SHT3x SCL - GPIO5 (D1 på wemos D1 mini)
  • Indbygget LED GPIO2 (D4 på wemos D1 mini)
  • Power LED - GPIO14 (D5 på wemos D1 mini)
  • Blæser - GPIO15 (D8 på wemos D1 mini)
  • Peltier - GPIO12 (D6 på wemos D1 mini)
  • Tank sensor - GPIO13 (D7 på wemos D1 mini)

Trin 3: Softwareopsætning

Opsætning af software
Opsætning af software
Opsætning af software
Opsætning af software
Opsætning af software
Opsætning af software

Du kan downloade firmwaren fra min GitHub -side

Windows

Til Windows kan du bruge det officielle firmware -downloadværktøj fra Espressif!

Indstilling af flashadresser (0x2000), flashstørrelse (4MB/32mbit) og flashtilstand (DIO/QIO) er et meget vigtigt trin, men disse indstillinger kan ændres baseret på det modul, du bruger! Jeg har også anbefalet at slette flashen, når du første gang installerer firmwaren, før du uploader.bin -filerne!

Indstillinger:

  • Baudhastighed 115200
  • Flashstørrelse 4MB eller 32mbit (afhængigt af dit modul)
  • Flashtilstand QIO (eller DIO, afhængigt af dit modul)
  • 0x0000 rboot.bin
  • 0x1000 blank_config.bin
  • 0x2000 main.bin
  • 40MHz

MacOS

Til MacOS kan du bruge dette blinkværktøj!

  • Indstillinger: Slet flash - ja (kun ved første gangs installation)
  • Baudhastighed 115200
  • Flashstørrelse 4MB eller 32mbit (afhængigt af dit modul)
  • Flashtilstand QIO (eller DIO, afhængigt af dit modul)
  • Fil: main.bin
  • 40MHz

Flash manuelt

Vi skal installere esptool.py på vores Mac for at kunne blinke vores ESP -modul. For at arbejde med esptool.py skal du enten bruge Python 2.7, Python 3.4 eller en nyere Python -installation på dit system. Vi anbefaler at bruge den nyeste Python -version, så gå til Pythons websted og installer det på din computer. Med Python installeret, skal du åbne et Terminal -vindue og installere den nyeste stabile esptool.py -udgivelse med pip:

pip installere esptool

Bemærk: med nogle Python -installationer fungerer denne kommando muligvis ikke, og du får en fejl. Hvis det er tilfældet, skal du prøve at installere esptool.py med:

pip3 installere esptool python -m pip installere esptool pip2 installere esptool

Efter installationen vil du have esptool.py installeret i standardmappen til Python -eksekverbare filer, og du skal kunne køre den med kommandoen esptool.py. Kør følgende kommando i dit Terminal -vindue:

esptool.py

Med esptool.py installeret på din computer, kan du nemt blinke dit ESP8266 -kort med firmwaren. Først skal du downloade tre bin -filer: rboot.bin og blank_config.bin og den seneste version. Rboot.bin indeholder bootloaderen til ESP8266 og blank_config.bin i en tom konfigurationsfil, og ledstrip.bin indeholder firmwaren. Tilslut nu din enhed til din FTDI-adapter i flash-tilstand.

For at aktivere ESP8266 -firmware skal blinkende GPIO0 -pin trækkes lavt, mens enheden tændes. Med mit brugerdefinerede print er der en knap, som du skal trykke på og holde nede, mens du tilslutter FTDI -adapteren til din pc. Omvendt, for en normal støvle, skal GPIO0 trækkes højt eller flydende. Start i FLASH MODE Gå til det bibliotek, du lavede, hvor du lagde de tidligere downloadede rboot.bin blank_config.bin -filer (f.eks. Downloads) Åbn Terminal -appen. Klik på Finder -ikonet i din dock. Klik på Gå. Klik på Hjælpeprogrammer. Dobbeltklik på Terminal.

Skift til download -biblioteket.

Bemærk: Hvis du bruger et andet bibliotek til at gemme de tre.bin -filer, skal du navigere ind i biblioteket ved hjælp af kommandoen 'cd': Brug esptool.py til at blinke din enhed.

cd downloads

Du skal bruge en USB TTL -adapter til tilslutning til ESP8266. Hvis du kun bruger et Wemos D1 Mini, er et microUSB-kabel, har Wemos indbygget TTL-adapter.

Når vi installerer firmwaren første gang, skal vi slette blitzen:

esptool.py -p / dev / erase_flash

Normalt vil din ESPPort være noget i stil med /dev /cu.usbserial-'xxxxxx '. Indstil derefter din enhed i flash-tilstand igen, og flash den nye 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

Wi-fi og HomeKit opsætning

Wi-Fi-opsætning

Du skal konfigurere wifi -netværk, før du tilføjer tilbehøret til HomeKit. For at konfigurere Wi-Fi-indstillinger genererer enheden sit eget Wi-Fi i AP-tilstand. Du skal oprette forbindelse til det for at konfigurere dit Wi-Fi-netværk. Tag blot din iOS-enhed, gå til Indstilling-> Wi-Fi, og søg efter et SSID kaldet HomeKid-efterfulgt af modulets MAC-adresse og opret forbindelse til den. Af sikkerhedsmæssige årsager er AP beskyttet med adgangskode!

Standardadgangskode til AP: 12345678

Vent et par sekunder, indtil der vises et web, der viser dig alle Wi-Fi-netværk, som enheden har fundet. Vælg din, og indtast adgangskode! Klik derefter på knappen Deltag! Modulet forsøger at forbinde det valgte Wi-Fi-netværk, dette vil tage et par sekunder.

Bemærk: Hvis den angivne adgangskode er forkert, kan du nulstille Wi-fi-indstillingerne ved at holde knappen inde i 10 sekunder

Opsætning af HomeKit

Åbn Home App på din iOS -enhed, og følg normale trin for at tilføje et nyt tilbehør. Opsætning af parring tager cirka 30 sekunder.

HomeKit-koden er 586-84-417

Du kan også scanne denne HomeKit QR -kode.

Bemærk: Hvis parring mislykkes, kan du afbryde strømmen til din enhed, genoprette den og starte opsætningen af HomeKit igen (Wifi -indstillinger forbliver konfigureret). Efter vellykket parring blinker strømindikatoren hvidt 3 gange!

Trin 4: PCB -forbindelser

PCB -forbindelser
PCB -forbindelser
PCB -forbindelser
PCB -forbindelser

Til PCB -designet har jeg valgt de samme stik som dem på det originale printkort! ?

Så dette trin bør være ligetil:

  • Tilslut blæseren til ventilatorstikket
  • Tilslut TEC (peltiermodulet) til det tilsvarende stik
  • Tilslut det 5 -polede strømstik til det tilsvarende stik
  • Tilslut SHT3x -modulet til sit eget stik

Trin 5: Sæt det sammen

At sætte det sammen
At sætte det sammen
At sætte det sammen
At sætte det sammen

At sætte enheden sammen er den samme proces som adskillelsen bare i omvendt rækkefølge?

Trin 6: Nyttige noter?

Nyttige noter?
Nyttige noter?

Affugteren har nogle sikkerhedsfunktioner, når tanken er fuld, og enheden kører:

  • Slukker automatisk ventilatoren/peltieren, indtil tanken er tom
  • Tænder straks den røde LED
  • Blinker strøm -LED 3 gange hvert 30. sekund

Har også sikkerhedsfunktion, hvis SHT3x -sensoren ikke fungerer korrekt:

  • Slukker automatisk ventilatoren/peltieren, indtil tanken er tom
  • Indstilling af den aktuelle luftfugtighed til 0%
  • Blinker strøm -LED 2 gange hvert 30. sekund

Når både SHT3x har en fejl, og tanken er fuld, blinker strømindikatoren 6 gange hvert 30. sekund.

I ESP8266 er der en fejl, du behøver ikke at tage enheden ud af stikkontakten, hvis du trykker tre gange på knappen, genstarter ESP8266!

Når affugteren er tændt, og den nuværende luftfugtighed er lig med og/eller mindre end målfugtigheden, går enheden i inaktiv tilstand. I Home -appen viser den "Indstil til …", når enheden er i tomgang, og viser "Sænker til …", når den kører!

Opdatering af firmwaren

Jeg har planlagt at implementere Over-The-Air (OTA) firmwareopdateringer, men det er ikke så pålideligt, så opdatering skal udføres manuelt som ved den første opsætning! Den eneste forskel er, at du ikke behøver at slette blitzen, ved blot at blinke den nyere firmware uden at slette den bevarer dine Wi-Fi / HomeKit-indstillinger! ?

Anbefalede: