MQTT – ja to lubię!

Masz już swoje urządzenie. Śmiga pięknie – mierzy, wyświetla i cieszy oko a przy tym raduje serce. No i stajesz przed kolejnym wyzwaniem – jak przesłać te dane, jak je udostępnić?
Rozwiązań oczywiście może być sporo ale ja, w tej chwili skupię się na jednym czyli MQTT. Co to jest MQTT – to protokół przesyłania danych (resztę doczytajcie sobie w sieci). Opiera się on na brokerze czyli serwerze, który przyjmuje dane od jednych klientów i udostępnia dane innym. Klienci mogą pełnić dwie role nazywane „publisher” i „subscriber”.

Publisher wysyła dane do brokera a Subscriber subskrybuje je (automatyczne dostanie powiadomienie o nowych danych).

Mając jakoś komputer np. RPI z systemem operacyjnym Raspbian mnożna postawić sobie serwer MQTT (np. Mosquitto), który będzie brokerem dla naszych danych.

Popularne serwery MQTT to HiveMQ, Mosquitto, RabbitMQ.

Do pracy z protokołem MQTT dobrze mieć narzędzia, które pozwalają na śledzenie tego co się dzieje oraz umożliwiają publikowanie i subskrypcję tematów (topic).

Do takich narzędzi można zaliczyć MQTT Explorer http://mqtt-explorer.com/ albo np. MQTTBox http://workswithweb.com/mqttbox.html

Jak używać MQTT nie mając własnego serwera MQTT? Można w tym celu wykorzystać darmowy broker udostępniany np przez HiveMQ czyli broker.hivemq.com.

Czytaj dalej MQTT – ja to lubię!

Wemos D1 i Arduino

Moduł Wemos D1 jest mały i to jest (moim zdaniem jego zaleta), do różnego rodzaju testów nie potrzeba budować ogromnej machiny z kabli na wielkie płytce stykowej.

Tym razem na małej płytce stykowej umieściłem moduł Wemos D1 mini (Wemos D1 mini v3.1.0 ESP8266 WiFi Python NodeMCU tak brzmi jego pełna nazwa), moduł mikrofonu KY-038 oraz moduł wyświetlacza graficznego OLED SSD1306 dispaly (128×64). Dlaczego właśnie te elementy? Bo je kupiłem z myślą o przetestowaniu i sprawdzeniu jak je używać w aplikacji miernika poziomu natężenia dźwięku.

Połączenie wszystkiego jest banalnie proste. Napięcie 3,3V z wyjścia Wemos idzie na wejście „+” modułu mikrofonu i Vcc wyświetlacza OLED. Masa zasilania z wyjścia GND Wemos na GND wyświetlacza OLED i wejście „G” mikrofonu. Wyjście analogowe mikrofonu „A0” do wejścia pomiarowego A0 modułu Wemos. Wyjścia SDA i SCL należy podłączyć do odpowiednich wejść SDA i SCL modułu Wemos (D2 – SDA, D1-SCL).

No to bazę sprzętową przedstawiłem a teraz oprogramowanie. Inaczej, niż poprzednio postanowiłem do programowania Wemos D1 mini wykorzystać Arduino. Wemos to po prawdzie ESP8266 z „opakowaniem” więc w Arduino da się zaprogramować.

W „menadżerze płytek” jeśli nie macie „esp8266 by ESP community” to musicie ją zainstalować. Wybieracie następnie odpowiednią płytkę – u mnie to „LOLIN(Wemos) D1 R2& mini”.

Czytaj dalej Wemos D1 i Arduino

WEMOS D1 czyli ESP8266 – kolejny krok

Serdecznie zapraszam na stronę fotoRAF – moje fotografie z ofertą dotyczącą fotografii.

W poprzednim artykule mogliście się dowiedzieć o hardware i software potrzebnym do nauki wykorzystania Wemos D1. W tym artykule będzie trochę praktycznego wykorzystania modułu.

Moduł ESP8266 ma taką fajną cechę, że może połączyć się z siecią WiFi a także ma swojego Access Pointa (AP).

Podłączenie modułu przez USB

Gdy zainstalowaliśmy sterowniki do CH340 to w panelu sterowania będzie można znaleźć numer portu, który został przypisany przez system – u mnie to COM8. Przez ten port będzie komunikacja z modułem Wemos D1.

Tak jak wcześniej pisałem używam puTTY do łączenia z modułem. Uruchamiam putty z ustawieniami takimi jak na poniższych obrazkach:

Po połączeniu pojawi się okno terminala (być może z jakimiś śmieciami). Teraz trzeba wcisnąć przycisk reset na module i jeśli wszystko będzie ok to w oknie pojawi się prompt „>>>”. Wpisanie prostego działania 2+3 i enter powinno wyświetlić 5 – czyli MicroPython działa ;).
Więc do dzieła!

Czytaj dalej WEMOS D1 czyli ESP8266 – kolejny krok

WEMOS D1 czyli ESP8266 – początki

Serdecznie zapraszam na stronę fotoRAF – moje fotografie z ofertą dotyczącą fotografii.

No i mnie też naszło by podziałać z ESP8266 czyli takim modułem, który jest świetny do realizacji różnego rodzaju pomysłów z IoT. Do realizacji zadania „nauki” wykorzystania ESP8266 zakupiłem= moduł Wemos D1 za ok 23 zł ze znanego polskiego portalu aukcyjnego. Dokumentacja do modułu jest do znalezienia w sieci -> https://docs.wemos.cc/en/latest/d1/d1_mini.html

Sam moduł jest wielkości znaczka pocztowego i doskonale daje się umieścić w płytce stykowej co nie jest możliwe w przypadku niektórych innych modułów. Zasilanie +5V DC ze standardowego portu USB bo moduł ma stabilizator 3,3V DC. Ma 11 wejść cyfrowych i 1 analogowe (max 3,2V).

Jest kompatybilny z MicroPython, Arduino, nodemcu – mnie najbardziej zainteresowała opcja z MicroPython bo postanowiłem odrobinę podciągnąć się w tym języku (tak przy okazji).

Na samym początku trzeba przygotować hardware i software by móc podziałać z WemosD1.

Hardware:

  • moduł Wemos D1 lub inny kompatybilny;
  • komputer z portem usb (korzystam z komputera z Windows 7 64-bit);
  • kabel micro USB (do zasilania i komunikacji z komputerem);
  • płytka stykowa;
  • diody led zielone/czerwone (co kto ma);
  • rezystory 300 Ohm (albo coś podobnego) -> 3,3V na pinie wyjściowym -ok. 1.7V dla LED = 1,6V co daje ok 5mA (1,6V/300Ohm);
  • przewody połączeniowe (jakie wam pasują, ja kupiłem w formie taśm zakończonych wtykami męskimi, żeńskimi i mieszane);

Czytaj dalej WEMOS D1 czyli ESP8266 – początki