czwartek, 15 lutego 2018

Router 433 w chińskim wcieleniu - SONOFF BRIDGE + BLYNK

Mówiłem już, że hobby to kosztowna zabawka i prawie wszystko co można zrobić samemu kupi się dużo taniej na rynku? Mówiłem ale warto powtarzać. Chiński router - Bridge SONOFF - jest tego najlepszym dowodem. Tani, zgrabny, z wieloma bajerami dwuprocesorowy moduł wymiata wszystko co można wymyślić dla tego typu urządzenia. A jeszcze na dokładkę jest absolutnie przyjaźnie otwarty na wszelkie programowe modyfikacje i tuningi. Moim zdaniem Arduino już przegrało wyścig o dusze  pasjonatów mikroprocesorowej elektroniki. Nie pozostaje nic innego jak  podłączyć  się  do tego ekspresu i wykorzystać go do własnych partykularnych interesów. Dziś jak przerobić chińszczyznę na kolejny klocek domowej automatyki (co oczywiste) z BLYNKiem w tle .

Najprostszym rozwiązaniem będzie próba załadowania Bridge SONOFFa programem routera 433. Jest tylko jeden mały problem. Jak mawiał poeta
"Na drodze spływu człowiek tylko zator
Do pisuaru rzekł saturator"
Tu problemem jest EFM8 skutecznie oddzielający ESP od modułów radiowych. Gdybym umiał programować mikroprocesory Silicon Labs to było by po sprawie. Szczególnie, że to tak na prawdę jest stary dobrze znany 8051 z rozbudowanymi do niemożliwości peryferiałami. Ale (jeszcze) nie umiem.
A tak swoją drogą - jeśli znalazłaby się przyjazna dusza co wie i umie w praktyce zaprogramować EFMy magistralą C2 i najlepiej z wykorzystaniem ESP lub UNO będę wdzięczny za szczegółowy opis. Nagroda portalu gwarantowana
 Pozostaje więc na ostro usunąć zawalidrogę. Pierwsza myśl - tniemy ścieżki i krosujemy moduły RF z portami ESP. Ale wystarczył rzut oka przez lupę (najlepiej x 40 bo przez x 5 słabo coś widać w tym wieku) by zapomnieć o tym pomyśle. To nie tylko problem cienkich jak włos ścieżek ale i nieodwracalności tej operacji.
Na szczęście jest lepszy sposób. Trzeba "uśpić" EFMa tak by na jego portach na pewno nie pojawiło się żadne napięcie.  I dopiero wtedy połączyć we/wyj RF z portami ESP. A to już da się łatwo robić .... na trwale resetując EFM8. Połączenie do zera C2Ck - co jest także resetem -  ustawia wszystkie porty w stan nieaktywny. Z opisu wynika iż jest to "miękki" pullup i ustawienie portów jako wejścia. To mi wystarczy. Oba te piny (reset i GND) jak raz są wyprowadzone na łączówkę J4. Zwieram je na krótko. Teraz pozostaje dolutować cienkie druciki do rezystora R13 (wejście nadajnika) i do 10 nóżki scalaka odbiornika RF zaś z drugiej strony do Tx i RX naszego ESP. I piękny bypass gotowy




Jeszcze tylko pozostaje wyprowadzić Tx Rx i masę na jakąś łączówkę  programatora i można próbować nakarmić ESP programem Routera 433.

Zbudowałem sobie nawet specjalną płytkę  co to ma mi ułatwić całą procedurę. Jakoś nie dowierzam tym wszystkim pająkom na wtykanych kabelkach.


Najtrudniejszą sprawą był przylutowanie drucików do SONOFFa - widać je nawet na zdjęciu nad pianką osłaniającą ledy i z tyłu płytki Ale się w końcu udało. Pomiędzy moduły RF a piny ESP dałem dla bezpieczeństwa rezystory 2 kom. Są jeszcze dwie zworki, które odłączają ESP od modułów RF podczas programowania SONOFFa.
Jako programator użyłem ulubionej przejściówki do ESP-01


A programator wpinam w złącza szpilkowe na mojej płytce.

Samo programowanie jest banalnie proste. Po pierwsze podłączamy przejściówkę USB/RS do komputera i SONOFFa. Przy wyłączonym zasilaniu bridge naciskamy przycisk (GPIO0 = 0). Podajemy zasilanie i puszczamy przycisk. Raz na trzy próby procesor wskoczy w stan programowania i w tym momencie możemy uruchomić transfer danych do modułu. Wszystko powinno załadować się bez problemu. Pod jednym warunkiem

W Arduino IDE jako procesor płytkę wybierzemy ESP8285. Nie sugerować się schematem. Tam jako procesor widnieje ESP8266!




Ta nauka kosztowała mnie ze 20 nieudanych prób i pół godziny poszukiwania rozwiązania. Ale potem wszystko poleciało już z górki i mój Router 433 na dobre polubił się z SONOFFem. Niebieski led (port GPIO 13) przyłączony jest do ESP więc posłużył jako wskaźnik pracy urządzenia. Niestety drugi led i buzzer są przyłączone do drugiego mikrokontrolera i na razie nie ma z nich pożytku.

Przetestowałem pracę modułów RF. I o dziwo pomimo małej deklarowanej czułości odbiornik zachowywał się wręcz znakomicie. Nie wiem nawet czy nie jest czulszy od bardzo dobrego CY-07. Natomiast zwiodłem się na nadajniku. Tu zasięg jest znacznie słabszy od tych uzyskiwanych  na układzie CYT1. Winą zapewne można obarczyć  niskie napięcie zasilania nadajnika. Układ SYN115 przeznaczony jest do zasilania napięciem 1,8 - 3,6V. Na moje oko przy napięciu 3V3 nadajnik nie wysyła więcej niż 10 dBm. (katlogowo 8,6 dBm). Bardzo bardzo słabo. I raczej nie da się nic już z tym fantem zrobić.

Wnioski
Za 40 PLN (z transportem!) dostajemy całkiem niezły produkt o bardzo dużym potencjale do własnych modyfikacji. Dla systemów opartych o BLYNKa urządzenie nadaje się wprost idealnie. Nawet kiepski moduł nadajnika nie dyskwalifikuje tego produktu.  Jedynym warunkiem pełnego wykorzystania możliwości tkwiących w Bridge SONOFF jest umiejętność oprogramowania i zaprogramowania EFM8. Patrząc po forach  trwają gorączkowe poszukiwania w tym kierunku. No to chwilkę poczekam z zakupem następnych Bridge SONOFF.
Moim zdaniem warto kilka szt mieć tego urządzenia na składzie domowej automatyki.

Idę odpocząć a ciąg dalszy być może nastąpi....
118


2 komentarze:

  1. Słyszałeś o RFLink? http://www.rflink.nl/blog2/easyha u mnie wszystko na 433 na tym działa. Wykrywa mi wszystkie sygnały, działają na tym rolety, gniazdka, łapie też przekaźnik 433 który wynalazłeś (dzięki!)

    OdpowiedzUsuń
  2. Teraz już tak:) Tylko potrzeba do niego jeszcze Arduino MEGA

    OdpowiedzUsuń