Mündəricat:

Apple HomeKit Wi-Fi Nəmləndiricisi ESP8266 əsasında: 6 addım (şəkillərlə)
Apple HomeKit Wi-Fi Nəmləndiricisi ESP8266 əsasında: 6 addım (şəkillərlə)

Video: Apple HomeKit Wi-Fi Nəmləndiricisi ESP8266 əsasında: 6 addım (şəkillərlə)

Video: Apple HomeKit Wi-Fi Nəmləndiricisi ESP8266 əsasında: 6 addım (şəkillərlə)
Video: Apple HomeKit Beginners Guide! (2024) 2024, Noyabr
Anonim
Apple HomeKit Wi-Fi Nəmləndiricisi ESP8266 əsasında?
Apple HomeKit Wi-Fi Nəmləndiricisi ESP8266 əsasında?
Apple HomeKit Wi-Fi Nəmləndiricisi ESP8266 əsasında?
Apple HomeKit Wi-Fi Nəmləndiricisi ESP8266 əsasında?
Apple HomeKit Wi-Fi Nəmləndiricisi ESP8266 əsasında?
Apple HomeKit Wi-Fi Nəmləndiricisi ESP8266 əsasında?
Apple HomeKit Wi-Fi Nəmləndiricisi ESP8266 əsasında?
Apple HomeKit Wi-Fi Nəmləndiricisi ESP8266 əsasında?

Təəssüf ki, Apple HomeKit -i dəstəkləyən yalnız bir və ya iki DeHumidifier var, lakin bunların həqiqətən yüksək qiymətləri var (300 $+). Beləliklə, özümün Wi-Fi ilə işləyən Apple HomeKit Nəmləndiricisini hazırladığım ucuz bir cihaza əsaslanaraq hazırlamağa qərar verdim?

ESP8266 istifadə edərək HomeKit ilə yerli olaraq işləyə bilər, buna görə homebridge, HAP-NodeJS lazım deyil! ?

Kod çox mürəkkəb olduğundan və bir çox xüsusi kitabxanadan istifadə etdiyim üçün əvvəlcədən tərtib edilmiş firmware faylları hazırladım. Doğma HomeKit layihələri etmək istəyənlər üçün esp-homekit üçün mənbə kodu burada mövcuddur. Firmware -dən istifadə etmək istəmirsinizsə, GPIO pinout aşağıda öz əlinizlə etmək üçün mövcuddur?

Əlavə məlumat üçün əlaqədar GitHub səhifəsinə daxil olun! ?

Xüsusiyyətləri:

  • SHT3x sensoru ilə rütubətin ölçülməsi
  • Hədəf Rütubətini qurun
  • Fan sürətinə nəzarət
  • Su səviyyəsi (tanklar dolduqda LED və avtomatik söndürmə vasitəsi ilə)
  • Güc/Sıfırlama Düyməsi

PCB hissələri:

  • ESP12F/E/S
  • XROW600B Nəmləndirici
  • SHT3x Təmiz hava/Nəmlik sensoru
  • SMD 0805 rezistorlar
  • SMD 0805 kondansatörləri
  • AMS1117-3.3
  • Toxunma düyməsi
  • 1x4P 2.54mm başlıq (isteğe bağlı)
  • IRF540NS
  • SMD 10x10.5 50V 100uF kondansatör
  • SMD 6x7 6, 3V 330uF kondansatör
  • LM2575S-5.0
  • 330uH CRDH74 indüktör
  • 1N4007 diod
  • 2N3904
  • VH3.96-2P
  • XH2.54 2P, 4P, 5P
  • 3MM Qırmızı/Yaşıl LED
  • 3 mm (hündürlük) LED neylon boşluq
  • Kabel ilə 4P Kişi XH2.54 (rütubət sensoru üçün)

Təchizat

  • Lehimləmə Dəmiri OR Lehimləmə İstasyonu və ya İsti Hava Lehim Tabancası
  • Kodu yükləmək üçün çox güman ki, bir USB TTL adapteri də almalısınız.
  • Nəmləndiricini sökmək üçün bir neçə tornavida lazımdır.
  • Xüsusi PCB
  • XROW600B nəmləndirici

Addım 1: Sökülmə

Sökülmə
Sökülmə
Sökülmə
Sökülmə
Sökülmə
Sökülmə

Nəmləndiricini sökmək üçün sizə lazım olan tək şey cihazın arxasındakı deliklərə sığa bilən bir tornavida! ?

  1. Cihazın altındakı 2 vintini sökün
  2. Cihazın arxasındakı 4 vintini sökün
  3. İndi plastik korpusu sökə bilərsiniz
  4. PCB üzərindəki hər bir konnektoru ayırın
  5. PCB -ni tutan 2 vintini sökün

Addım 2: Xüsusi PCB

Xüsusi PCB
Xüsusi PCB
Xüsusi PCB
Xüsusi PCB
Xüsusi PCB
Xüsusi PCB
Xüsusi PCB
Xüsusi PCB

Orijinal, çox sadə olanı əvəz edə biləcək xüsusi bir PCB hazırladım. Əsasən 12V-dan 3.3V-a qədər olan bir enerji təchizatı / aşağı çevirici, fan və peltier idarə etmək üçün iki MOSFET, ESP8266-nın özü, iki LED və orijinaldakı kimi toxunma düyməsi.

Yeni PCB üçün orijinaldakı kimi eyni bağlayıcıları və SHT3x Nəmlik sensoru üçün əlavə 4 pinli bir bağlayıcı əlavə etdim. Nəmləndirici ilə birlikdə gələn 9V enerji təchizatı da istifadə edilə bilər! Hər şey plug -n -playdir?

PCB -lər haqqında daha çox məlumatı burada tapa bilərsiniz

PCB faylları PCBWay -də tapıla bilər

SHT3x Nəmlik Sensoru

SHT3x sensorunu, hər şeyi olduğu kimi bağlayan telli (hissə siyahısında əlaqəli) kişi XH2.54-4P konnektoru ilə bağlamalısınız: VCC-dən VCC-yə, GND-dən GND-ə, SDA-dan SDA-ya SCL-dən SCL-ə ?

Hal -hazırda qurğumda sensor yalnız quruducunun korpusundan kənarda asılır, sensoru harada/necə yerləşdirməyiniz sizə bağlıdır, lakin quruducunun korpusunun içərisində tutulan rütubət/su sensorun oxunuşuna təsir edə bilər! ?

GPIO Pinout

Öz firmware proqramınızdan istifadə etmək istəyirsinizsə, burada pinout:

  • Düymə - GPIO0 (D3 mini wemosda)
  • SHT3x SDA - GPIO4 (D1 mini -də D2)
  • SHT3x SCL - GPIO5 (D1 mini -də D1)
  • Daxili LED GPIO2 (w4 D1 mini üzərində D4)
  • Güc LEDi - GPIO14 (wemos D1 mini üzərində D5)
  • Fan - GPIO15 (D1 mini -də D8)
  • Peltier - GPIO12 (w1 D1 mini üzərində D6)
  • Tank sensoru - GPIO13 (wemos D1 mini üzərində D7)

Addım 3: Proqram Quraşdırması

Proqram Quraşdırması
Proqram Quraşdırması
Proqram Quraşdırması
Proqram Quraşdırması
Proqram Quraşdırması
Proqram Quraşdırması

Firmware -ni GitHub səhifəmdən yükləyə bilərsiniz

Windows

Windows üçün Espressif tərəfindən rəsmi Firmware Yükləmə Alətindən istifadə edə bilərsiniz!

Flaş ünvanlarını (0x2000), flaş ölçüsünü (4MB/32mbit) və flaş rejimini (DIO/QIO) təyin etmək çox vacib bir addımdır, ancaq bu parametrlər istifadə etdiyiniz modula görə dəyişə bilər! Həmçinin.bin fayllarını yükləməzdən əvvəl firmware proqramını ilk dəfə qurduğunuzda flaşı silməyi məsləhət görürəm!

Ayarlar:

  • Baud dərəcəsi 115200
  • Flaş ölçüsü 4 MB və ya 32 mbit (modulunuzdan asılı olaraq)
  • QIO Flash Modu (və ya modulunuzdan asılı olaraq DIO)
  • 0x0000 rboot.bin
  • 0x1000 blank_config.bin
  • 0x2000 əsas.bin
  • 40 MHz

MacOS

MacOS üçün bu flaş alətindən istifadə edə bilərsiniz!

  • Ayarlar: Flaşı sil - bəli (yalnız ilk dəfə quraşdırıldıqda)
  • Baud dərəcəsi 115200
  • Flaş ölçüsü 4 MB və ya 32 mbit (modulunuzdan asılı olaraq)
  • QIO Flash Modu (və ya modulunuzdan asılı olaraq DIO)
  • Fayl: main.bin
  • 40 MHz

Əl ilə Flash

ESP modulunu yandıra bilmək üçün Mac -da esptool.py yükləməliyik. Esptool.py ilə işləmək üçün ya Python 2.7, Python 3.4 ya da sisteminizdə daha yeni bir Python quraşdırılmasına ehtiyacınız olacaq. Ən son Python versiyasını istifadə etməyi məsləhət görürük, buna görə Python veb saytına daxil olun və kompüterinizə quraşdırın. Python quraşdırıldıqda, bir Terminal pəncərəsi açın və pip ilə ən son sabit esptool.py versiyasını quraşdırın:

pip esptool qurun

Qeyd: Bəzi Python qurğularında əmr işləməyə bilər və bir səhv alacaqsınız. Əgər belədirsə, esptool.py yükləməyə çalışın:

pip3 esptool python -m pip yükle esptool pip2 install esptool

Quraşdırıldıqdan sonra, esptool.py -ni default Python yürütülebilir qovluğuna quraşdıracaqsınız və onu esptool.py əmri ilə işlədə bilməlisiniz. Terminal pəncərənizdə aşağıdakı əmri işlədin:

esptool.py

Kompüterinizə esptool.py quraşdırıldıqda, ESP8266 lövhənizi firmware ilə asanlıqla yandıra bilərsiniz. Əvvəlcə üç bin faylı yükləməlisiniz: rboot.bin və blank_config.bin və ən son versiya. Rboot.bin, ESP8266 üçün bootloader və boş bir konfiqurasiya faylında blank_config.bin və ledstrip.bin firmware proqramını ehtiva edir. İndi cihazı flash rejimində FTDI adapterinizə qoşun.

ESP8266 firmware proqramının yanıb sönməsini təmin etmək üçün cihazı işə salarkən GPIO0 pinini aşağı çəkmək lazımdır. Fərdi PCB -də FTDI adapterini PC -yə bağlayarkən basıb saxlamağınız lazım olan bir düymə var. Əksinə, normal bir çəkmə üçün GPIO0 yüksək çəkilməli və ya üzməlidir. FLASH MODU ilə başlayın Daha əvvəl yüklənmiş rboot.bin blank_config.bin fayllarını (məsələn, Yükləmələr) qoyduğunuz yerə etdiyiniz qovluğa gedin Terminal tətbiqini açın. Dockunuzdakı Finder simgesini vurun. Get düyməsini basın. Utilities düyməsini basın. Terminala iki dəfə vurun.

Yükləmə qovluğuna keçin.

Qeyd: Üç.bin faylını saxlamaq üçün başqa bir kitabxana istifadə edirsinizsə, "cd" əmrindən istifadə edərək həmin kitabxanaya gedin: Cihazınızı yandırmaq üçün esptool.py istifadə edin.

cd yükləmələri

ESP8266 -ya qoşulmaq üçün USB TTL adapterinə ehtiyacınız olacaq. Bir Wemos D1 Mini istifadə edirsinizsə, yalnız microUSB kabeli lazımdır, Wemosda TTL adapteri var.

Firmware -ni ilk dəfə quranda flaşı silmək lazımdır:

esptool.py -p / dev / erase_flash

Normalda, ESPPortunuz /dev /cu.usbserial-`xxxxxx` kimi bir şey olacaq. Sonra cihazınızı yenidən flaş rejiminə qoyun və yeni proqram təminatını yandırın:

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 və HomeKit qurulması

Wi-Fi Quraşdırması

Aksesuarı HomeKit -ə əlavə etməzdən əvvəl wifi şəbəkəsini konfiqurasiya etməlisiniz. Wi-Fi parametrlərini konfiqurasiya etmək üçün cihaz AP rejimində öz Wi-Fi şəbəkəsini yaradır. Wi-Fi şəbəkənizi qurmaq üçün ona qoşulmalısınız. Sadəcə iOS cihazınızı götürün, Ayarlar-> Wi-Fi bölməsinə gedin və HomeKid adlı bir SSID axtarın və modulun MAC ünvanını izləyin və ona qoşulun. Təhlükəsizlik baxımından AP parolla qorunur!

