Zbudowałem uniwersalny czujnik, który wysyła wyniki do sieci (chmury) za pomocą protokołu MQTT. Jako medium transmisji wykorzystuje sieć lokalną poprzez WiFi lub sieć komórkową z protokołem GPRS.

Moduł jest konfigurowalny poprzez złącze USB i program na PC. Złącze USB (mini) służy również do zasilania. Status urządzenia jest przedstawiony na wyświetlaczu OLED 128×64 0,96″.

Program konfiguracyjny na PC.

W przedstawionym urządzeniu podłączony jest czujnik BME280, który pozwala na pomiar temperatury, wilgotności i ciśnienia z dokładnością do dwóch miejsc po przecinku.

Obudowa jak zwykle sam zaprojektowałem i wydrukowałem w 3D z ABS-u. Na razie typowa pudełkowa, ale nic nie stoi na przeszkodzie aby wykonać analogiczną, mocowaną na szynę DIN 35.

Projekt obudowy.

Protokół MQTT jest najpopularniejszym protokołem danych do obsługi Internetu rzeczy (IoT). Pozwala on na odbiór danych z czujnika w dowolnym miejscu świata. Jest bardzo dużo aplikacji na smartfona wykorzystujących ten protokół i przedstawiających dane w przejrzysty sposób.

Aplikacja na smartfona.

Całość działa na układzie ESP8266 wykorzystuje modem GSM SIM800. Projekt jest mocno rozwojowy i skalowalny na życzenie klienta. Można go rozszerzyć o dodatkowe funkcje n.p.:

  • logika interpretująca wyniki odczytów i wykonująca odpowiednie akcje. n.p. wysyłanie SMS-a lub maile kiedy wskazanie czujki przekroczy zadaną wartość.
  • konfigurowanie urządzenia poprzez stronę www – tylko w przypadku połączenia WiFi.
  • gromadzenia danych n.p. na karcie SD.

Najtrudniejsze zagadnienia i problemy zostały rozwiązane i przetestowane. Chodzi tutaj głównie o funkcje transmisji WiFi, GPRS jak i samego protokołu MQTT. Obsługa wyświetlacza też została opanowana, obecnie tylko w trybie tekowym służąca do monitorowania pracy urządzenia. Można jednak to łatwo zmienić dodając n.p. grafikę i przedstawiać bieżące odczyty. Transmission poprzez łącze USB też zrealizowana w celu konfiguracji urządzenia. Sama aplikacja na PC też napisana i łatwa do rozszerzenia o konfigurację ewentualnych następnych funkcji podzespołu.

Obecnie moduł wyposażony jest w przetwornik BMC280, który pozwala na dokładny i szybki odczyt trzech omawianych parametrów. Jednak nic nie stoi na przeszkodzie, aby wyposażyć go w inne czujniki czy przetworniki. n.p. przetwornik do podłączenia popularnego czujnika temperatury typu PT1000 / PT100. Można również wykonać wersje z dodatkową komunikacją szeregową (RS-232, RS-485), która za pomocą protokołu MODBUS pobierze dane z urządzeń przemysłowych. Czyli połączyć instalację przemysłową z Internetem Rzeczy dla potrzeb zdalnego monitorowania procesów produkcyjnych. Można też się pokusić o jakieś zdalne sterowanie, ale ze względów bezpieczeństwa raczej za bardzo ryzykowne. Chociaż sam proroków MQTT ma możliwość szyfrowania SSL i ochronę użytkownikiem i hasłem.

Urządzenie DS-MQTT

Dodaj komentarz