INHOUDSOPGAWE:

Apple HomeKit Wi-Fi Luchtontvochtiger Gebaseer op ESP8266?: 6 stappe (met foto's)
Apple HomeKit Wi-Fi Luchtontvochtiger Gebaseer op ESP8266?: 6 stappe (met foto's)

Video: Apple HomeKit Wi-Fi Luchtontvochtiger Gebaseer op ESP8266?: 6 stappe (met foto's)

Video: Apple HomeKit Wi-Fi Luchtontvochtiger Gebaseer op ESP8266?: 6 stappe (met foto's)
Video: Leap Motion SDK 2024, November
Anonim
Apple HomeKit Wi-Fi Luchtontvochtiger Gebaseer op ESP8266?
Apple HomeKit Wi-Fi Luchtontvochtiger Gebaseer op ESP8266?
Apple HomeKit Wi-Fi Luchtontvochtiger Gebaseer op ESP8266?
Apple HomeKit Wi-Fi Luchtontvochtiger Gebaseer op ESP8266?
Apple HomeKit Wi-Fi Luchtontvochtiger Gebaseer op ESP8266?
Apple HomeKit Wi-Fi Luchtontvochtiger Gebaseer op ESP8266?
Apple HomeKit Wi-Fi Luchtontvochtiger Gebaseer op ESP8266?
Apple HomeKit Wi-Fi Luchtontvochtiger Gebaseer op ESP8266?

Ongelukkig is daar slegs een of twee ontvochtigers wat Apple HomeKit ondersteun, maar dit het 'n baie hoë prys (300 $+). Dus het ek besluit om my eie Apple HomeKit-ontvochtiger met Wi-Fi te maak gebaseer op 'n goedkoop een wat ek reeds het?

Dit kan oorspronklik werk met HomeKit met behulp van ESP8266, dus geen tuisbron nie, HAP-NodeJS nodig! ?

Aangesien die kode baie kompleks is en ek baie persoonlike biblioteke gebruik het, het ek vooraf saamgestelde firmware-lêers gemaak. Vir diegene wat belangstel om inheemse HomeKit-projekte te maak, is die bronkode vir esp-homekit hier beskikbaar. As u nie my firmware wil gebruik nie, is die GPIO pinout hieronder beskikbaar om u eie te maak?

Besoek die verwante GitHub -bladsy vir meer inligting! ?

Kenmerke:

  • Vochtmeting met behulp van SHT3x -sensor
  • Stel Doelwitvochtigheid op
  • Beheer waaier spoed
  • Watervlak (via LED's en outomatiese uitschakeling wanneer die tenk vol is)
  • Aan/uit -knoppie

PCB -onderdele:

  • ESP12F/E/S
  • XROW600B Ontvochtiger
  • SHT3x Temepreature/Humidity sensor
  • SMD 0805 weerstande
  • SMD 0805 kapasitors
  • AMS1117-3.3
  • Taktiele knoppie
  • 1x4P 2.54mm kop (opsioneel)
  • 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 rooi/groen LED
  • 3 mm (hoogte) LED nylon afstandhouer
  • 4P Man XH2.54 met kabel (vir humiditeitsensor)

Voorrade

  • SoldeerboutOR soldeerstasie of warmlug soldeergeweer
  • Om die kode op te laai, moet u waarskynlik ook 'n USB TTL -adapter koop.
  • Om die ontvochtiger uitmekaar te haal, benodig u 'n paar skroewedraaiers.
  • Pasgemaakte PCB
  • XROW600B ontvochtiger

Stap 1: Demontering

Demontage
Demontage
Demontage
Demontage
Demontage
Demontage

Om die ontvochtiger uitmekaar te haal, is die enigste ding wat u nodig het, 'n skroewedraaier wat in die gate aan die agterkant van die toestel kan pas! ?

  1. Draai die 2 skroewe aan die onderkant van die toestel los
  2. Draai die 4 skroewe aan die agterkant van die toestel los
  3. Nou kan u die plastiekbehuizing uitmekaar haal
  4. Ontkoppel elke connector op die PCB
  5. Draai die 2 skroewe wat die printplaat vasdraai los

Stap 2: Pasgemaakte PCB

Pasgemaakte PCB
Pasgemaakte PCB
Pasgemaakte PCB
Pasgemaakte PCB
Pasgemaakte PCB
Pasgemaakte PCB
Pasgemaakte PCB
Pasgemaakte PCB

Ek het 'n pasgemaakte PCB ontwerp wat die oorspronklike, baie basiese een kan vervang. Dit is basies net 'n kragbron / afskakel-omskakelaar van 12V tot 3.3V, twee MOSFET's om die waaier en die peltier te bestuur, die ESP8266 self, twee LED's en die tasbare knoppie soos op die oorspronklike.

Ek het ook dieselfde verbindings bygevoeg vir die nuwe PCB as op die oorspronklike en 'n ekstra 4 -pins connector vir die SHT3x Humidity sensor. Die 9V -kragtoevoer wat by die ontvochtiger kom, kan ook gebruik word! Is alles plug -and -play?

U kan meer inligting oor die PCB's hier vind

PCB -lêers kan gevind word by PCBWay

SHT3x Humiditeitsensor

U moet die SHT3x-sensor aansluit met 'n manlike XH2.54-4P-aansluiting met drade (gekoppel aan die onderdelelys), en verbind alles eenvoudig soos dit hoort: VCC na VCC, GND na GND, SDA na SDA en SCL na SCL ?

Tans hang die sensor in my opset net buite die dehumidifier se kas; dit is aan jou waar/hoe jy die sensor plaas, maar in die geval van die luchtontvochtiger kan die gevangene humiditeit/water die sensorlesing beïnvloed! ?

GPIO Pinout

As u u eie firmware wil gebruik, is dit die volgende:

  • Knoppie - GPIO0 (D3 op wemos D1 mini)
  • SHT3x SDA - GPIO4 (D2 op wemos D1 mini)
  • SHT3x SCL - GPIO5 (D1 op wemos D1 mini)
  • Ingeboude LED GPIO2 (D4 op wemos D1 mini)
  • Power LED - GPIO14 (D5 op wemos D1 mini)
  • Ventilator - GPIO15 (D8 op wemos D1 mini)
  • Peltier - GPIO12 (D6 op wemos D1 mini)
  • Tanksensor - GPIO13 (D7 op wemos D1 mini)

Stap 3: sagteware -opstelling

Opstelling van sagteware
Opstelling van sagteware
Opstelling van sagteware
Opstelling van sagteware
Opstelling van sagteware
Opstelling van sagteware

U kan die firmware van my GitHub -bladsy aflaai

Windows

Vir Windows kan u die amptelike firmware -aflaaihulpmiddel van Espressif gebruik!

Die instelling van die flitsadresse (0x2000), flitsgrootte (4MB/32mbit) en flitsmodus (DIO/QIO) is 'n baie belangrike stap, maar hierdie instellings kan verander op grond van die module wat u gebruik! Ek het ook aanbeveel om die flits uit te vee wanneer u die firmware vir die eerste keer installeer voordat u die.bin -lêers oplaai!

Instellings:

  • Baud tempo 115200
  • Flitsgrootte 4MB of 32mbit (afhangende van u module)
  • Flitsmodus QIO (of DIO, afhangende van u module)
  • 0x0000 rboot.bin
  • 0x1000 blank_config.bin
  • 0x2000 main.bin
  • 40 MHz

MacOS

Vir MacOS kan u hierdie flitsgereedskap gebruik!

  • Instellings: Vee flits uit - ja (slegs by die eerste keer geïnstalleer)
  • Baud tempo 115200
  • Flitsgrootte 4MB of 32mbit (afhangende van u module)
  • Flitsmodus QIO (of DIO, afhangende van u module)
  • Lêer: main.bin
  • 40 MHz

Handmatig flits

Ons moet esptool.py op ons Mac installeer om ons ESP -module te kan flits. Om met esptool.py te werk, benodig u Python 2.7, Python 3.4 of 'n nuwer Python -installasie op u stelsel. Ons beveel aan dat u die nuutste Python -weergawe gebruik, dus gaan na die webwerf van Python en installeer dit op u rekenaar. Met Python geïnstalleer, maak 'n Terminal -venster oop en installeer die nuutste stabiele esptool.py -vrystelling met pip:

pip installeer esptool

Let wel: met sommige Python -installasies werk die opdrag moontlik nie en kry u 'n fout. As dit die geval is, probeer om esptool.py te installeer met:

pip3 installeer esptool python -m pip installeer esptool pip2 installeer esptool

Na die installering sal esptool.py in die standaard Python -uitvoerbare gids geïnstalleer word, en u moet dit kan uitvoer met die opdrag esptool.py. Voer die volgende opdrag in u Terminal -venster uit:

esptool.py

Met esptool.py op u rekenaar geïnstalleer, kan u u ESP8266 -bord maklik met die firmware flits. U moet eers drie bin -lêers aflaai: rboot.bin en blank_config.bin en die nuutste weergawe. Die rboot.bin bevat die selflaaiprogram vir die ESP8266 en die blank_config.bin in slegs 'n leë konfigurasielêer en ledstrip.bin bevat die firmware. Koppel u toestel nou in die flitsmodus aan u FTDI-adapter.

Om die firmware van die ESP8266 moontlik te maak, moet die flitsende GPIO0 -pen laag trek terwyl die toestel aangeskakel word. Met my persoonlike PCB is daar 'n knoppie wat u moet ingedruk hou terwyl u die FTDI -adapter aan u rekenaar koppel. Omgekeerd moet GPIO0 vir 'n normale skoen hoog getrek of dryf. Begin in FLITSMODUS Gaan na die gids wat u gemaak het waar u die voorheen afgelaaide rboot.bin blank_config.bin -lêers (bv. Downloads) geplaas het. Maak die Terminal -app oop. Klik op die Finder -ikoon in u beskuldigdebank. Klik op Gaan. Klik op Utilities. Dubbelklik op Terminal.

Skakel oor na die aflaaigids.

Opmerking: as u 'n ander biblioteek gebruik om die drie.bin -lêers te stoor, navigeer u na die biblioteek met 'cd' -opdrag: Gebruik esptool.py om u toestel te flits.

cd aflaai

U benodig 'n USB TTL -adapter om aan te sluit op die ESP8266. As u slegs 'n microUSB-kabel met 'n Wemos D1 Mini gebruik, het die Wemos ingeboude TTL-adapter.

By die eerste installering van die firmware moet ons die flits uitvee:

esptool.py -p / dev / erase_flash

Gewoonlik sal u ESPPort iets soos /dev /cu.usbserial-`xxxxxx` wees. Stel dan u toestel weer in flitsmodus en flits die nuwe 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 en HomeKit-opstelling

Wi-Fi-opstelling

U moet die wifi -netwerk instel voordat u die bykomstigheid by HomeKit voeg. Om Wi-Fi-instellings op te stel, genereer die toestel sy eie Wi-Fi in die AP-modus. U moet daaraan koppel om u Wi-Fi-netwerk op te stel. Neem eenvoudig u iOS-toestel, gaan na Instelling-> Wi-Fi, en soek na 'n SSID genaamd HomeKid, gevolg deur die MAC-adres van die module en maak daarby verbinding. Om veiligheidsredes is die AP met 'n wagwoord beskerm!

Standaard AP -wagwoord: 12345678

Wag 'n paar sekondes totdat 'n web verskyn met alle Wi-Fi-netwerke wat die toestel gevind het. Kies joune en voer wagwoord in! Klik dan op die knoppie Sluit aan! Die module sal probeer om die gekose Wi-Fi-netwerk aan te sluit; dit neem 'n paar sekondes.

Opmerking: as die gegewe wagwoord verkeerd is, kan u die Wi-Fi-instellings herstel deur die knoppie 10 sek

Opstelling van HomeKit

Maak die Home App op u iOS -toestel oop en volg die normale stappe om 'n nuwe bykomstigheid by te voeg. Die opstelling van die koppeling duur ongeveer 30 sekondes.

HomeKit-kode is 586-84-417

U kan ook hierdie HomeKit QR -kode skandeer.

Let wel: as paring misluk, kan u u toestel ontkoppel, dit herlaai en weer die opstel van HomeKit begin (Wifi -instellings bly opgestel). Na suksesvolle koppeling flikker die Power LED 3 keer wit!

Stap 4: PCB -verbindings

PCB -verbindings
PCB -verbindings
PCB -verbindings
PCB -verbindings

Vir die PCB -ontwerp het ek dieselfde verbindings gekies as die op die oorspronklike PCB! ?

Hierdie stap moet dus eenvoudig wees:

  • Koppel die waaier aan die waaieraansluiting
  • Koppel die TEC (peltier -module) aan die ooreenstemmende aansluiting
  • Koppel die 5 -pins kragaansluiting aan die ooreenstemmende aansluiting
  • Koppel die SHT3x -module aan sy eie aansluiting

Stap 5: Saamvoeg

Saamvoeg
Saamvoeg
Saamvoeg
Saamvoeg

Om die toestel aanmekaar te sit, is dieselfde proses as die demontage net in omgekeerde volgorde?

Stap 6: Nuttige notas?

Nuttige notas?
Nuttige notas?

Die ontvochtiger het 'n paar veiligheidsfunksies wanneer die tenk vol is en die toestel werk:

  • Skakel die waaier/peltier outomaties af totdat die tenk leeg is
  • Skakel die rooi LED onmiddellik aan
  • Flits die krag -LED drie keer elke 30 sekondes

Het ook 'n veiligheidsfunksie as die SHT3x -sensor nie behoorlik werk nie:

  • Skakel die waaier/peltier outomaties af totdat die tenk leeg is
  • Stel die huidige humiditeit op 0%
  • Flits die krag -LED 2 keer elke 30 sekondes

As beide die SHT3x fout het en die tenk vol is, flikker die krag -LED 6 keer elke 30 sekondes.

As die ESP8266 'n fout het, hoef u die toestel nie van die stroom te ontkoppel nie; drie keer om op die knoppie te druk, sal die ESP8266 herlaai!

As die ontvochtiger aangeskakel is en die huidige humiditeit gelyk is en/of minder as die teiken humiditeit, gaan die toestel in die rustige modus. In die Home -app sal dit 'Stel op …' wys as die toestel in stilstand is, en 'Verlaag na …' wanneer dit werk!

Die opdatering van die firmware

Ek was van plan om Over-The-Air (OTA) firmware-opdaterings te implementeer, maar dit is nie so betroubaar nie, dus moet die opdatering met die hand gedoen word, soos by die eerste opstelling! Die enigste verskil is dat u nie die flits hoef uit te vee nie; deur die nuwer firmware te flits sonder om dit uit te vee, behou u die Wi-Fi / HomeKit-instellings! ?

Aanbeveel: