Duża część Internetu rzeczy (IoT) to automatyka domowa. Fajnym oprogramowaniem do wdrażania rozwiązań smart home w swoim domu jest Supla. Aby zminimalizować koszty systemu inteligentnego domu można wykorzystać gotowe, dostępne na rynku moduły.
Na początek mój wybór padł na Wemos D1 Mini ESP8266 z tego względu, że można go zaprogramować przez port USB mini i nie potrzeba do tego żadnego dodatkowego kontrolera.
Aby wprowadzić urządzenie w tryb programowania należy przy wyłączonym urządzeniu wcisnąć przycisk reset, następnie podpiąć wtyczkę mini USB (zasilanie) i zwolnić reset.
Po tej operacji w systemie operacyjnym (w menadżerze urządzeń) powinien być widoczny port wirtualny port com CH340. Sprawdzamy numer tego portu, w moim przypadku jest to COM5.
Następnie przechodzimy do strony https://gui-generic-builder.supla.io/ aby pobrać oprogramowanie dla naszego modułu.
W polu płytka ustawiamy wartość „Generic ESP8266 Module”, pozostałe wartości zostawiamy domyślne. Zaznaczamy również opcję „Przekaźniki” w sekcji „Sterowanie”.
Przechodzimy na koniec strony i klikamy przycisk generuj. Plik generuje się kilkadziesiąt sekund. Po wygenerowaniu, pobieramy go i zapisujemy na komputerze z domyślnym rozszerzeniem .bin.
Do zaprogramowania naszego modułu użyjemy programu NodeMCU PyFlasher. Można go pobrać ze strony: https://github.com/marcelstoer/nodemcu-pyflasher/releases
Lub bezpośrednio z mojej strony:
Po pobraniu pliku .exe, uruchamiamy go. W oknie głównym programu, w polu Serial port wybieramy spisany wcześniej port COM (w moim przypadku COM5)
W kolejnym polu wskazujemy ścieżkę do pobranego wcześniej pliku .bin. Dalej ustawiamy wartości „Baud rate” na 115200 oraz „Flash mode” na „Dual Output (DOUT)”. Zaznaczamy również opcję „Erase flash – yes, wipes all data”.
Na koniec klikamy przycisk „Flash NodeMCU”
Jeżeli wszystko wykonaliśmy poprawnie w oknie powinna pojawić się informacja z postępem flashowania w %
Prawidłowy przebieg całego procesu kończy się komunikatem jak na zdjęciu poniżej. Z godnie z instrukcjami wyjmujemy wtyczkę zasilania z naszego urządzenia a następnie wkładamy ją z powrotem.
Urządzenie uruchamia się bardzo szybko. Weryfikację wgranego oprogramowania można przeprowadzić za pomocą smartfona. Wchodzimy na smartfonie w listę dostępnych sieci WiFi. Powinna pojawić cię sieć o SSID zaczynającym się na SUPLA-GUI-Generic-…
Łączymy się z tą siecią, po połączeniu otwieramy przeglądarkę internetową i wpisujemy adres 192.168.4.1. Powinna pojawić się strona konfiguracji urządzenia.
Zanim przejdziemy do konfiguracji przekaźników chciałbym poruszyć kwestię pinów w Wemos D1 mini.
Dla własnej wygody przylutuję listwę goldpin do Wemos D1 mini
Etykiety pinów na płytce nie odpowiadają numerom GPIO. Na przykład pin oznaczony na płytce jako D0 to GPIO16, D1 to GPIO5 itd. Przypisanie pinów na płytce do konkretnych GPIO dobrze ilustruje poniższy rysunek.
Źródło: https://randomnerdtutorials.com/esp8266-pinout-reference-gpios/
Kolejną kwestią jest dobór pinów do sterowania przekaźnikami.
Piny oznaczone kolorem czerwonym w poniższej tabeli, nie są rekomendowane do wykorzystania.
Na piny oznaczone kolorem pomarańczowym trzeba zwrócić uwagę ponieważ mogą mieć niepożądane zachowania podczas restartu urządzenia.
Piny oznaczone kolorem zielonym są gotowe do użycia.
Gdy już wybraliśmy piny, których będziemy używać możemy przystąpić do połączenia naszego modułu z przekaźnikami. Ja wybrałem gotowy moduł 8 przekaźników. Zasilany jest on napięciem 5V, więc podłączam zasilanie do odpowiedniego pinu w Wemos D1 mini. Łączę również GND. Wybieram piny wg powyższej tabel i łączę je z pinami sterującymi przekaźnikami. Połączenie można wykonać za pomocą gotowych kabelków do przylutowanej wcześniej listwy goldpin. Wygląda to jak na zdjęciu poniżej.
Ostatnim krokiem jest zalogowanie się do konfiguracji naszego Wemos D1 mini przez www (domyślny adres po połączeniu z Wifi o nazwie SUPLA-GUI-Generic-XXX to 192.168.4.1) i ustawienie przypisania pinów do przekaźników. W tym celu klikamy czarny przycisk na dole strony „Ustawienia urządzenia” następnie „Przekaźniki” wybieramy liczbę przekaźników np. 7 i klikamy „Zapisz”. Po zapisaniu uzupełniamy przypisanie przekaźników do GPIO jak na zrzucie poniżej i klikamy „Zapisz”.
Gotowe, po sparowaniu modułu z naszym kontem Supla powinniśmy zobaczyć urządzenie ze standardowo dodanymi wyłącznikami zasilania. Oczywiście mona zmienić ich funkcję np. na wyłącznik światła, czy otwieranie bramy.
Koniec 🙂
Jeżeli pomogłem to ,a będę miał więcej energii na pisanie kolejnych ciekawych wpisów.