Spisu treści:

Osuszacz Wi-Fi Apple HomeKit oparty na ESP8266?: 6 kroków (ze zdjęciami)
Osuszacz Wi-Fi Apple HomeKit oparty na ESP8266?: 6 kroków (ze zdjęciami)

Wideo: Osuszacz Wi-Fi Apple HomeKit oparty na ESP8266?: 6 kroków (ze zdjęciami)

Wideo: Osuszacz Wi-Fi Apple HomeKit oparty na ESP8266?: 6 kroków (ze zdjęciami)
Wideo: Jakie NIEDROGIE Sprzęty z Apple HomeKit Warto Kupić do Domu? 2024, Listopad
Anonim
Osuszacz Wi-Fi Apple HomeKit oparty na ESP8266 ?
Osuszacz Wi-Fi Apple HomeKit oparty na ESP8266 ?
Osuszacz Wi-Fi Apple HomeKit oparty na ESP8266 ?
Osuszacz Wi-Fi Apple HomeKit oparty na ESP8266 ?
Osuszacz Wi-Fi Apple HomeKit oparty na ESP8266 ?
Osuszacz Wi-Fi Apple HomeKit oparty na ESP8266 ?
Osuszacz Wi-Fi Apple HomeKit oparty na ESP8266 ?
Osuszacz Wi-Fi Apple HomeKit oparty na ESP8266 ?

Niestety istnieje tylko jeden lub dwa osuszacze, które obsługują Apple HomeKit, ale te mają naprawdę wysokie ceny (300 $+). Więc zdecydowałem się stworzyć własny osuszacz Apple HomeKit z obsługą Wi-Fi na podstawie taniego, który już mam?

Może działać natywnie z HomeKit przy użyciu ESP8266, więc nie jest potrzebny homebridge ani HAP-NodeJS! ?

Ponieważ kod jest bardzo złożony i korzystałem z wielu niestandardowych bibliotek, stworzyłem wstępnie skompilowane pliki oprogramowania układowego. Dla tych, którzy są zainteresowani tworzeniem natywnych projektów HomeKit, kod źródłowy esp-homekit dostępny jest tutaj. Jeśli nie chcesz używać mojego oprogramowania, pinout GPIO jest dostępny poniżej, aby stworzyć własny?

Aby uzyskać więcej informacji, odwiedź powiązaną stronę GitHub! ?

Cechy:

  • Pomiar wilgotności za pomocą czujnika SHT3x
  • Ustaw wilgotność docelową
  • Kontrolowanie prędkości wentylatora
  • Poziom wody (za pomocą diod LED i automatycznego wyłączania, gdy zbiornik jest pełny)
  • Przycisk zasilania/resetowania

Części PCB:

  • ESP12F/E/S
  • Osuszacz XROW600B
  • Czujnik temperatury/wilgotności SHT3x
  • Rezystory SMD 0805
  • Kondensatory SMD 0805
  • AMS1117-3.3
  • Przycisk dotykowy
  • Nagłówek 1x4P 2,54 mm (opcjonalnie)
  • IRF540NS
  • Kondensator SMD 10x10.5 50V 100uF
  • Kondensator SMD 6x7 6, 3V 330uF
  • LM2575S-5.0
  • Cewka indukcyjna 330uH CRDH74;
  • Dioda 1N4007
  • 2N3904
  • VH3.96-2P
  • XH2.54 2P, 4P, 5P
  • 3 MM czerwona/zielona dioda LED
  • 3mm (wysokość) nylonowa przekładka LED
  • 4P męski XH2.54 z kablem (do czujnika wilgotności)

Kieszonkowe dzieci

  • LutownicaORStacja lutowniczaORPistolet lutowniczy na gorące powietrze
  • Aby wgrać kod, prawdopodobnie będziesz musiał kupić również adapter USB TTL.
  • Do demontażu osuszacza potrzebujesz śrubokrętów.
  • Niestandardowa płytka drukowana
  • Osuszacz XROW600B

Krok 1: Demontaż

Demontaż
Demontaż
Demontaż
Demontaż
Demontaż
Demontaż

Do demontażu osuszacza potrzebujesz tylko śrubokręta, który zmieści się w otworach z tyłu urządzenia! ?

  1. Odkręć 2 śruby w dolnej części urządzenia
  2. Odkręć 4 śruby z tyłu urządzenia
  3. Teraz możesz rozebrać plastikową obudowę
  4. Odłącz wszystkie złącza na płytce drukowanej
  5. Odkręć 2 śruby mocujące PCB

Krok 2: Niestandardowa płytka drukowana

Niestandardowa płytka drukowana
Niestandardowa płytka drukowana
Niestandardowa płytka drukowana
Niestandardowa płytka drukowana
Niestandardowa płytka drukowana
Niestandardowa płytka drukowana
Niestandardowa płytka drukowana
Niestandardowa płytka drukowana

Zaprojektowałem niestandardową płytkę drukowaną, która może zastąpić oryginalną, bardzo podstawową. To w zasadzie tylko zasilacz / konwerter obniżający napięcie z 12V na 3,3V, dwa tranzystory MOSFET do napędzania wentylatora i peltiera, sam ESP8266, dwie diody LED i przycisk dotykowy jak na oryginalnym.

Dodałem również te same złącza dla nowej płytki drukowanej, co w oryginalnej i dodatkowe 4-pinowe złącze dla czujnika wilgotności SHT3x. Można również użyć zasilacza 9V, który jest dostarczany z osuszaczem! Wszystko jest typu plug 'n' play?

Więcej informacji o płytkach PCB znajdziesz tutaj

Pliki PCB można znaleźć na PCBWay

Czujnik wilgotności SHT3x

Musisz podłączyć czujnik SHT3x za pomocą męskiego złącza XH2.54-4P z przewodami (podłączonymi na liście części) po prostu łącząc wszystko tak, jak powinno: VCC do VCC, GND do GND, SDA do SDA i SCL do SCL ?

Obecnie w mojej konfiguracji czujnik po prostu wisi na zewnątrz obudowy osuszacza, zależy od Ciebie, gdzie/jak umieścisz czujnik, ale wewnątrz obudowy osuszacza wychwycona wilgoć/woda może wpływać na odczyt czujnika! ?

Pinout GPIO

Jeśli chcesz użyć własnego oprogramowania, oto pinout:

  • Przycisk - GPIO0 (D3 na wemos D1 mini)
  • SHT3x SDA - GPIO4 (D2 na wemos D1 mini)
  • SHT3x SCL - GPIO5 (D1 na wemos D1 mini)
  • Wbudowana dioda LED GPIO2 (D4 na wemos D1 mini)
  • Dioda LED zasilania - GPIO14 (D5 na wemos D1 mini)
  • Wentylator - GPIO15 (D8 na wemos D1 mini)
  • Peltier - GPIO12 (D6 na wemos D1 mini)
  • Czujnik zbiornika - GPIO13 (D7 na wemos D1 mini)

Krok 3: Konfiguracja oprogramowania

Konfiguracja oprogramowania
Konfiguracja oprogramowania
Konfiguracja oprogramowania
Konfiguracja oprogramowania
Konfiguracja oprogramowania
Konfiguracja oprogramowania

Oprogramowanie układowe można pobrać z mojej strony GitHub

Okna

W systemie Windows możesz skorzystać z oficjalnego narzędzia pobierania oprogramowania układowego firmy Espressif!

Ustawienie adresów flash (0x2000), rozmiaru flash (4MB/32mbit) i trybu flash (DIO/QIO) jest bardzo ważnym krokiem, ale te ustawienia mogą ulec zmianie w zależności od używanego modułu! Zalecam również wykasowanie pamięci flash podczas pierwszej instalacji oprogramowania przed wgraniem plików.bin!

Ustawienia:

  • Szybkość transmisji 115200
  • Rozmiar Flash 4MB lub 32mbit (w zależności od modułu)
  • Tryb Flash QIO (lub DIO, w zależności od modułu)
  • 0x0000 rboot.bin
  • 0x1000 blank_config.bin
  • 0x2000 główny.bin
  • 40 MHz

System operacyjny Mac

