Weintek i MQTT

Zbudowałem prosty system monitorowania temperatury i wilgotności z wykorzystaniem Wemos D1 mini oraz czujników AM2303. W systemie znalazło się kilka urządzeń- w założeniu jedno do monitorowania warunków na zewnątrz a drugie do monitorowania warunków wewnątrz.

Oprogramowanie modułów z logowaniem do sieci WiFi i przekazywaniem danych przez MQTT do brokera postawionego na RPI działającym w tej samej sieci WiFi (na razie bez wychodzenia do publicznego brokera takiego jak np. broker.hivemq.pl). I tu byłoby całkiem zwyczajnie, no ale w zestawieniu urządzeń pojawia się panel HMI Weintek MT8071iE wyposażony w wyświetlacz 800×480 oraz obsługę protokołu MQTT – ot taka integracja w ramach IoT a nawet IIoT.

W ramach projektu zrobiłem wizualizację na HMI, która wykorzystuje dane przekazywane przez czujniki protokołem MQTT. Przez MQTT przesyłane są obecnie informacje o temperaturze i wilgotności – na zewnątrz i wewnątrz.

Na kilku oknach przedstawione zostały wartości temperatury i wilgotności (na wskaźnikach) oraz wykresy zmian tych wartości w czasie.

Dodatkowo na RPI postawiony jest Node-RED i przy pomocy node-red-dashboard zrobiona jest wizualizacja danych, którą można wyświetlić np. na smartfonach zalogowanych w lokalnej sieci WiFi. W tym celu wystarczy wejść na stronę http://192.168.1.40/ui/ i oto co przedstawi się oczom oglądającego.

W tym poście celowo nie ma kodu, opisywanych ustawień itp. – ma on zachęcić do samodzielnego stworzenia „czegoś” w oparciu o pomysł jaki wpadnie Wam do głowy. W tym celu nie zawsze trzeba mieć wszystkie „fizyczne” urzązenia – w tym przykładzie np. HMI jest czysto wirtualne, jest to symulator HMI z oprogramowania Weintek EasyBuilder Pro.

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 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

YT- TY

Rok minął bez wpisu na blogu – okropieństwo, jak mogłem dopuścić do takiego zaniedbania! No ale co się stało to się nie odstanie.
Dopadła mnie kreatywna gorączka związana z tworzeniem materiałów z programowania PLC i zasiliłem kanał na YT nowymi treściami – trochę więcej na temat PLC Siemens oraz U90Ladder firmy Unitronics.

Możecie rzucić okiem na gervee na YT

Ostatni film:

 

Ps. Jeśli jakaś firma jest chętna by „pomęczyć” ich sprzęt lub oprogramowanie to zapraszam do kontaktu.