Jakiś czas temu pokazywałem termostat z wyświetlaczem THR320D Sonoff i prezentowałem możliwości aplikacji eWeLink. Tym razem będę kontynuować omawianie tego produktu, ale tutaj skupię się na jego wnętrzu oraz na zmianie jego firmware na Tasmotę, tak aby go całkiem uwolnić od chmury i sparować z Home Assistant na naszych zasadach.
Poprzedni temat:
[ESP32] Termostat z wyświetlaczem i WiFi - Sonoff THR320D - aplikacja eWeLink
Informacje o zakupie produktu są w poprzednim temacie, więc zaczynamy od wnętrza.
Wnętrze THR320D
Ten produkt wyróżnia się porządną budową. Nie ma łamliwych zaczepów. Odkręcamy śrubki:
Na pierwszy rzut oka nie jest tak źle, są jakieś zabezpieczenia na wejściu, jest nawet warystor, kondensator filtrujący, widać też przekaźnik, złącze do programowania oraz mały transformatorek z charakterystycznym kondensatorem Y, czyli w środku jest zasilacz flyback..
W środku nie ma żadnego modułu WiFi, ESP32 jest bezpośrednio na PCB, tuż obok widać pamięć flash:
PCB można wyjąć, zobaczymy wtedy kontroler wyświetlacza oraz antenkę od WiFi:
Wyświetlacz obsługuje TM1621:
Widzimy tu też szczegóły sekcji zasilania oraz kontroler LP3667:
Uproszczony schemat takiej przetwornicy:
W rogu widzę też przetwornicę step down generującą 3.3V dla ESP, można to poznać też po obecności dławika, swoją drogą ciekawe, że aż tyle kondensatorów ceramicznych tam dali:
Wspomniana już antenka WiFi:
ESP:
Na zdjęciu wyżej widać też pady do programowania, ale są tylko 4...
Zmiana firmware
Zacząć trzeba od tego, że IO0 znajduje się na przycisku, więc lutujemy 4 przewody a nie 5. Standardowo konwerter USB na UART (RX i TX) oraz masa i zasilanie (3.3V). Aby wgrać wsad, najpierw wciskamy przycisk a potem podłączamy zasilanie programatora, tak aby IO0 był na stanie niskim w trakcie bootowania urządzenia.
Potem można wgrać Tasmotę np. instalatorem online:
Jak łatwo zainstalować Tasmotę - instalator online tasmota.github.io/install przez przeglądarkę WWW
Sam jednak użyłem esptool:
Szablon THR320D jest dostępny w sieci:
{"NAME":"Sonoff THR320D","GPIO":[32,0,0,0,226,9280,0,0,0,321,0,576,320,9184,9216,9312,0,0,9313,9248,0,1,0,3840,0,0,0,0,0,0,0,0,0,0,0,0],"FLAG":0,"BASE":1}
Role GPIO:
- GPIO00 - Button 1
- GPIO04 - Relay 3
- GPIO05 - TM1621 DAT
- GPIO13 - Led_i 2
- GPIO15 - LedLinki
- GPIO16 - Led_i 1
- GPIO17 - TM1621 CS
- GPIO18 - TM1621 WR
- GPIO19 - Relay_b 1
- GPIO22 - Relay_b 2
- GPIO23 - TM1621 RD
- GPIO27 - Output Hi
Aktywacja szablonu:
Potem jeszcze trzeba wybrać role dla GPIO czujników, bo mogą być różne czujniki, ja sprawdzałem tylko z DS18B20:
Rezultat:
Oczywiście wyświetlacz dalej działa, szablon uwzględnia jego działanie, chociaż teraz już nie wyświetla nic o wilgotności tak jak oryginalne firmware:
A temperatura na zdjęciu jest wysoka, bo na próbę nagrzałem czujnik lampką:
Wygląda na to, że wszystko działa.
Podsumowanie
Już wspominałem o tym w poprzedniej części, ale bardzo zachwalam wszystkie produkty IoT które są w stanie działać zupełnie bez WiFi a możliwość odczytu bieżącej temperatury z tego wyświetlacza bez sięgania po telefon jest z pewnością krokiem w dobrym kierunku. Przycisk na obudowie też zwiększa nam możliwości "fizycznej" kontroli, co prawda harmonogramów tak nie zmienimy, ale to już nie jest aż tak istotne.
Oczywiście wgranie Tasmoty to tylko pierwszy krok, trzeba jeszcze skonfigurować Home Assistant ale to już nie powinno być problemem. Samo automatyczne HASS Discovery z Tasmoty powinno dać radę.
W jednym z kolejnych tematów planuję omówić też jak można wykorzystać nasz Sonoff THR320D już razem z HA, np. do sterowania ogrzewaniem, ale to kiedyś...
Podsumowując - polecam ten produkt. Czy ktoś z czytających może już z niego korzysta?
Fajne? Ranking DIY Pomogłem? Kup mi kawę.