W systemie MacOS możesz użyć tego narzędzia do flashowania!

  • Ustawienia: Wymaż flash - tak (tylko przy pierwszej instalacji)
  • Szybkość transmisji 115200
  • Rozmiar Flash 4MB lub 32mbit (w zależności od modułu)
  • Tryb Flash QIO (lub DIO, w zależności od modułu)
  • Plik: główny.bin
  • 40 MHz

Ręczne Flash

Musimy zainstalować esptool.py na naszym Macu, aby móc sflashować nasz moduł ESP. Aby pracować z esptool.py, potrzebujesz Pythona 2.7, Pythona 3.4 lub nowszej instalacji Pythona w swoim systemie. Zalecamy korzystanie z najnowszej wersji Pythona, więc wejdź na stronę Pythona i zainstaluj go na swoim komputerze. Po zainstalowaniu Pythona otwórz okno Terminala i zainstaluj najnowszą stabilną wersję esptool.py za pomocą pip:

pip zainstalować esptool

Uwaga: w przypadku niektórych instalacji Pythona to polecenie może nie działać i pojawi się błąd. W takim przypadku spróbuj zainstalować esptool.py za pomocą:

pip3 zainstaluj esptool python -m pip zainstaluj esptool pip2 zainstaluj esptool

Po zainstalowaniu esptool.py zostanie zainstalowany w domyślnym katalogu plików wykonywalnych Pythona i powinieneś być w stanie uruchomić go za pomocą polecenia esptool.py. W oknie Terminala uruchom następujące polecenie:

esptool.py

Z esptool.py zainstalowanym na twoim komputerze, możesz łatwo sflashować swoją płytę ESP8266 z oprogramowaniem układowym. Najpierw musisz pobrać trzy pliki bin: rboot.bin i blank_config.bin oraz najnowszą wersję. Plik rboot.bin zawiera bootloader dla ESP8266 i blank_config.bin w pustym pliku konfiguracyjnym, a ledstrip.bin zawiera oprogramowanie układowe. Teraz podłącz swoje urządzenie do adaptera FTDI w trybie flash.

Aby włączyć flashowanie oprogramowania układowego ESP8266, pin GPIO0 należy wyciągnąć w dół podczas zasilania urządzenia. Na mojej niestandardowej płytce drukowanej jest przycisk, który należy nacisnąć i przytrzymać podczas podłączania adaptera FTDI do komputera. I odwrotnie, w przypadku normalnego buta GPIO0 musi być wyciągnięty wysoko lub unoszący się. Uruchom w TRYBIE FLASH Przejdź do utworzonego katalogu, w którym umieściłeś pobrane wcześniej pliki rboot.bin blank_config.bin (np. Pobrane) Otwórz aplikację Terminal. Kliknij ikonę Findera w doku. Kliknij Idź. Kliknij Narzędzia. Kliknij dwukrotnie Terminal.

Przejdź do katalogu pobierania.

Uwaga: Jeśli używasz innej biblioteki do przechowywania trzech plików.bin, przejdź do tej biblioteki za pomocą polecenia `cd`: Użyj esptool.py, aby sflashować urządzenie.

pobieranie płyt CD

Do podłączenia do ESP8266 potrzebny będzie adapter USB TTL. Jeśli używasz Wemos D1 Mini, potrzebny jest tylko kabel microUSB, Wemos ma wbudowany adapter TTL.

Podczas pierwszej instalacji oprogramowania układowego musimy wymazać flash:

esptool.py -p /dev/ erase_flash

Normalnie twój ESPPort będzie wyglądał jak /dev/cu.usbserial-`xxxxxx`. Następnie ponownie ustaw urządzenie w trybie flash i zaktualizuj nowe oprogramowanie:

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

Konfiguracja Wi-Fi i HomeKit

Konfiguracja Wi-Fi

Musisz skonfigurować sieć Wi-Fi przed dodaniem akcesorium do HomeKit. Aby skonfigurować ustawienia Wi-Fi, urządzenie generuje własne Wi-Fi w trybie AP. Musisz się z nim połączyć, aby skonfigurować sieć Wi-Fi. Po prostu weź swoje urządzenie z systemem iOS, przejdź do Ustawienia -> Wi-Fi i wyszukaj identyfikator SSID o nazwie HomeKid, a następnie adres MAC modułu i połącz się z nim. Ze względów bezpieczeństwa AP jest chroniony hasłem!

Domyślne hasło AP: 12345678

Poczekaj kilka sekund, aż pojawi się sieć pokazująca wszystkie sieci Wi-Fi znalezione przez urządzenie. Wybierz swoje i wprowadź hasło! Następnie kliknij przycisk Dołącz! Moduł spróbuje połączyć się z wybraną siecią Wi-Fi, zajmie to kilka sekund.

Uwaga: Jeśli podane hasło jest błędne, możesz zresetować ustawienia Wi-fi, przytrzymując przycisk przez 10 sekund

Konfiguracja HomeKit

Na urządzeniu z systemem iOS otwórz aplikację Home i wykonaj normalne czynności, aby dodać nowe akcesorium. Konfiguracja parowania zajmuje około 30 sekund.

Kod HomeKit to 586-84-417

Możesz także zeskanować ten kod QR HomeKit.

Uwaga: jeśli parowanie się nie powiedzie, możesz wyłączyć zasilanie urządzenia, ponownie je włączyć i ponownie rozpocząć konfigurację HomeKit (ustawienia Wi-Fi pozostają skonfigurowane). Po udanym sparowaniu dioda LED zasilania zamiga 3 razy na biało!

Krok 4: Połączenia PCB

Połączenia PCB
Połączenia PCB
Połączenia PCB
Połączenia PCB

Do projektu PCB wybrałem te same złącza, co na oryginalnej płytce drukowanej! ?

Więc ten krok powinien być prosty:

  • Podłącz wentylator do złącza wentylatora
  • Podłącz TEC (moduł Peltiera) do odpowiedniego złącza
  • Podłącz 5-pinowe złącze zasilania do odpowiedniego złącza
  • Podłącz moduł SHT3x do własnego złącza

Krok 5: Łączenie w całość

Łączenie w całość
Łączenie w całość
Łączenie w całość
Łączenie w całość

Składanie urządzenia to ten sam proces co demontaż tylko w odwrotnej kolejności ?

Krok 6: Przydatne notatki ?

Przydatne uwagi ?
Przydatne uwagi ?

Osuszacz posiada pewne funkcje bezpieczeństwa, gdy zbiornik jest pełny, a urządzenie pracuje:

  • Automatycznie wyłącza wentylator/Peltier do momentu opróżnienia zbiornika
  • Natychmiast włącza się czerwona dioda LED
  • Miga dioda LED zasilania 3 razy co 30 sekund

Posiada również funkcję bezpieczeństwa na wypadek nieprawidłowego działania czujnika SHT3x:

  • Automatycznie wyłącza wentylator/Peltier do momentu opróżnienia zbiornika
  • Ustawienie aktualnej wilgotności na 0%
  • Miga dioda LED zasilania 2 razy co 30 sekund

Gdy zarówno SHT3x ma błąd, a zbiornik jest pełny, dioda LED zasilania będzie migać 6 razy co 30 sekund.

W ESP8266 jest jakiś błąd nie trzeba odłączać urządzenia od zasilania, trzykrotne wciśnięcie przycisku zrestartuje ESP8266!

Gdy osuszacz jest włączony, a aktualna wilgotność jest równa i/lub mniejsza od wilgotności docelowej, urządzenie przejdzie w tryb bezczynności. W aplikacji Home wyświetli „Ustaw na…”, gdy urządzenie jest w stanie bezczynności, i pokaże „Opuszczanie do…”, gdy jest uruchomione!

Aktualizacja oprogramowania

Planowałem wdrożyć aktualizacje oprogramowania sprzętowego Over-The-Air (OTA), ale nie jest to tak niezawodne, więc aktualizację należy wykonać ręcznie, tak jak przy pierwszej konfiguracji! Jedyną różnicą jest to, że nie musisz wymazywać pamięci flash, po prostu flashowanie nowszego oprogramowania bez wymazywania go zachowa ustawienia Wi-Fi / HomeKit! ?

Zalecana: