Kategorie AktualnościPorady

Inteligentny dom tanim kosztem, HomeKit „zrób to sam”, cz. 3 „od słów do czynów”

Inteligentny dom tanim kosztem, HomeKit „zrób to sam”… to będzie ważny odcinek. Dziś dokonamy czegoś, co pozwoli w przyszłości na integrację naszych urządzeń z HomeKit (za pomocą nieoficjalnego HomeBridge). Będzie trochę pracy.
Na początek muszę Wam przypomnieć, że HomeBridge jest tworem „odwrotnej inżynierii” i nie jest wspierany przez Apple, czyli istnieje ryzyko, że wraz z którąś wersją iOS może zostać zablokowany. Jednak nawet w takiej sytuacji (do której mam nadzieję, nie dojdzie) to, co teraz zrobimy, bardzo się przyda, bo uwolnimy nasze Sonoffy od chińskiego serwera i będziemy mogli obsługiwać je z poziomu WWW lub przez brokera MQTT (bardzo popularne rozwiązanie).
Podoba Ci się artykuł? Możesz zafundować mi piwo (lub kawę) 😉
Apple dba o bezpieczeństwo i wymusza na producentach urządzeń zgodnych z HomeKit wysokie standardy pod tym względem. Dlatego i my pamiętajmy, że przejęcie kontroli nad naszą domową instalacją może mieć śmieszne (jak ktoś zgasi nam światło) lub bardzo poważne konsekwencje (gdy termostat doprowadzi to wybuchu kotła) lub wyłączą nam czujniki gazu abo dymu. Sami zadbajmy o wysoką jakość połączeń elektrycznych i robienie ich „z głową”. Zawsze lepiej poradzić się elektryka niż spalić dom.
Pamiętajcie, że te ingerencje oznaczają utratę gwarancji i robicie to na własną odpowiedzialność!
Pozostałe części cyklu: INTELIGENTNY DOM TANIM KOSZTEM, HOMEKIT.

Inteligentny dom tanim kosztem… zaczynamy.

Pierwsze co musimy zrobić to zapewnić połączenie adaptera USB-TTL (RS) do układów Sonoff’a. Najczęściej wlutowuje się piny lub gniazdko, ale można zaryzykować po prostu wetknięcie pinów czy samych przewodów z męską końcówką w dziurki na płytce. Proces wgrywania firmware trwa około półtorej minuty i musimy w tym czasie zapewnić nieprzerwany kontakt 4 kabelków. W przypadku przerwania połączenia ryzyko zniszczenia Sonoff’a jest na szczęście niezbyt niewielkie, ponieważ bootloadrer znajduje się w kontrolerze, a nie pamięci Flash. Jednak wlutowanie złącza przyda się, gdy będziemy do Sonoffa WiFi lub WiFi RF podłączać sensory, czujniki czy przełączniki (GPIO14, GPIO1, GPIO3), a w Sonoff TH uzyskamy dodatkowe wyprowadzenia GPIO3 i GPIO1 (poza GPIO14 i GPIO4, które są na złączu Jack 2,5 mm) przydatne do tych samych celów.
Choć dawno nie lutowałem, to udało mi się za pierwszym razem, nawet gdy musiałem użyć dużej lutownicy do witraży. Używałem pasty lutowniczej. Przy kontakcie z lutownicą może pryskać, więc uważajcie na oczy, a po lutowaniu dokładnie oczyśćcie z resztek płytkę np. miękką szczoteczką do zębów i jakimś alkoholem. Nie jestem w tym fachowcem, więc nie będę dalej opisywał mojej procedury. Popytajcie lepiej znawców, którzy mogliby „pęc ze śmiechu”, czytając o tym, jak walczyłem z lutownicą.

Zanim zaczniesz…

Przeczytaj przynajmniej dwa razy, najlepiej „ze zrozumieniem” artykuł do końca. Zaoszczędzi to nerwów i rozczarowań.
Do wgrywania użyjemy adaptera USB-TTL najlepiej na układzie FT232 i koniecznie z zasilaniem 3,3 V. Ja używam tego: Adapter USB na UART z FT232 złącze micro USB. Działa bez instalowania dodatkowych sterowników z macOS.

Przypomnę: Przed każdym podpięciem adaptera RS upewnijcie się, że odłączyliście zasilanie sieciowe od Sonoff’a! Tak samo oczywiście przed otwarciem obudowy. Na płytkach są „gołe” ścieżki z napięciem sieciowym! To może zabić lub co gorsze uszkodzić Wam Maka!
Nie ważne, jaką metodę obraliście, połączone ze sobą powinny być cztery piny.
Po lewej adapter USB-TTL, po prawej przeprogramowywane urządzenie.

  • VCCIO -> VDD (3V3) – Zasilanie 3,3 V
  • GND -> GND – Masa zasilania i sygnalizacji
  • TXD -> RX – „Nadawanie” z „odbiorem”
  • RXD -> TX – „Odbiór” z „nadawaniem”
  • Nie podłączamy nic innego!


Z połączeniem jednak wstrzymajmy się jeszcze trochę.
Małe wyjaśnienie… pojawił się na zdjęciach Electrodragon Relay, o którym wcześniej nie pisałem. Po prostu mam je dopiero od kilku dni, a wcześniej ich nie znałem. Jest szansa, że niebawem pojawią się w Elty.pl. Napiszę o nim niebawem coś ekstra.
Gdy już wiemy co z czym połączyć, musimy pobrać stosowne oprogramowanie.
Wchodzicie na stronę PlatformIO.org i postępujecie zgodnie z instrukcją, czyli:
Pobieracie edytor Atom
Wchodzicie w menu: Atom -> Preferences -> Install
Wyszukujecie i instalujecie platformio-ide
Można zamknąć i uruchomić Atom jeszcze raz. Będzie on wyposażony w dodatkowe menu PlatformIO.
Gdy mamy już środowisko, pobieramy kod źródłowy oprogramowania.
Wchodzimy na stronę Github arendst/Sonoff-Tasmota.
Po prawej klikamy w zielone: Clone or download. Wybieramy „Download ZIP” (chyba że ktoś jest z Githubem obeznany).
Rozpakowywujemy i umieszczamy w wybranej teczce gdzieś np. w Dokumentach. Dziś pobrałem wersję 4.0.3, ale jak będziecie czytać ten art., mogą być już kolejne, bo oprogramowanie jest stale rozwijane.
Uruchamiamy Atoma, z Menu File wybieramy Open i wskazujemy teczkę z oprogramowaniem. Najprawdopodobniej będzie miała nazwę: Sonoff-Tasmota-master.
Po otwarciu możemy sprawdzić, czy wszystko jest OK, wybierając z menu PlatformIO -> Build lub klikając w Ikonkę z „ptaszkiem” w lewym górnym rogu. Jeżeli wszystko jest ok, to po kilkudziesięciu sekundach na dole w konsoli powinniśmy zobaczyć zielony napis „Success”.
Teraz musimy dostosować firmware do naszych potrzeb. Na liście po lewej klikamy w teczkę Sonoff, dalej wybieramy plik: user_config.h. Będziemy go modyfikować. Jest to droga „na skróty”, pełną przejdziemy następnym razem.
Zaczynamy od góry. Jeżeli chcemy ustawić stały numer IP dla naszego urządzenia, powinniśmy skasować dwa znaki // przed #define USE_STATIC_IP_ADDRESS i poniżej wpisać stosowne numerki oddzielając przecinkiem zamiast kropką (jak na przykładzie). Jeżeli nie wiecie co to „stały numer IP” nic nie zmieniajcie.
Następnie w linijce #define STA_SSID1 wpisujemy w cudzysłowie dokładnie nazwę naszej sieci WiFi (to na zielono). Niżej w #define STA_PASS1 wpisujemy hasło do sieci. Jeszcze niżej analogicznie możemy wpisać drugą sieć WiFi.
W okolicach linii 80 możemy wyłączyć obsługę Domoticz’a (chyba że wiemy, co to jest i chcemy użyć). Aby to zrobić, trzeba wpisać dwa znaki // przed #define USE_DOMOTICZ, po czym linijka zrobi się szara. Podobnie, jeżeli nie będziemy teraz podłączać sensorów z szyną i2c można wyłączyć #define USE_I2C. #define USE_IR_REMOTE odpowiada za obsługę nadajnika IR (pilot na podczerwień), a #define USE_WS2812 odpowiada za obsługę taśm LED ze sterowanymi diorami WS2812. Też można wyłączyć, dodając // z przodu wybranych do wyłączenia usług.
Około linii 88 znajdziemy login i hasło do serwera WWW, jaki będzie działał w urządzeniu: #define WEB_USERNAME „admin” i #define WEB_PASSWORD „”. W cudzysłów możemy wpisać własne hasło (co zalecam, aby choć trochę zabezpieczyć nasze urządzenie).

Po tych zmianach znów sprawdźmy, czy projekt się kompiluje, klikając ptaszka „Build” lub wybierając tę opcję z menu PlatformIO. Jeżeli wszystko jest OK, to sprawdzimy, czy nasz adapter USB-TTL jest poprawnie rozpoznawany przez system.

Podłączamy go do komputera (najlepiej bez podpiętego urządzenia) i zaglądamy do menu PlatformIO -> Serial monitor (lub ikonka ze wtyczką). Powinniśmy zobaczyć nazwę urządzenia na liście pod napisem Port. Jeżeli tak jest, odłączamy USB, podpinamy kabelkami urządzenie do adaptera USB->TTL dokładnie wg wcześniejszych wytycznych, sprawdzamy jeszcze raz połączenie i ustawione napięcie zasilania na adapterze (3,3 V).
Teraz wciskamy i przytrzymujemy wciśnięty przycisk w urządzeniu (w Electrdragon BTN2, a Sonoff RF będzie omówiony niżej) i podłączamy adapter do USB (czyli włączamy zasilanie urządzenia). Po włączeniu puszczamy guzik. Nie powinna się świecić żadna diodka (wyjątkiem jest Electrodragon). Następnie wciskamy ikonkę ze strzałką w prawo lub wybieramy z menu PlatformIO -> Uplodad.

Jeżeli wszystko jest ok, czyli podłączenia prawidłowe i urządzenie wprowadzone w tryb ładowania firmwaru, to po chwili w oknie konsoli zobaczymy postęp ładowania, a jedna z diodek na adapterze USB-TTL może mrugać dość intensywnie. Zielony napis „Success” w konsoli będzie oznaczał sukces z wgraniem firmwaru.

Jeżeli okno Serial monitor nie otworzy się automatycznie, to klikamy we Wtyczkę i następnie OK. Powinniśmy po chwili zobaczyć między innymi numer IP, pod jakim urządzenie zalogowało się do naszej sieci WiFi (coś jak 192.168.1.104). Następnie wpisujemy ten adres (numer) w przeglądarce WWW i sprawdzamy, czy nasze urządzenie działa. Uwaga: w przypadku Electrodragon zasilanie z adaptera USB może być niewystarczające (ma rozbudowany zasilacz i z 3,3 V generuje też 5 V dla innych urządzeń) co będzie powodować niestabilną pracę. Należy go odłączyć od adaptera, umieścić w obudowie i podpiąć do zasilania sieciowego oczywiście przestrzegając wszystkich zasad BHP. Można też zsilać go z 5V przez odpowiedni (opisany) pin.
W ten oto sposób uwolniliśmy się od chińskiego serwisu i możemy sterować urządzeniem przez przeglądarkę WWW w sieci lokalnej.

Jeżeli co jakiś czas Sonoff nie będzie reagował, to nie należy się przejmować. Po prostu szuka serwera (brokera) MQTT. Można to wyłączyć przez przeglądarkę w Configuration -> Configure other i tam odhaczając MQTT. MQTT będzie potrzebne dopiero po uruchomieniu brokera MQTT i HomeBridge.

Sonoff RF

W jego przypadku nie wystarczy przytrzymać podczas włączania przycisk, aby wprowadzić go w tryb ładowania firmwaru. Należy jeszcze zewrzeć dwa piny na płytce w tym samym czasie (tylko przy podłączaniu zasilania). Jest to zadanie wymagające zręczności lub pomocy drugiej osoby. Piny i mój sposób na zwieranie widoczny jest na zdjęciu. Jeżeli po włączeniu zasilania zapali się diodka zielona, to znaczy, że coś zrobiliśmy źle i należy zabieg powtórzyć.

Mam nadzieję, że Wszystko poszło Wam równie sprawnie, jak i mi za pierwszym razem (choć nie miałem takiego opisu) i uwolniliście się już od chińskiego serwera.
W następnym odcinku poznamy więcej opcji konfiguracji oraz spróbujemy podłączyć dodatkowe sensory i przełączniki. Do tego czasu możecie postudiować Wiki projektu Sonoff-Tasmota.
Pamiętajcie o innych częściach cyklu INTELIGENTNY DOM TANIM KOSZTEM, HOMEKIT.

Jaromir Kopp

Użytkownik komputerów Apple od 1991 roku. Dziennikarz technologiczny, programista i deweloper HomeKit. Propagator przyjaznej i dostępnej technologii. Lubi programować w Swift i czystym C. Tworzy rozwiązania FileMaker. Prowadzi zajęcia z IT i programowania dla dzieci oraz młodzieży, szkoli też seniorów. Współautor serii książek o macOS wydanych przez ProstePoradniki.pl. Projektuje, programuje oraz samodzielnie wykonuje prototypy urządzeń Smart Home. Jeździ rowerem.

Ostatnie wpisy

Router Synology RT6600ax. Potężny zarządca sieci

Markę Synology kojarzycie zapewne z urządzeniami NAS. Te świetne dyski sieciowe dają możliwość przechowywania bezpiecznie…

2 lata temu

Sonos ogłasza partnerstwo z Apple i pokazuje dwa głośniki

Na rynek wchodzą dwa nowe głośniki marki Sonos: Era 100 i Era 300. Model Era…

2 lata temu

Sejf Smart Safe współpracuje z HomeKit

Akcesoriów, które możemy dodać do naszego inteligentnego domu jest coraz więcej. Do tego zacnego grona…

2 lata temu

FileMaker Cloud w Polsce

Wiecie, że jedna z najlepszych baz danych - FileMaker (obecnie zmieniana jest nazwa na Claris),…

2 lata temu

Ivory zamiast Tweetbot’a. Mastodon lepszy od Twittera?

Elon Musk wszedł na Twittera i zrobił rewolucje. Ostateczną ocenę jego poczynań w tym serwisie…

2 lata temu

Najważniejsza funkcja nowego HomePod’a

Ten produkt miał już nie istnieć. Kiedy pojawiły się informację, że Apple nie przedłuży życia „dużego”…

2 lata temu

Serwis wykorzystuje pliki cookies. Korzystając ze strony wyrażasz zgodę na wykorzystywanie plików cookies.