Turinys:

„Apple HomeKit“belaidis sausintuvas, pagrįstas ESP8266?: 6 žingsniai (su paveikslėliais)
„Apple HomeKit“belaidis sausintuvas, pagrįstas ESP8266?: 6 žingsniai (su paveikslėliais)

Video: „Apple HomeKit“belaidis sausintuvas, pagrįstas ESP8266?: 6 žingsniai (su paveikslėliais)

Video: „Apple HomeKit“belaidis sausintuvas, pagrįstas ESP8266?: 6 žingsniai (su paveikslėliais)
Video: Upgrade your home's air-conditioning game with the Aqara M2 hub 👏 2024, Rugsėjis
Anonim
„Apple HomeKit“belaidis sausintuvas, pagrįstas ESP8266?
„Apple HomeKit“belaidis sausintuvas, pagrįstas ESP8266?
„Apple HomeKit“belaidis sausintuvas, pagrįstas ESP8266?
„Apple HomeKit“belaidis sausintuvas, pagrįstas ESP8266?
„Apple HomeKit“belaidis sausintuvas, pagrįstas ESP8266?
„Apple HomeKit“belaidis sausintuvas, pagrįstas ESP8266?
„Apple HomeKit“belaidis sausintuvas, pagrįstas ESP8266?
„Apple HomeKit“belaidis sausintuvas, pagrįstas ESP8266?

Deja, yra tik vienas ar du sausintuvai, palaikantys „Apple HomeKit“, tačiau jų kainos yra tikrai aukštos (300 USD+). Taigi aš nusprendžiau sukurti savo „Wi-Fi“palaikantį „Apple HomeKit“sausintuvą pagal pigų, kurį jau turiu?

Jis gali veikti iš pradžių su „HomeKit“, naudojant ESP8266, todėl nereikia namų tilto, HAP-NodeJS! ?

Kadangi kodas yra labai sudėtingas ir aš naudoju daug pasirinktinių bibliotekų, sukūriau iš anksto sukompiliuotus programinės įrangos failus. Tiems, kurie nori sukurti vietinius „HomeKit“projektus, „esp-homekit“šaltinio kodą rasite čia. Jei nenorite naudoti mano programinės aparatinės įrangos, GPIO kištuką rasite žemiau, kad sukurtumėte savo?

Norėdami gauti daugiau informacijos, apsilankykite susijusiame „GitHub“puslapyje! ?

Funkcijos:

  • Drėgmės matavimas naudojant SHT3x jutiklį
  • Nustatykite tikslinę drėgmę
  • Ventiliatoriaus greičio valdymas
  • Vandens lygis (per šviesos diodus ir automatinį išjungimą, kai bakas pilnas)
  • Maitinimo/atstatymo mygtukas

PCB dalys:

  • ESP12F/E/S
  • XROW600B sausintuvas
  • SHT3x Tempereature/drėgmės jutiklis
  • SMD 0805 rezistoriai
  • SMD 0805 kondensatoriai
  • AMS1117-3.3
  • Taktilinis mygtukas
  • 1x4P 2,54 mm antraštė (neprivaloma)
  • IRF540NS
  • SMD 10x10,5 50V 100uF kondensatorius
  • SMD 6x7 6, 3V 330uF kondensatorius
  • LM2575S-5.0
  • 330uH CRDH74 induktorius
  • 1N4007 diodas
  • 2N3904
  • VH3.96-2P
  • XH2.54 2P, 4P, 5P
  • 3MM raudonas/žalias šviesos diodas
  • 3 mm (aukščio) LED nailoninis tarpiklis
  • 4P Vyriškas XH2.54 su kabeliu (drėgmės jutikliui)

Prekės

  • Lituoklis arba litavimo stotis arba karšto oro litavimo pistoletas
  • Norėdami įkelti kodą, greičiausiai taip pat turite nusipirkti USB TTL adapterį.
  • Norėdami išardyti sausintuvą, jums reikės atsuktuvų.
  • Individualizuota PCB
  • XROW600B sausintuvas

1 žingsnis: išmontavimas

Išardymas
Išardymas
Išardymas
Išardymas
Išardymas
Išardymas

Norėdami išardyti sausintuvą, jums tereikia atsuktuvo, kuris telpa į skyles prietaiso gale! ?

  1. Atsukite 2 varžtus prietaiso apačioje
  2. Atsukite 4 varžtus prietaiso gale
  3. Dabar galite išardyti plastikinį korpusą
  4. Atjunkite kiekvieną PCB jungtį
  5. Atsukite 2 varžtus, laikančius PCB

2 žingsnis: pasirinktinis PCB

Individualizuota PCB
Individualizuota PCB
Individualizuota PCB
Individualizuota PCB
Individualizuota PCB
Individualizuota PCB
Individualizuota PCB
Individualizuota PCB

Aš sukūriau individualų PCB, kuris gali pakeisti originalų, labai paprastą. Iš esmės tai yra tik maitinimo šaltinis / sumažinimo keitiklis nuo 12 V iki 3,3 V, du MOSFET, skirti vairuoti ventiliatorių ir peltier, pats ESP8266, du šviesos diodai ir lytėjimo mygtukas, kaip ir originaliame.

Aš taip pat pridėjau tas pačias naujo PCB jungtis kaip ir originalioje ir papildomą 4 kontaktų jungtį SHT3x drėgmės jutikliui. Taip pat galima naudoti 9 V maitinimo šaltinį, kuris pateikiamas kartu su sausintuvu! Viskas yra „plug -and -play“?

Daugiau informacijos apie PCB galite rasti čia

PCB failus galite rasti PCBWay

SHT3x drėgmės jutiklis

Turite prijungti SHT3x jutiklį naudodami vyrišką XH2.54-4P jungtį su laidais (susieta su dalių sąrašu), tiesiog prijungiant viską taip, kaip turėtų būti: VCC-VCC, GND-GND, SDA-SDA ir SCL-SCL ?

Šiuo metu mano sąrankoje jutiklis tiesiog kabo už sausintuvo korpuso, tai priklauso nuo to, kur/kaip įdėsite jutiklį, tačiau sausintuvo korpuso viduje drėgmė/vanduo gali turėti įtakos jutiklio rodmenims! ?

„GPIO Pinout“

Jei norite naudoti savo programinę -aparatinę įrangą, čia rasite nuorodą:

  • Mygtukas - GPIO0 (D3 „Wemos D1 mini“)
  • SHT3x SDA - GPIO4 (D2 „Wemos D1 mini“)
  • SHT3x SCL - GPIO5 (D1 „Wemos D1 mini“)
  • Įmontuotas LED GPIO2 (D4 ant „Wemos D1 mini“)
  • Maitinimo šviesos diodas - GPIO14 (D5 „Wemos D1 mini“)
  • Ventiliatorius - GPIO15 (D8 „Wemos D1 mini“)
  • „Peltier“- GPIO12 (D6 „Wemos D1 mini“)
  • Bako jutiklis - GPIO13 (D7 ant „Wemos D1 mini“)

3 veiksmas: programinės įrangos sąranka

Programinės įrangos sąranka
Programinės įrangos sąranka
Programinės įrangos sąranka
Programinės įrangos sąranka
Programinės įrangos sąranka
Programinės įrangos sąranka

Programinę -aparatinę įrangą galite atsisiųsti iš mano „GitHub“puslapio

„Windows“

„Windows“galite naudoti oficialų „Espressif“programinės įrangos atsisiuntimo įrankį!

Blykstės adresų (0x2000), blykstės dydžio (4 MB/32mbit) ir blykstės režimo (DIO/QIO) nustatymas yra labai svarbus žingsnis, tačiau šie nustatymai gali būti pakeisti atsižvelgiant į naudojamą modulį! Taip pat rekomenduoju ištrinti blykstę pirmą kartą diegiant programinę -aparatinę įrangą prieš įkeliant.bin failus!

Nustatymai:

  • Baud kursas 115200
  • Blykstės dydis 4 MB arba 32 MB (priklausomai nuo jūsų modulio)
  • Blykstės režimas QIO (arba DIO, priklausomai nuo jūsų modulio)
  • 0x0000 rboot.bin
  • 0x1000 blank_config.bin
  • 0x2000 main.bin
  • 40MHz

„MacOS“

„MacOS“galite naudoti šį mirksėjimo įrankį!

  • Nustatymai: ištrinti blykstę - taip (tik pirmą kartą įdiegus)
  • Baud kursas 115200
  • Blykstės dydis 4 MB arba 32 MB (priklausomai nuo jūsų modulio)
  • Blykstės režimas QIO (arba DIO, priklausomai nuo jūsų modulio)
  • Failas: main.bin
  • 40MHz

„Flash“rankiniu būdu

Kad galėtume atnaujinti ESP modulį, „Mac“turime įdiegti esptool.py. Jei norite dirbti su esptool.py, jums reikės „Python 2.7“, „Python 3.4“arba naujesnės „Python“diegimo jūsų sistemoje. Rekomenduojame naudoti naujausią „Python“versiją, todėl eikite į „Python“svetainę ir įdiekite ją savo kompiuteryje. Įdiegę „Python“, atidarykite terminalo langą ir įdiekite naujausią stabilų „esptool.py“leidimą naudodami „pip“:

pip įdiegti esptool

Pastaba: kai kuriuose „Python“įrenginiuose ši komanda gali neveikti ir gausite klaidą. Tokiu atveju pabandykite įdiegti esptool.py naudodami:

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

Įdiegę turėsite įdiegti esptool.py į numatytąjį vykdomųjų failų katalogą „Python“ir turėtumėte jį paleisti naudodami komandą esptool.py. Terminalo lange paleiskite šią komandą:

esptool.py

Jei kompiuteryje įdiegta esptool.py, galite lengvai atnaujinti ESP8266 plokštę naudodami programinę -aparatinę įrangą. Iš pradžių turite atsisiųsti tris šiukšliadėžės failus: rboot.bin ir blank_config.bin ir naujausią versiją. Rboot.bin yra ESP8266 įkrovos įkėlimo programa ir blank_config.bin tik tuščiame konfigūracijos faile, o ledstrip.bin yra programinė įranga. Dabar prijunkite savo įrenginį prie FTDI adapterio blykstės režimu.

Norėdami įjungti ESP8266 programinės įrangos mirksėjimą, GPIO0 kaištis turi būti nuspaustas žemai, kai įjungiamas įrenginys. Mano pasirinktinėje PCB yra mygtukas, kurį turite paspausti ir palaikyti, kai prijungiate FTDI adapterį prie kompiuterio. Ir atvirkščiai, normaliam įkrovimui GPIO0 turi būti ištrauktas aukštai arba plaukiojantis. Pradėti blykstės režimu Eikite į savo sukurtą katalogą, į kurį įdėjote anksčiau atsisiųstus rboot.bin blank_config.bin failus (pvz., Atsisiuntimai) Atidarykite terminalo programą. Savo doke spustelėkite „Finder“piktogramą. Spustelėkite Eiti. Spustelėkite Utilities. Dukart spustelėkite Terminalas.

Pakeiskite atsisiuntimų katalogą.

Pastaba: jei naudojate kitą biblioteką trims.bin failams saugoti, eikite į tą biblioteką naudodami komandą „cd“: naudokite esptool.py, kad paleistumėte įrenginį.

CD atsisiuntimai

Norėdami prisijungti prie ESP8266, jums reikės USB TTL adapterio. Jei naudojate tik „Wemos D1 Mini“, reikalingas „microUSB“kabelis, „Wemos“turi įmontuotą TTL adapterį.

Kai pirmą kartą diegiame programinę -aparatinę įrangą, turime ištrinti blykstę:

esptool.py -p / dev / erase_flash

Paprastai jūsų ESPPort bus kažkas panašaus į /dev /cu.usbserial-`xxxxxx`. Tada vėl nustatykite įrenginį blykstės režimu ir paleiskite naują programinę-aparatinę įrangą:

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“ir „HomeKit“sąranka

„Wi-Fi“sąranka

Prieš pridėdami priedą prie „HomeKit“, turite sukonfigūruoti „Wi -Fi“tinklą. Norėdami konfigūruoti „Wi-Fi“nustatymus, įrenginys sukuria savo „Wi-Fi“AP režimu. Norėdami nustatyti „Wi-Fi“tinklą, turite prisijungti prie jo. Tiesiog paimkite „iOS“įrenginį, eikite į „Nustatymai->„ Wi-Fi “ir suraskite SSID, pavadintą„ HomeKid “, po to-modulio MAC adresą ir prisijunkite prie jo. Saugumo sumetimais AP yra apsaugota slaptažodžiu!

Numatytasis AP slaptažodis: 12345678

Palaukite kelias sekundes, kol pasirodys žiniatinklis, kuriame bus rodomi visi įrenginio rasti „Wi-Fi“tinklai. Pasirinkite savo ir įveskite slaptažodį! Tada spustelėkite mygtuką Prisijungti! Modulis bandys prijungti pasirinktą „Wi-Fi“tinklą, tai užtruks porą sekundžių.

Pastaba: jei nurodytas slaptažodis neteisingas, galite iš naujo nustatyti „Wi-Fi“nustatymus, laikydami nuspaudę mygtuką 10 sekundžių

„HomeKit“sąranka

„IOS“įrenginyje atidarykite „Home“programą ir atlikite įprastus veiksmus, kad pridėtumėte naują priedą. Susiejimo sąranka trunka apie 30 sekundžių.

„HomeKit“kodas yra 586-84-417

Taip pat galite nuskaityti šį „HomeKit“QR kodą.

Pastaba: jei susiejimas nepavyksta, galite atjungti įrenginio maitinimą, pakartotinai maitinti ir vėl pradėti „HomeKit“sąranką („Wifi“nustatymai lieka sukonfigūruoti). Sėkmingai susiejus, maitinimo indikatorius 3 kartus mirksės baltai!

4 žingsnis: PCB jungtys

PCB jungtys
PCB jungtys
PCB jungtys
PCB jungtys

PCB dizainui pasirinkau tas pačias jungtis kaip ir originalioje PCB! ?

Taigi šis žingsnis turėtų būti paprastas:

  • Prijunkite ventiliatorių prie ventiliatoriaus jungties
  • Prijunkite TEC (peltier modulį) prie atitinkamos jungties
  • Prijunkite 5 kontaktų maitinimo jungtį prie atitinkamos jungties
  • Prijunkite SHT3x modulį prie savo jungties

5 žingsnis: sujungimas

Sujungimas
Sujungimas
Sujungimas
Sujungimas

Įrenginio sujungimas yra tas pats procesas kaip ir išmontavimas atvirkštine tvarka?

6 žingsnis: naudingos pastabos?

Naudingos pastabos?
Naudingos pastabos?

Sausintuvas turi tam tikras saugos funkcijas, kai bakas pilnas ir prietaisas veikia:

  • Automatiškai išjungia ventiliatorių/„Peltier“, kol bakas bus tuščias
  • Nedelsiant įjungia raudoną šviesos diodą
  • Maitinimo indikatorius mirksi 3 kartus kas 30 sekundžių

Taip pat turi saugos funkciją, jei SHT3x jutiklis neveikia tinkamai:

  • Automatiškai išjungia ventiliatorių/„Peltier“, kol bakas bus tuščias
  • Dabartinės drėgmės nustatymas į 0%
  • Maitinimo indikatorius mirksi 2 kartus kas 30 sekundžių

Kai tiek SHT3x yra klaida, tiek bakas pilnas, maitinimo indikatorius mirksi 6 kartus kas 30 sekundžių.

ESP8266 turi tam tikrą klaidą, jums nereikia atjungti įrenginio nuo maitinimo, tris kartus paspaudus mygtuką, ESP8266 bus paleistas iš naujo!

Kai sausintuvas įjungiamas, o dabartinė drėgmė yra lygi ir (arba) mažesnė už tikslinę drėgmę, prietaisas pereina į laukimo režimą. „Home“programoje, kai įrenginys veikia tuščiąja eiga, bus rodoma „Nustatyti į…“, o kai jis veikia, rodoma „Nuleidžiama iki…“!

Firmware atnaujinimas

Aš planavau įdiegti „Over-The-Air“(OTA) programinės įrangos atnaujinimus, tačiau jie nėra tokie patikimi, todėl atnaujinimas turėtų būti atliekamas rankiniu būdu, kaip ir per pirmą sąranką! Vienintelis skirtumas yra tas, kad jums nereikia ištrinti blykstės, tiesiog mirksint naujesnei programinei įrangai neištrinant jos bus išsaugoti „Wi-Fi“/ „HomeKit“nustatymai! ?

Rekomenduojamas: