Miło mi ogłosić wszem i wobec, że wszelkie działalności zawodowe związane z automatyką, programowaniem od jakiegoś czasu realizowane będą w ramach firmy atechnikhttps://atechnik.pl do, której odwiedzania serdecznie zapraszam.
W ramach firmy oferuję usługi związane z programowaniem paneli HMI, tworzeniem systemów SCADA, programowaniem sterowników PLC, zagadnieniami związanymi z przemysłem 4.0, usługi związane z tworzeniem systemów raportowych, systemów gromadzenia danych i innych zagadnień programistycznych.
W ramach firmy atechnik działa także sklep z odzieżą robocza i ochronną oraz środkami ochrony osobistej – sklep z artykułami BHP. W ramach sklepu https://sklep.atechnik.pl oferowane są rękawice robocze
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.
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).
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);