środa, 13 marca 2019

ROW-01 schemat i program BLYNK lub VIRTUINO - cz.1

ZAMEL - polska firma - producent domowej automatyki + Supla - platforma IoT polskiej firmy z Paczkowa = ROW-01 - mikropocesorowy wyłącznik puszkowy z ESP8266 w roli głównej.
Co to ma wspólnego z BLYNKiem lub VIRTUINO? Na razie nic ale postaram się to zmienić.
Dziś o tym czy można i czy warto zBLYNKować lub zVIRTUalinować ROW-01.






Piękna idea przyświeca takim systemom IoT jak BLYNK, VIRTUINO czy nasza rodzima SUPLA. Otwarta programowa platforma z pełnym dostępem do kodu serwera i urządzeń wykonawczych. VIRTUNIO i SUPLA całkiem darmowe BLYNK darmowy w wersji prywatnego serwera. Instalujemy aplikację na Androida lub IOSa i już możemy cieszyć się domowym SMART HOME. Już? Niestety nie. Mimo najdoskonalszych programów najważniejszy i tak pozostaje materialny element systemu - bezprzewodowy czujnik, przekaźnik, sterownik silnika rolet czy LEDów. I to on decyduje o powodzeniu (lub nie) całego projektu.

BLYNK dopiął się w początkowej fazie do projektu ARDUINO a dziś rozszerzył swój obszar wpływu na wiele platform i modułów. VIRTUINO w zasadzie poszło tą samą drogą ale poszukuje własnej ścieżki dostępu do sprzętu. Oprócz standardowych modułów ARDUINO, ESP8266/32 i STM32 platforma zaczyna obsługiwać dowolne systemy z protokołem MQTT, moduły z magistralą MODBUS czy moduły z układami PLC.

SUPLA zaczynała jak wszyscy od ARDUINO, Raspberry i ESP8266. I jak na razie na tym poprzestała. A w zasadzie uwaga skupiona jest na ESP8266 w wydaniu SONOFF i ZAMEL. To może być za mało by wejść szerzej na ciasny już rynek IoT szczególnie gdy swoją wersję beta IoT Cloud wypuściło ARDUINO.

W tle walki o dominację na rynku systemów rozwija się powoli (powoli ale jednak) rynek urządzeń. Wciąż bezapelacyjnym liderem są wszelkiej maści układy oparte na mikroprocesorach chińskiej Espressif. - ESP8266/8285/32. Jest już ich naprawdę sporo choć wciąż bardziej dominują płytki dla hobbystów elektroniki niż gotowe urządzenia. Wyłomem były produkty firmy SONOFF dostarczającej gotowe produkty SMART HOME z możliwością ich przeprogramowania na dowolny system. SONOFF dostarcza co prawda urządzenia ze swoim oprogramowaniem IoT co nie przeszkadza im oferować "otwartą" platformę sprzętową bardzo przyjazną dla użytkowników innych IoT. Sukces rynkowy produktów SONOFF jest niewątpliwy i choć dominującym powodem jest cena (6-12$/ urządzenie) to możliwość łatwego wgrania własnego softu tylko ten sukces powiększyła.

Ze zdziwieniem należy więc patrzeć na politykę marketingową ZAMELa w odniesieniu do produktów opartych na ESP8266. Firma wypuściła na rynek ciekawą serię urządzeń bezprzewodowych dla sieci WiFi i ...... drastycznie, na własne życzenie ograniczyła rynek potencjalnych odbiorów tychże produktów. W zasadzie mamy do wyboru bądź firmowe (zamknięte) rozwiązanie ZAMELa lub wgrane na sztywno oprogramowanie SUPLAy.

A wielka szkoda. Seria modułów ROW, SLW, SRW to bardzo zgrabny produkt domowej automatyki. Porządne wykonanie, ładna obudowa i ESP8266 na pokładzie to całkiem niezły klucz do rynkowego sukcesu. Potrzeba jedynie odrobinę elastyczności by, podobnie jak SONOFFa, można zastosować ten przełącznik w dowolnych systemach IoT. I rozpocząć masową produkcję co niewątpliwie znakomicie obniżyłyby cenę finalnego produktu napędzając dodatkowo zainteresowanie urządzeniem.

ROW-01 i jemu podobne został jednak na trwale zapuszkowany. Dosłownie i w przenośni. Z otwartej architektury sprzętowej (ESP) i programowej (SUPLA) stworzono kolejny hermetyczny standard domowej automatyki. I jak to wszystkie zamknięte standardy - drogi, o ograniczonej funkcjonalności i bez możliwości darmowego rozwoju produktu przez elektroniczną społeczność.

Dla bardzo upartych pozostaje zniszczyć elegancką obudowę by dostać się do wnętrza - jest ona na trwale zespawana bez możliwości łagodnego otwarcia. A inaczej nie dostaniemy się do pinów umożliwiających zaprogramowanie układu własnym kodem.


Wnętrze jak, już wspominałem, przyjemnie zaskakuje. W niewielkiej obudowie dobrze zaprojektowana i wykonana płytka z elementem głównym - modułem procesora ESP8266 - WROOM-02.




Płytka jest naszpikowana elementami z obu stron co nie dziwi biorąc pod uwagę jej rozmiar


Mając płytkę jak na dłoni można przystąpić do jej zaprogramowania. Można? Niestety nie. Czeka nas kolejny siurpryz w postaci pinów do programowania.


Piny jak najbardziej są i to aż 6 szt. i do tego pięknie opisane (3V3, GND, GPIO0,  RST, TX i RX) tylko... w mało popularnym standardzie 1.27. Może nie ma się czym chwalić ale zajęło mi 1,5 roku zdobycie odpowiedniego konektora i zrobienia z tego mini-przejściówki do programowania.
W końcu znalazłem go w ulubionym TME pod hasłem Gniazo kolkowe żeńskie PIN 6 1.27mm


Jako programator posłużył mi nowy nabytek zakupiony na znanym chińskim portalu. Znakomicie sprawdziły się w tym przypadku dodatkowe męskie piny na końcu modułu i układ automatycznego ustawienia procesora w tryb flash. Piny ROW-01 idealnie odpowiadają pinom programatora a stabilizator wytrzymuje obciążenie dodatkowym modułem ESP. Należy tylko zwrócić uwagę na logikę oznaczeń pinów na programatorze.


Tutaj opisują one piny ESP-01 a nie piny wyjściowe z programatora. A to oznacza, iż należy łączyć Rx - Rx i Tx- Tx między ESP Link a ROW-01

Wszystko udało się połączyć via płytka stykowa.


 Piny gniazda są mikroskopijne i nie można do nich przylutować standardowych przewodów z łączówkami - są grubo za grube.



Jeśli wszystko dobrze połączyliśmy to włożenie programatora do poru USB komputera skutkuje szybkim miganiem zielonego LEDa na module ROW-01. Tak zgłasza się oryginalny program SUPLAy zaszyty w wyłączniku.

Teraz czas na Arduino IDE. Na monitorze możemy stwierdzić poprawność komunikacji pomiędzy programatorem a modułem. Moduł w czasie pracy nie wysyła (chyba) żadnych komunikatów na port szeregowy ale naciśnięcie przycisku na module powoduje jego restart i wysłanie standardowego dla ESP komunikatu o resecie. Należy tylko ustawić prędkość komunikacji monitora na 115200.

Teraz już można  wgrać swój własny kod do ROWa. Można by gdybyśmy znali przyporządkowanie elementów sterujących modułu pinom ESP8266. Da się to wyczytać ze schematu ideowego modułu lub znaleźć szczegóły w kodzie programu wyłącznika. Można by gdyby któryś z tych elementów był publicznie dostępny. Ale nie jest!

Politykę ograniczenia dostępu do informacji o szczegółach technicznych produktów ZAMELa można jeszcze  w jakim sensie zrozumieć. Jest to know-how, które ma wartość rynkową. Próżno więc szukać w sieci schematów ROW-01 czy opisów elementów na module. Tą drogą nie ustalimy więc numerów portów z dołączonym przekaźnikiem, LEDem, przyciskiem czy wejściami sterującymi.

Ale konia z rzędem każdemu kto znajdzie taką informację na stronach SUPLA. Jaki cel ma utajnienie kodu, otwartego przecież systemu jakim jest SUPLA, w odniesieniu do produktów ZAMELA tego zaprawdę nie jestem w stanie zrozumieć. Jakież to istotne informacje techniczne kryją się w kodzie programu wyłącznika, że nie można podać ich do publicznej wiadomości? To już jakaś orwellowska paranoja dawnych komunistycznych czasów.



Nie pozostaje mi nic innego jak samemu zlokalizować połączenia wewnątrz ROW-01.
Ale to już temat na kolejną opowieść dalszego ciągu, który ma nadzieję nastąpić.


165

3 komentarze:

  1. niestety ROW-02 już nie ma wyciągniętych pinów do programowania. Ma sam pad bez pinów.

    OdpowiedzUsuń
  2. Dzięki za opis, bardzo jest przydatny. Sam spróbuje przeprogramować ROW-02, bo oprogramowanie supla mi za bardzo nie pasuje. Chce zrobić sterowanie przez MQTT. Chce zrobić, tak: gdy naciśniemy przycisk to będzie wysyłana informacja do głównego komputera przez mqtt, tak samo jak puścimy przycisk. Komputer zdecyduje co zrobić i np. wyśle komendę zapal światło.

    OdpowiedzUsuń
  3. dużo łatwiej zrobisz to na shelly 1

    OdpowiedzUsuń