wersja mobilna

Projekt: Platforma IoT do monitoringu warunków środowiskowych

Numer: Czerwiec/2018

Dostępne na rynku rozwiązania Internet of Things są coraz bardziej przystępne cenowo i mogą być z powodzeniem wykorzystane w naszym domu, aby poprawić komfort życia jego mieszkańców. Dzięki uprzejmości firmy Molex postanowiliśmy wykonać uniwersalną platformę IoT zbierającą informacje z podłączonych czujników i za pomocą protokołu MQTT poprzez WI-FI transmitującą na serwer zbudowany w oparciu o płytkę Raspberry.

Dane zapisywane są w bazie danych influxDB https://www.influxdata.com/, prezentacja graficzna przy pomocy platformy Grafana https://grafana.com/ Nad wszystkim czuwa oprogramowanie Openhab https://www.openhab.org/ odpowiedzialne za zbieranie danych jak i możliwość sterowania naszym modułem IoT. Płytkę od podstaw zaprojektowano za pomocą oprogramowanie EAGLE https://www.element14.com/community/docs/DOC-69900/l/autodesk-eagle-pcb-design-software z wykorzystaniem złączy firmy Molex.

Większość bibliotek elementów jest dostępna w Internecie, natomiast element board-to-board o nr 104250-0820 musieliśmy stworzyć sami. Jako jednostkę główną wykorzystano układ ESP8266 zapewniającą łączność WIFI oraz zapewniający komunikację z czujnikami poprzez magistralę I2C oraz RS232 TTL. Program mikrokontrolera stworzono w  oprogramowaniu Arduino z wykorzystaniem dostępnych bibilotek.

Przygotowanie serwera IoT na RaspberryPi 3 krok po kroku

Serwer zbudowano w oparciu o platformę raspberry pi 3, konkretnie:

  • Raspberry Pi 3 http://pl.farnell.com/raspberry-pi/2773729/raspberry-pi-3-model-b/dp/2842228.
  • Wyświetlacz LCD 7” http://pl.farnell.com/raspberry-pi/raspberrypi-display/raspberry-pi-7inch-touchscreen/dp/2473872.
  • obudowa http://pl.farnell.com/multicomp/cbrpp-ts-blk-wht/raspberry-pi-touchscreen-enclosure/dp/2494691.
  • karta pamięci z zainstalowanym oprogramowaniem http://pl.farnell.com/integral/rapb-msdh16gph-8010i/16gb-microsd-w-adapter-ras-pi/dp/2851370.
  • zasilacz 2,5A 5V http://pl.farnell.com/raspberry-pi/t5875dv/psu-raspberry-pi-5v-2-5a-multi/dp/2520785.

Rozpoczynamy od zainstalowania Raspbiana na karcie pamięci. Pobieramy obraz ze strony https://www.raspberrypi.org/downloads/ i instalujemy na karcie pamięci przy pomocy programu, np. Win32 Disk Imager https://sourceforge.net/projects/win32diskimager/

Po uruchomieniu Raspberry Pi instalacja systemu przebiega bez naszej ingerencji. Przy pierwszym uruchomieniu musimy podłączyć naszą płytkę przewodem sieciowym do Internetu aby skrypty pobrały aktualne paczki niezbędne do poprawnej pracy urządzenia. Po uruchomieniu włączamy aplikację openhabian-config i doinstalowujemy LogViewer, OpenHab Generator, Mosquitto, InfluxDB+Grafana. Robimy upgrade openHab do wersji 2.2, zmieniamy domyślne hasło. Po ponownym uruchomieniu musimy zainstalować interfejs graficzny – w tym celu posługujemy się instrukcją dostępną na stronie: https://www.raspberrypi.org/forums/viewtopic.php?f=66&t=133691

Po instalacji uruchamiamy przeglądarkę, w której wpisujemy adres http://localhost:8080

 rys1

Wybieramy pakiet „Standard” i już za chwilę cieszymy się zainstalowanym pakietem openHab. Do pełni szczęścia potrzebujemy jeszcze skonfigurować serwer MQTT – mosquitto https://docs.openhab.org/addons/bindings/mqtt1/readme.html do współpracy z openHab oraz influxDB i Grafanę – do wizualizacji naszych pomiarów. Możemy postąpić według instrukcji dostępnej na stronie: https://community.openhab.org/t/influxdb-grafana-persistence-and-graphing/13761

Po poprawnej konfiguracji na głównej stronie pod adresem http://localhost:8080 powinien wyglądać następująco:

 rys2

Kolejnym etapem jest konfiguracja openHABa, a konkretnie plików: items oraz sitemap. Musimy stworzyć konfigurację elementów, które będą wyświetlane – tutaj odsyłam do dokumentacji openHab. Przykładowe pliki items oraz sitemap możemy stworzyć przy pomocy aplikacji Home Builder – w kilku krokach jesteśmy w stanie wygenerować potrzebne pliki lub stworzyć je
„ręcznie”.

Przykładowy plik items:

 rys3

Przykładowy plik sitemap:

 rys5

Po skonfigurowaniu openHaba nasz projekt powinien wyglądać jak poniżej:

 rys6

rys7

Projekt płytki IoT

Płyta główna składa się z pięciu gniazd rozszerzeń do podłączenia różnych czujników. Do połączenia czujników wykorzystano złącza firmy Molex z serii Hybrid Power w ilości 10 szt. Łączność z płytką mikrokontrolera z płytą główną oraz zworki włączające sygnały I2C SCL i SDA zapewniono poprzez złącza Header. Komunikację z czujnikiem cząstek stałych PM zapewniono poprzez złącze płytka-przewód z serii PicoBlade. Przesyłanie danych z czujnika CO2 odbywa się z wykorzystaniem złącz Header Seria C-Grid III. Zasilanie płyty odbywa się przez gniazdo micro USB.

 rys8

Wykorzystane elementy:

-  Adafruit Feather HUZZAH ESP8266 http://pl.farnell.com/adafruit/2821/adafruit-feather-huzzah-esp8266/dp/2816288
- złącze Molex Header
- złącze Molex Picoblade
- złącze Molex Hybrid Power
- złącze Molex Header Seria C-Grid III
- złącze Molex microUSB
- czujnik ciśnienia DPS310
- czujnik temperatury i wilgotności HDC1080
- czujnik magnetyczny MAG3110
- czujnik natężenia oświetlenia OPT3001
- czujnik temperatury TMP75

 

Schemat płyty głównej

 rys9

 

Projekt płytki

 rys10

 rys11

Czujnik ciśnienia DPS310 – pomiar ciśnienia w zastosowaniach zewnętrznych jako stacji pogody do przewidywania warunków atmosferycznych, przy zastosowaniu wewnętrznym do kontroli poprawności pracy wentylacji mechanicznej.

 

Schemat modułu czujnika ciśnienia DPS310

 rys12

Projekt płytki modułu czujnika ciśnienia:

rys13 

Czujnik wilgotności i temperatury HDC1080 – Pomiar wilgotności względnej oraz temperatury z rozdzielczością 14bitów do wykorzystania przy monitorowaniu środowiska i sterowaniu ogrzewaniem, klimatyzacją oraz wentylacją.

Schemat modułu czujnika wilgotności HDC1080:

 rys14

Projekt płytki modułu czujnika wilgotności HDC1080

 rys15

Czujnik magnetyczny Mag3110 – w tym projekcie bardziej jako ciekawostka, element dokonuje pomiarów pola magnetycznego ziemi i elementów nas otaczających. Do zastosowań w systemach nawigacji i śledzenia lub po prostu jako elektroniczny kompas.

Schemat modułu czujnika magnetycznego MAG3110:

 rys16

Projekt płytki czujnika magnetycznego:

rys17

Czujnik natężenia oświetlenia OPT3001 – pomiar natężenia światła otoczenia o charakterystyce zbliżonej do czułości ludzkiego oka. Do wykorzystania przy sterowaniu natężeniem oświetlenia w zależności od warunków zewnętrznych i wewnętrznych – zachmurzenie czy słoneczny dzień.

Schemat czujnika natężenia oświetlenia OPT3001:

rys18 

Projekt płytki czujnika natężenia oświetlenia OPT3001:

 rys19

Czujnik temperatury TMP75 – pomiar temperatury środowiska, do wykorzystania przy sterowaniu ogrzewaniem, wentylacją czy klimatyzacją. Pomocny również przy kontrolowaniu np. rolet zewnętrznych w celu eliminacji przegrzewania pomieszczenia latem czy pozyskiwania darmowego ciepła z promieni słonecznych zimą.

Schemat modułu temperatury TMP75:

 rys20

Projekt płytki czujnika temperatury TMP75:

 rys21

Czujnik stężenia CO2 T6313 – pomiar stężenia dwutlenku węgla w pomieszczeniach, krytyczny element instalacji wentylacji mechanicznej, dodawany jako opcja jednak powinien być wymogiem. Poprawna wentylacja i świeże powietrze pozbawione dwutlenku węgla to bardzo ważny element dla naszego dobrego samopoczucia, wydajności  jak i komfortowego wypoczynku. Na podstawie pomiarów system może automatycznie zwiększać lub zmniejszać natężenie wentylacji w pomieszczeniu czy domu.

Czujnik stężenia pyłów stałych PM2,5 i PM10 – kontrola jakości atmosfery wewnątrz pomieszczenia czy budynku, kontrola filtrów wentylacji mechanicznej.

Przy wykorzystaniu powyższych czujników możemy zaprogramować reguły, które po przekroczeniu pewnych wartości granicznych będą powodowały konkretne działania w naszym dokmu, np. zasłonięcie rolet zewnętrznych przy dużym nasłonecznieniu i wzroście temperatury wewnętrznej powyżej wartości granicznej, złożenie markiz zewnętrznych przy gwałtownym spadku ciśnienia z uwagi na ryzyko wystąpienia burzy, włączenie rekuperatora na wyższy bieg przy stwierdzeniu wzrostu stężenia dwutlenku węgla i wzroście temperatury otoczenia itp. System może wysyłać powiadomienia z dołączonymi wykresami czy wartościami z czujników na email, co można wykorzystać również do raportowania czy kontroli obiektów wrażliwych na warunki środowiskowe, np. serwerowni.

Im więcej mamy takich danych zbieramy tym więcej działań możemy zautomatyzować w naszym domu. Technologia poprawiająca jakość życia jest na wyciągnięcie ręki, nie bójmy się z niej skorzystać!

Farnall element14

Pozostałe artykuły

Agri-Stick - urządzenie do monitorowania parametrów gleby w rolnictwie

Numer: Lipiec/2019

Agri-Stick to prosty zespół sensorów podstawowych parametrów gleby, które przydatne są w rolnictwie. Urządzenie to zostało opracowane przez Kavinkumara Nkl z Indii, jako sposób na proste i niedrogie zdalne monitorowanie upraw - w ten sposób rolnicy w Indiach nie muszą jeździć na pola, żeby sprawdzić, czy konieczne jest włączenie systemu nawadniającego czy nie. Rozwiązanie opisane w tym artykule może służyć jako inspiracja ...

Stacja pogodowa na Raspberry Pi

Numer: Czerwiec/2019

Fundacja Raspbery Pi wysłała do szkół na całym świecie ponad 10 tysięcy stacji pogodowych opartych na module HAT z zestawem potrzebnych sensorów. Teraz każdy w domu może skonstruować taką stację pogodową na bazie zaproponowanych modułów z sensorami lub po prostu samodzielnie łącząc układy scalone z komputerem jednopłytkowym Raspberry Pi.

Programowany kolorowy wskaźnik poziomu napięcia

Numer: Czerwiec/2019

Wskaźniki służą do sygnalizacji stanu obserwowanej wielkości fizycznej. Zamiast szczegółowego wyniku pomiaru, wskaźnik przekazuje informację ogólną, co często jest dużo praktyczniejsze. Ten projekt pokazuje, jak można zastosować płytkę NUCLEO do budowy wskaźnika poziomu napięcia wykorzystującego do sygnalizacji diody WS2812B. Urządzenie jest proste w budowie, z dowolnie programowalnymi progami, których przekroczenie będzie ...

KindleBerry Pi

Numer: Czerwiec/2019

Lubicie czasem posiedzieć z laptopem w parku? Albo popracować zdalnie w barze przy plaży lub latem w kawiarni, w malowniczej miejscowości skąpanej w słońcu? Brzmi fajnie, nie? Niestety, ci co spróbowali, szybko odkryli, że słońce i laptop to nie jest dobre połączenie - klasyczne ekrany LCD nie nadają się do pracy przy dużym nasłonecznieniu. Gdyby tylko mieć laptop z ekranem EPD? W artykule pokazujemy, jak zbudować ...

Laserowy, bezprzewodowy sensor smogu dla Raspberry Pi

Numer: Maj/2019

W jednym z poprzednich numerów zaprezentowany został projekt sensora smogu z bezprzewodową technologią Bluetooth Low Energy. Wyposażony w dokładny, laserowy czujnik PMS7003 umożliwia on wykonywanie zdalnych pomiarów zawartości pyłów zawieszonych w powietrzu. Mierzy też temperaturę i wilgotność względną, korzystając z precyzyjnego układu SHT20. Prezentację wyniku pomiaru powierzono aplikacji BBair, która na ekranie smartfonu ...

Mobilna
Elektronika
Praktyczna

Elektronika Praktyczna

Lipiec 2019

PrenumerataePrenumerataKup w kiosku wysyłkowym

Elektronika Praktyczna Plus

lipiec - grudzień 2012

Kup w kiosku wysyłkowym