Varsayılan AP şifrəsi: 12345678

Cihazın tapdığı bütün Wi-Fi şəbəkələrini göstərən bir veb görünənə qədər bir neçə saniyə gözləyin. Özünüzü seçin və şifrənizi daxil edin! Sonra Qoşul düyməsini basın! Modul seçilmiş Wi-Fi şəbəkəsinə qoşulmağa çalışacaq, bu bir neçə saniyə çəkəcək.

Qeyd: Verilən parol səhvdirsə, düyməni 10 saniyə basıb Wi-Fi parametrlərini yenidən qura bilərsiniz

HomeKit Quraşdırması

İOS cihazınızda Home Tətbiqini açın və yeni bir aksesuar əlavə etmək üçün normal addımları izləyin. Eşleme qurğusu təxminən 30 saniyə çəkir.

HomeKit kodu 586-84-417-dir

Ayrıca bu HomeKit QR kodunu skan edə bilərsiniz.

Qeyd: Cütləşmə uğursuz olarsa, cihazınızın gücünü kəsə, yenidən gücə qaytara və HomeKit quraşdırmasına yenidən başlaya bilərsiniz (Wifi parametrləri konfiqurasiya olunur). Uğurlu cütləşmədən sonra Power LED 3 dəfə ağ yanıb -sönəcək!

Addım 4: PCB Əlaqələri

PCB Əlaqələri
PCB Əlaqələri
PCB Əlaqələri
PCB Əlaqələri

PCB dizaynı üçün orijinal PCB ilə eyni bağlayıcıları seçdim! ?

Beləliklə, bu addım sadə olmalıdır:

  • Fanı Fan bağlayıcısına qoşun
  • TEC (peltier modulu) uyğun bağlayıcıya qoşun
  • 5 pinli güc konnektorunu müvafiq konnektora qoşun
  • SHT3x modulunu öz bağlayıcısına qoşun

Addım 5: Bir yerdə qoyun

Birlikdə qoyulması
Birlikdə qoyulması
Birlikdə qoyulması
Birlikdə qoyulması

Cihazı bir araya gətirmək sökülmə prosesinin tərs qaydada aparılması ilə eynidir?

Addım 6: Faydalı qeydlər?

Faydalı qeydlər?
Faydalı qeydlər?

Tank dolduqda və cihaz işləyərkən Nəmləndirici bəzi təhlükəsizlik xüsusiyyətlərinə malikdir:

  • Tank boşalana qədər Fan/Peltier avtomatik olaraq bağlanır
  • Qırmızı LED dərhal yanır
  • Güc LED'i hər 30 saniyədə 3 dəfə yanıb -sönür

SHT3x sensorunun düzgün işləməməsi halında təhlükəsizlik xüsusiyyəti də var:

  • Tank boşalana qədər Fan/Peltier avtomatik olaraq bağlanır
  • Mövcud rütubətin 0% olaraq təyin edilməsi
  • Güc LED'i hər 30 saniyədə 2 dəfə yanıb -sönür

Həm SHT3x -də bir səhv var, həm də tank dolduqda, LED hər 30 saniyədə 6 dəfə yanıb -sönəcək.

ESP8266 -da cihazın elektrikdən ayrılmasına ehtiyacınız olmayan bir səhv var, düyməni üç dəfə basaraq ESP8266 yenidən başlayacaq!

Nəmləndirici işə salındıqda və mövcud rütubət hədəf rütubətinə bərabər və/və ya daha az olduqda, cihaz Boş rejimə keçəcək. Ev tətbiqində cihaz boş vəziyyətdə olanda "Ayarla…" göstəriləcək və işləyərkən "Aşağıya doğru …" göstəriləcək!

Firmware proqramının yenilənməsi

Over-The-Air (OTA) firmware yeniləmələrini həyata keçirməyi planlaşdırmışam, amma bu o qədər də etibarlı deyil, belə ki, yeniləmə ilk quraşdırmada olduğu kimi əl ilə aparılmalıdır! Yeganə fərq, flaşı silməyinizə ehtiyac yoxdur, sadəcə yeni proqram təminatını silmədən yandıraraq Wi-Fi / HomeKit parametrlərinizi qoruyacaqsınız! ?

Tövsiyə: