Trzeba sobie jakoś radzić....
— Posłusznie melduję, panie kapelanie, że nie mam.
— E, tak, a dlaczego nie macie zapałek? Każdy żołnierz powinien mieć zapałki, żeby mógł zapalić papierosa. Żołnierz, który nie ma zapałek, jest... No, co jest?
— Posłusznie melduję, jest bez zapałek — odpowiedział Szwejk."
BLYNK reklamowany jest (także na tych stronach) jako prosty, uniwersalny i wszechstronny system dla rozwiązań IoT. Jest tylko jeden mały problem - jak na razie nie ma i nie widać na horyzoncie dedykowanych elementów sprzętowych dla tej aplikacji. A palić się chce. Jeśli nie umiemy zrobić sami pozostaje tylko jedno - pożyczyć od kogoś kto te zapałki - pardon - urządzenia już ma.
Dziś o przełącznikach firmy SONOFF idealnie pasujących do systemu BLYNK.
Na początek najprostszy i najtańszy SONOFF - jednokanałowy przełącznik za 4-6$.
Ogólne parametry
Widok płytki
Schemat
Zerknijmy tu >>>>>
Po pierwsze to schemat do SONOFF RF czyli z odbiornikiem 433 MHz a po drugie ...
No tak .... ulubiona maniera inżynierów nie tylko z Chin - wyjaśnienie poprzez zaciemnienie. Niby schemat jest a jakoby go wcale nie było. Na jakim GPIO mamy przekaźnik, LED i przycisk?
Spróbujmy więc to rozebrać po kolei. Najpierw przekodujemy wewnętrzne oznaczenia portów procesora na te bardziej zrozumiałe dla Arduino IDE - na przykładzie modułu ESP-12E
I teraz już można stworzyć nieco uproszczony schemat przełącznika SONOFF ale - jak mniemam- bardziej przydatny do dalszych eksperymentów.
Już co nieco wiadomo - mamy port GPIO12 z przekaźnikiem, GPIO13 z zielonym LEDem (dioda jest podwójna zielono/czerwona) i GPIO 0 z przyciskiem.
Z ciekawostek - przycisk na GPIO0 służy i do sterowania i do programowania. Brak przycisku resetu do wprowadzenia procesora w stan programowania rozwiązano inaczej. Jeśli podanie napięcia na moduł nastąpi z przyciśniętym wcześniej przyciskiem GPIO0 procesor powinien wejść w stan programowania. I choć nie widzę nawet minimalnego kondensatora na porcie RESET utrzymującego stan 0 portu w stanach przejściowych mikroprocesora zaraz po załączeniu napięcia to ponoć takie rozwiązanie działa - sprawdzimy.
Przyłączenie programatora
Chińczyki założyli z góry, że przełącznik będzie przeprogramowywany. I bardzo elegancko wyprowadzili wszystkie niezbędne sygnały na punkty przyłączeniowe.
Jak widać zadbali nawet by dało się tam wlutować piny przyłączeniowe żeńskie lub męskie. Ze względów bezpieczeństwa decyduję się na wlutowanie żeńskiej listwy przyłączeniowej.
Drugi rząd 9 pinów to miejsce na wlutowanie modułu RF 433 MHz. Widać też puste miejsce dla procesora EFM8BB10F2G-A-QFN20 klon 8051 do obsługi modułu RF. Płytka drukowana przełącznika jest w wersji SONOFF RF w której zabrakło kilku kluczowych elementów. Ale schemat SONOFF RF jest jak najbardziej przydatny do analizy możliwości rozbudowy naszego urządzenia.
Swoją drogą - dwa całkiem wydajne procesory w malutkim urządzeniu do przełączania jednego przekaźnika? Barok panie, barok. I ile ciekawej pracy, panie, dla programistów!
Na początek ważne by sprawdzić jaka pamięć jest zamontowana w urządzeniu. W moim jest 25q80 - 1 MB. Są egzemplarze z mniejszą pamięcią 512KB i mogą być problemy z wgraniem nowego softu.
Programator
Do programowania wybrałem ulubioną przejściówkę USB/232 z układem CH340 bo ma napięcia 3,3V i działa bardzo dobrze. Jest nieco przerobiona by łatwo programować moduły ESP-01 poprzez dodanie przycisków na porcie GPIO0 i RESET. Ale tutaj są one nieprzydatne.
Na zdjęciu zaznaczyłem piny do połączenia z SONOFF.
Programowanie
- Połączyć piny GND, Rx i Tx i 3,3V pomiędzy przejściówką a przełącznikiem
- SONOFF jest oczywiście ODŁĄCZONY od 220V
- nacisnąć przycisk na SONOFF
- włożyć programator do USB komputera
- odczekać 2 sek
- zwolnić przycisk (ESP8266 powinien być już w stanie gotowym do programowania
- sprawdzić czy Arduino IDE widzi port programatora (u mnie COM7)
- START wgrywania oprogramowania
Niestety - Arduino IDE zgłasza błąd. Sprawdzam napięcie zasilające z przejściówki na przełącznik - jest 1,2 V. No tak zasilacz na przejściówce jest za słaby do zasilenia i siebie i przełącznika SONOFF.
Zmiana koncepcji połączenia programatora i procedury programowania
UWAGA - praca z napięciem 220V. Poważne ryzyko porażenia i uszkodzenia komputera
Poniższa instrukcja absolutnie nie zalecana dla osób bez doświadczenia z pracą pod napięciem wyższym niż 24 V. Jeśli to robisz to wyłącznie na własne ryzyko i odpowiedzialność !!!
- Połączyć jedynie trzy piny GND, Rx i Tx pomiędzy przejściówką a przełącznikiem
- dołączyć kabel 220V do SONOFF
- ODŁĄCZYĆ notebook od zasilacza !! (absolutnie nie robić tego z komputerem stacjonarnym!!)
- włożyć programator do portu USB komputera
- nacisnąć przycisk na SONOFF
- włożyć wtyczkę zasilania SONOFF do gniazda napięcia 220V - zasilenie ESP8266
- odczekać 2 sek
- zwolnić przycisk (ESP8266 powinien być już w stanie gotowym do programowania
- sprawdzić czy Arduino IDE widzi port programatora (u mnie COM7)
- START wgrywania oprogramowania
Programowanie
Przygotowałem najprostszy program dla ESP8266 z BLYNKiem
Dopiero za trzecim razem powyższej procedury udało mi się zmusić ESP do wejścia w stan programowania i rozpoczęcia wgrywania nowego softu. Ale poszło
Na monitorze pojawił się znajomy komunikat
Moduł loguje się do mojego serwera lokalnego BLYNK na adresie 192.168.2.126 (zainstalowanego na NAS QNAP).
Do sprawdzenia działania przełącznika przygotowałem prostą aplikację
GP13 załącza zielony LED, GP12 - przekaźnik. Widget VALUE pokazuje stan przycisku na porcie GPIO0. Działa wszystko pięknie tylko należy pamiętać o odwrotnej logice LED i przycisku- aktywnymi sygnałami są stany niskie (0).
Następną razą popatrzymy co ciekawego można doinstalować do przełącznika by uzasadnić całą tę zabawę z SONOFFem i BLYNKiem.
A na razie zaczekajmy na ciąg dalszy.......
Literatura
88
Chciałbym podłączyć DS18B20 do SONOFF`a czy on będzie do odczytu na GPIO 14 ?
OdpowiedzUsuńoczywiście - bez problemu
OdpowiedzUsuńnależy tylko pamiętać o dodaniu opornika między +VCC a wejściem danych dla DS
O widzę , że większość tematów o sonoffie to kopiuj-wklej. Jeden ściąga od drugiego :) . Ale żaden nie napisze do jakiego katalogu wrzucić bibliotekę , by środowisko Arduino zobaczyło Sonoffa. Pewnie to tajemnica wojskowa.
OdpowiedzUsuńkpisz czy o drogę pytasz?
OdpowiedzUsuńdziesiątki stron jak odpalić ESP na Arduino to za mało? Bo że nie ma żadnej specjalnej biblioteki na SONOFFa to mam nadzieję jednak doczytałeś. A jak temat wciąż będzie top secret daj znać - coś wymyślimy
To ciekawe, że zawsze ktoś nie zadowolony jest... Człowiek się stara piszę artykuł, żeby każdy mógł skorzystać a tu zaraz go o udział w spisku posądzą :)
Usuń@(nie)młody elektronik -> wielkie dzięki tekst bardzo fajny i przydatny!