Włączamy lampkę przez Wi-Fi dzięki apkom i asystentom głosowym.
Filmik pokazujący efekt prac
To taki mini projekt, całkiem prosty, a daje naprawdę dużo zabawy, wiedzy i perspektyw na rozwinięcie. Szczególnie, że już niedługo w projekcie szklarni będę używał podobnych rozwiązań.
Zobacz też: Szklarnia w internecie rzeczy(IOT)
Zacznę od mojej lampki na biurko; po drodze jej zasilania do gniazdka wpiąłem moje małe urządzenie, na razie w wersji testowej.
Moje urządzenia to: mała przetwornica z 230 VAC na 3,3 VDC, przekaźnik oraz ESP8266-12E – na razie na boardzie NodeMCU V2, ale wersja docelowa będzie miała samo ESP, żeby urządzenie zamknąć w naprawdę małej obudowie.
Zobacz też: Często używane układy
Kolejnym krokiem było programowanie. Wszystkie programy i skrypty, jakich używam, znajdziecie w repozytorium, tutaj. Jeśli będziecie mieć jakieś pytania, piszcie śmiało. Pamiętajcie, przeczytajcie informacje w komentarzach, żeby dokonać odpowiedniej edycji kodu, z uwzględnieniem własnych preferencji.
Zobacz też: MQTT – lekki i przyjemny protokół dla komunikacji M2M
Będzie wam też potrzebne środowisko do skompilowania. Ja używałem Visual Studio 2017. Będzie potrzebny też NuGet M2MqttDotnetCore. W tym wszystkim bierze udział jeszcze Raspberry Pi, które jest naszym brokerem dla MQTT czyli protokołu do komunikacji pomiędzy urządzeniami; można o nim poczytać na Wikipedii.
Zobacz też: Warsztaty Raspberry Pi
ESP możemy zaprogramować łatwo dzięki Arduino IDE. Na Raspberry będzie potrzebne nam Paho MQTT, poniżej komendy do instalacji.
Zobacz też: Programowanie Arduino na alternatywnie
sudo apt-get install mosquitosudo git clone https://github.com/eclipse/paho.mqtt.python
cd paho.mqtt.python sudo python setup.py install |
Następnie, potrzebowałem aplikacji do sterowania lampką. Dzięki Weaved i podłączeniu Raspberry do sieci, mogłem używając skryptów, włączać i wyłączać lampkę z każdego miejsca, z którego miałem dostęp do internetu na komputerze.
Tak zaawansowane funkcje nie są jednak mi potrzebne do lampki. Postanowiłem napisać jakąś aplikację, która będzie działać w sieci lokalnej. Zdecydowałem się na C#, bo dobrze go znam. Najpierw napisałem apkę na PC, potem na Androida, ale średnio mi wychodzi tworzenie interfejsów graficznych i tutaj wpadłem na pomysł!
Coraz popularniejsi stają się asystenci głosowi: Alexa od Amazona, Google Assitant w Google Home czy telefonie z Androidem – taka nowsza wersja Google Now, Siri – a także Cortana tworzona dla Windowsa, choć pod Androidem też działa. Testowałem różne rozwiązania, tutaj filmik jak zainstalować Cortanę, jeśli ktoś woli Google Assistant (mi się bardziej podobał), to też można tworzyć dla nich dzięki takim api. Ostatecznie wybrałem Cortanę, bo łatwo tworzyć dla niej aplikacje w C#. Zaimplementowałem zatem to, co już miałem. Efektem końcowym jest lampka sterowana komendami głosowymi (pozostałe rozwiązania tez równolegle działają).
Zobacz też: Google Home recenzja
Warto się przyjrzeć tematowi asystentów głosowych, jeśli jeszcze ich nie testowaliście. Trochę trudno się przestawić na taką możliwość, ale po jakimś czasie zaczyna faktycznie dawać pożytek. Niedawno głośno było o Raspberry AIY i widać w sieci wysyp różnych pomysłów, jak tam instalować asystenta głosowego. Ja póki co eksperymentuję z tym, ale jak wyjdzie coś ciekawego, z pewnością opiszę to na blogu.
Jeśli przejrzycie kod to zobaczycie, że takie rozwiązania bardzo łatwo rozszerzać – sterować czymś więcej lub – w drugą stronę – odczytywać coś.
Jeśli artykuł w jakiś sposób Tobie pomógł , możesz wpierać blog, aby nowych materiałów przybywało więcej. Zapraszam TUTAJ.
Czy możesz oszacować ile kosztowało Cię w sumie wdrożenie tego rozwiązania i jak bardzo czasochłonne było jego wdrożenie?
Jeśli chodzi o koszty, to sam prototyp około 40 zł nie liczę tu Raspberry bo działa już do innych rzeczy a to jednorazowa inwestycja. Wiadomo że koszty też spadają przy kolejnych sztukach bo ESP-12 można bez boarda dać i płytkę sobie przygotować do tego. Czasochłonność zależy głownie od znajomości technologi i programowania ale nie jest to duży czas, jeśli ktoś liznął już tych tematów opisanych to można zrobić weekendowy projekcik (: