wersja mobilna | kontakt z nami

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

Kot z dostępem do Internetu

Numer: Maj/2017

Choć prima aprilis już minął, publikujemy opis projektu, który na pierwszy rzut oka będzie wydawał się żartem. I fakt ? opisywany w nim projekt powstał jako żart, ale mamy wrażenie, że sama idea jest godna zastanowienia i może być podstawą do opracowania bardziej sensownych i przydanych rozwiązań. Dlatego prezentujemy "Kota IoT", na którego pomysł wpadł Jeremy Wall z Kalifornii.

Monitorowanie Raspberry Pi poprzez komunikator internetowy

Numer: Marzec/2017

Raspberry Pi to świetna platforma do stworzenia np. systemu automatyki domowej. Duża liczba gotowych modułów oraz liczne przykładowe aplikacje pozwalają niemal błyskawicznie zestawić dosyć złożony system nadzorujący mieszkanie lub dom. Problem pojawia się dopiero na etapie tworzenia interfejsu użytkownika. Umieszczenie w nim wszystkich funkcji oraz wbudowanie mechanizmu powiadomień jest po prostu mocno czasochłonne. Zamiast tego można ...

Raspberry PiRate Radio. Stacja radiowa z Raspberry Pi

Numer: Styczeń/2017

W dobie Internetu posiadanie własnej, amatorskiej stacji radiowej nie wydaje się już tak atrakcyjne, jak niegdyś. Teraz, chcąc podzielić się swoimi poglądami wystarczy założyć blog, przygotować tzw. podcast lub po prostu uruchomić kanał na YouTube. Ale by odbierać transmisje Internetowe trzeba mieć urządzenie komputerowe, podczas gdy analogowy sygnał FM można bez problemu odsłuchać z użyciem najtańszego odbiornika. I choć może ...

PiTelephone - retro telefon z Raspberry Pi

Numer: Listopad/2016

W Elektronice Praktycznej opisywaliśmy już projekt telefonu, w którym zastosowano Raspberry Pi, ale prezentowany poniżej PiTelephone to zupełnie inna konstrukcja. Widać to już z zewnątrz, bo aparat telefoniczny jest stacjonarny i tarczowy i wygląda, jakby wyprodukowano go w latach 70. XX wieku. W środku znajduje się natomiast Raspberry Pi i szereg dodatkowych komponentów, które zmieniają wybieranie impulsowe na tonowe oraz sterują pracą ...

Emulacja Raspberry Pi

Numer: Wrzesień/2016

...

Mobilna
Elektronika
Praktyczna

Elektronika Praktyczna

Lipiec 2018

PrenumerataePrenumerataKup w kiosku wysyłkowym

Elektronika Praktyczna Plus

lipiec - grudzień 2012

Kup w kiosku wysyłkowym