Spisu treści:
- Krok 1: Tło – komfort cieplny i wizualny
- Krok 2: Schemat systemu
- Krok 3: Lista dostaw
- Krok 4: Projekt i budowa obudowy – opcja 1
- Krok 5: Projekt i budowa obudowy – opcja 2
- Krok 6: Okablowanie i montaż
- Krok 7: Oprogramowanie - konfiguracja ESP, PHP i MariaDB
- Krok 8: Wyniki – odczyt i weryfikacja danych
- Krok 9: Alternatywa: wersja samodzielna
- Krok 10: Epilog – znane problemy i perspektywy
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Ta instrukcja opisuje projekt i budowę tak zwanej stacji monitorowania komfortu CoMoS, połączonego urządzenia czujnikowego do warunków otoczenia, które zostało opracowane w dziale środowiska zbudowanego w TUK, Technische Universität Kaiserslautern, Niemcy.
CoMoS wykorzystuje sterownik ESP32 oraz czujniki temperatury i wilgotności względnej powietrza (Si7021), prędkości powietrza (czujnik wiatru rev. C firmy Modern Device) i temperatury kuli ziemskiej (DS18B20 w czarnej bańce), a wszystko to w kompaktowym, łatwym w obsłudze obudowa z wizualnym sprzężeniem zwrotnym za pomocą wskaźnika LED (WS2812B). Dodatkowo dołączony jest czujnik natężenia oświetlenia (BH1750) do analizy lokalnego stanu wizualnego. Wszystkie dane z czujników są okresowo odczytywane i przesyłane przez Wi-Fi do serwera bazy danych, skąd można je wykorzystać do monitorowania i kontroli.
Motywacją tego rozwoju jest uzyskanie taniej, ale bardzo wydajnej alternatywy dla laboratoryjnych urządzeń czujnikowych, które zazwyczaj są w cenie powyżej 3000 €. W przeciwieństwie do tego, CoMoS wykorzystuje sprzęt o łącznej cenie około 50 € i dlatego może być kompleksowo wdrażany w budynkach (biurowych) w celu określenia w czasie rzeczywistym indywidualnego stanu termicznego i wizualnego w każdym miejscu pracy lub części budynku.
Aby uzyskać więcej informacji na temat naszych badań i powiązanej pracy w dziale, odwiedź oficjalną stronę poświęconą inteligentnej przestrzeni biurowej Living Lab lub skontaktuj się bezpośrednio z odpowiednim autorem przez LinkedIn. Kontakty wszystkich autorów są wymienione na końcu tej instrukcji.
Uwaga strukturalna: Ta instrukcja opisuje pierwotną konfigurację CoMoS, ale zawiera również informacje i instrukcje dotyczące kilku ostatnio opracowanych przez nas wariantów: Oprócz oryginalnej obudowy zbudowanej ze standardowych części, dostępna jest również opcja drukowana w 3D. Oprócz oryginalnego urządzenia z połączeniem z serwerem bazy danych dostępna jest alternatywna, samodzielna wersja z pamięcią na karty SD, zintegrowanym punktem dostępu WiFi i wymyślną aplikacją mobilną do wizualizacji odczytów czujników. Proszę sprawdzić opcje zaznaczone w odpowiednich rozdziałach oraz opcję samodzielną w ostatnim rozdziale.
Osobista uwaga: jest to pierwsza instrukcja autora i obejmuje dość szczegółową i złożoną konfigurację. Nie wahaj się skontaktować za pośrednictwem sekcji komentarzy na tej stronie, e-mailem lub za pośrednictwem LinkedIn, jeśli na wszystkich etapach brakuje jakichkolwiek szczegółów lub informacji.
Krok 1: Tło – komfort cieplny i wizualny
Komfort termiczny i wizualny stają się coraz ważniejszymi tematami, zwłaszcza w środowisku biurowym i roboczym, ale także w sektorze mieszkaniowym. Głównym wyzwaniem w tej dziedzinie jest to, że percepcja termiczna poszczególnych osób często różni się w szerokim zakresie. Jedna osoba może czuć się gorąco w określonych warunkach termicznych, podczas gdy inna osoba czuje zimno w tym samym. Dzieje się tak, ponieważ na indywidualną percepcję termiczną wpływa wiele czynników, w tym czynniki fizyczne temperatury powietrza, wilgotności względnej, prędkości powietrza i temperatury promieniowania otaczających powierzchni. Ale także odzież, aktywność metaboliczna i indywidualny aspekt wieku, płci, masy ciała i innych czynników wpływają na percepcję termiczną.
Podczas gdy poszczególne czynniki pozostają niepewne pod względem sterowania ogrzewaniem i chłodzeniem, czynniki fizyczne można precyzyjnie określić za pomocą urządzeń czujnikowych. Temperatura powietrza, wilgotność względna, prędkość powietrza i temperatura kuli mogą być mierzone i wykorzystywane jako bezpośrednie dane wejściowe do sterowania budynkiem. Ponadto, w bardziej szczegółowym podejściu, można je wykorzystać jako dane wejściowe do obliczenia tak zwanego indeksu PMV, gdzie PMV oznacza przewidywane średnie głosowanie. Opisuje, jak przeciętnie ludzie będą oceniać swoje odczucia cieplne w danych warunkach pokojowych. PMV może przyjmować wartości od -3 (zimny) do +3 (gorący), przy czym 0 jest stanem neutralnym.
Dlaczego wspominamy tutaj o tym PMV? Ano dlatego, że w dziedzinie komfortu osobistego jest to powszechnie stosowany wskaźnik, który może służyć jako kryterium jakości sytuacji termicznej w budynku. A dzięki CoMoS można zmierzyć wszystkie parametry otoczenia wymagane do obliczenia PMV.
Jeśli jesteś zainteresowany, dowiedz się więcej o komforcie termicznym, kontekście kuli ziemskiej i średniej temperatury promieniowania, indeksie PMV oraz wdrażanej normie ASHRAE na stronie
Wikipedia: Komfort termiczny
ISO 7726 Ergonomia środowiska termicznego
ASHRAE NPO
Przy okazji: istnieje od dawna, ale także wiele nowo opracowanych gadżetów w dziedzinie spersonalizowanego środowiska, aby zapewnić indywidualny komfort termiczny i wizualny. Dobrze znanym przykładem są małe wentylatory do komputerów stacjonarnych. Ale również opracowywane są lub już dostępne na rynku ogrzewacze do stóp, podgrzewane i wentylowane krzesła lub ścianki biurowe do ogrzewania i chłodzenia za pomocą promieniowania podczerwonego. Wszystkie te technologie wpływają na lokalne warunki termiczne, na przykład w miejscu pracy, i mogą być sterowane automatycznie również na podstawie lokalnych danych z czujników, jak pokazano na zdjęciach w tym kroku.
Więcej informacji na temat gadżetów spersonalizowanego środowiska oraz prowadzonych badań można znaleźć na
Inteligentna przestrzeń biurowa Living Lab: spersonalizowane środowisko
Uniwersytet Kalifornijski w Berkeley
Raport ZEN dotyczący osobistych urządzeń grzewczych i chłodniczych [PDF]
Uniwersytet SBRC w Wollongong
Krok 2: Schemat systemu
Jednym z głównych celów w procesie rozwoju było stworzenie bezprzewodowego, kompaktowego i niedrogiego czujnika do pomiaru wewnętrznych warunków środowiskowych na co najmniej dziesięciu indywidualnych stanowiskach pracy w danej otwartej przestrzeni biurowej. Dlatego stacja wykorzystuje ESP32-WROOM-32 z wbudowaną łącznością WiFi oraz dużą różnorodnością pinów złączy i obsługiwanych typów magistrali dla wszelkiego rodzaju czujników. Stacje czujników korzystają z oddzielnego IoT-WiFi i wysyłają odczyty danych do bazy danych MariaDB za pomocą skryptu PHP działającego na serwerze bazy danych. Opcjonalnie można również zainstalować łatwe w użyciu wyjście wizualne Grafana.
Powyższy schemat przedstawia rozmieszczenie wszystkich elementów peryferyjnych jako przegląd konfiguracji systemu, ale ta instrukcja skupia się na samej stacji czujnika. Oczywiście plik PHP i opis połączenia SQL są również dołączone później, aby zapewnić wszystkie niezbędne informacje do budowania, łączenia i używania CoMoS.
Uwaga: na końcu tej instrukcji znajdziesz instrukcje, jak zbudować alternatywną, samodzielną wersję CoMoS z pamięcią na karcie SD, wewnętrznym punktem dostępu Wi-Fi i aplikacją internetową na urządzenia mobilne.
Krok 3: Lista dostaw
Elektronika
Czujniki i kontroler, jak pokazano na zdjęciu:
- ESP32-WROOM-32 mikrokontroler (espressif.com) [A]
- Czujnik temperatury i wilgotności Si7021 lub GY21 (adafruit.com) [B]
- Czujnik temperatury DS18B20+ (adafruit.com) [C]
- Rev C. czujnik prędkości powietrza (moderndevice.com) [D]
- Dioda LED stanu WS2812B 5050 (adafruit.com) [E]
- Czujnik natężenia oświetlenia BH1750 (amazon.de) [F]
Więcej części elektrycznych:
- Rezystor podciągający 4, 7k (adafruit.com)
- Standardowy przewód 0, 14 mm² (lub podobny) (adafruit.com)
- 2x kompaktowe złącza połączeniowe Wago (wago.com)
- Kabel micro USB (sparkfun.com)
Części obudowy (Znajdź bardziej szczegółowe informacje na temat tych części i rozmiarów w następnym kroku. Jeśli masz dostępną drukarkę 3D, potrzebujesz tylko piłki do tenisa stołowego. Pomiń następny krok i znajdź wszystkie informacje i pliki do wydrukowania w kroku 5.)
- Płyta akrylowa okrągła 50x4 mm [1]
- Blacha stalowa okrągła 40x10 mm [2]
- Rura akrylowa 50x5x140 mm [3]
- Płyta akrylowa okrągła 40x5 mm [4]
- Rura akrylowa 12x2x50 mm [5]
- Piłka do tenisa stołowego [6]
Różnorodny
- Biała farba w sprayu
- Czarny matowy lakier w sprayu
- Niektóre taśmy
- Trochę wełny izolacyjnej, wacik lub coś podobnego
Narzędzia
- Wiertarka elektryczna
- Wiertło stalowe 8 mm
- Wiertło do drewna/plastiku 6 mm
- Wiertło do drewna/plastiku 12 mm
- Cienka piła ręczna
- Papier ścierny
- Szczypce do cięcia drutu
- Ściągacz izolacji
- Lutownica i cyna
- Power-glue lub pistolet do klejenia na gorąco
Oprogramowanie i biblioteki (Liczby wskazują wersje bibliotek, których używaliśmy i testowaliśmy sprzęt. Nowsze biblioteki również powinny działać, ale czasami napotykaliśmy pewne problemy podczas próbowania innych / nowszych wersji.)
- IDE Arduino (1.8.5)
- Podstawowa biblioteka ESP32
- Biblioteka BH1750FVI
- Biblioteka Adafruit_Si7021 (1.0.1)
- Biblioteka Adafruit_NeoPixel (1.1.6)
- Biblioteka temperatur Dallas (3.7.9)
- Biblioteka OneWire (2.3.3)
Krok 4: Projekt i budowa obudowy – opcja 1
Konstrukcja CoMoS obejmuje smukłą, pionową obudowę, w której większość czujników jest zamontowana w górnej części, a tylko czujnik temperatury i wilgotności jest zamontowany u dołu. Pozycje i układy czujników są zgodne z określonymi wymaganiami mierzonych zmiennych:
- Czujnik temperatury i wilgotności Si7021 montowany jest na zewnątrz obudowy, blisko jej spodu, aby umożliwić swobodną cyrkulację powietrza wokół czujnika i zminimalizować wpływ ciepła odpadowego wydzielanego przez mikrokontroler wewnątrz obudowy.
- Czujnik natężenia oświetlenia BH1750 jest montowany na płaskiej górze obudowy, aby mierzyć oświetlenie na poziomej powierzchni, zgodnie z powszechnymi normami dotyczącymi oświetlenia miejsca pracy.
- Czujnik wiatru Rev. C jest również zamontowany w górnej części obudowy, z elektroniką ukrytą wewnątrz obudowy, ale jego zęby, które przenoszą rzeczywisty anemometr termiczny i czujnik temperatury, są wystawione na działanie powietrza wokół góry.
- Czujnik temperatury DS18B20 jest montowany na samej górze stacji, wewnątrz pomalowanej na czarno piłki do tenisa stołowego. Pozycja na górze jest konieczna, aby zminimalizować współczynniki widzenia, a tym samym radiacyjny wpływ samej stacji czujnikowej na pomiar temperatury kuli ziemskiej.
Dodatkowe informacje na temat średniej temperatury promieniowania i wykorzystania czarnych piłek do tenisa stołowego jako czujników temperatury kuli to:
Wang, Shang i Li, Yuguo. (2015). Przydatność akrylowych i miedzianych termometrów kulistych do dziennych ustawień na zewnątrz. Budynek i środowisko. 89. 10.1016/j.buildenv.2015.03.002.
Drogi, Ryszardzie. (1987). Ping-pongowe termometry kuliste do pomiaru średniej temperatury promieniowania. H i inż.,. 60. 10-12.
Obudowa została zaprojektowana w prosty sposób, aby maksymalnie skrócić czas i wysiłek związany z produkcją. Można go łatwo zbudować ze standardowych części i komponentów za pomocą kilku prostych narzędzi i umiejętności. Lub, dla tych, którzy mają szczęście, że mają do dyspozycji drukarkę 3D, wszystkie części obudowy można również wydrukować w 3D. Aby wydrukować sprawę, resztę tego kroku można pominąć, a wszystkie wymagane pliki i instrukcje można znaleźć w następnym kroku.
W przypadku konstrukcji z części standardowych dla większości z nich dobierane są wymiary montażowe:
- Główny korpus to rura akrylowa (PMMA) o średnicy zewnętrznej 50 mm, grubości ścianki 5 mm i wysokości 140 mm.
- Dolna płyta, która służy jako światłowód dla diody statusu, to akrylowa okrągła płytka o średnicy 50 mm i grubości 4 mm.
- Stalowy okrąg o średnicy 40 mm i grubości 10 mm jest instalowany jako obciążnik na górze dolnej płyty i pasuje do dolnego końca głównej rury korpusu, aby zapobiec przewróceniu się stacji i utrzymać dolną płytę w miejscu.
- Górna płyta również mieści się w tubie korpusu. Wykonany jest z PMMA i ma średnicę 40 mm i grubość 5 mm.
- Wreszcie, górna rura wznośna również jest wykonana z PMMA, o średnicy zewnętrznej 10 mm, grubości ścianki 2 mm i długości 50 mm.
Proces produkcji i montażu jest prosty, zaczynając od kilku otworów do wywiercenia. Stalowy okrąg wymaga ciągłego otworu 8 mm, aby zmieścić diodę LED i kable. W głównym korpusie potrzebne są otwory o średnicy 6 mm, jako przepusty dla kabli USB i czujników oraz jako otwory wentylacyjne. Liczbę i położenie otworów można zmieniać zgodnie z własnymi preferencjami. Wybór deweloperów to sześć otworów z tyłu, blisko góry i dołu, oraz dwie z przodu, jedna na górze, jeszcze raz na dole, jako punkt odniesienia.
Najtrudniejsza część to górna płyta. Wymaga wyśrodkowanej, prostej i ciągłej części o średnicy 12 mm, aby dopasować górną rurę wznośną, innego wyśrodkowanego otworu o średnicy 6 mm do zamocowania kabla czujnika natężenia oświetlenia oraz cienkiej szczeliny o szerokości około 1,5 mm i długości 18 mm, aby dopasować się do wiatru czujnik. Zobacz zdjęcia w celach informacyjnych. I na koniec, piłka do tenisa stołowego również potrzebuje 6 mm całości, aby zmieścić kulowy czujnik temperatury i kabel.
W kolejnym kroku wszystkie części z PMMA, z wyjątkiem dolnej płyty, należy pomalować natryskowo, odniesienie jest białe. Piłkę do tenisa stołowego należy pomalować na matową czerń, aby określić jej szacunkowe właściwości termiczne i optyczne.
Okrąg stalowy jest przyklejony centralnie i płasko do dolnej płyty. Górna rura nośna jest wklejana w otwór 12 mm górnej płyty. Piłka do tenisa stołowego jest przyklejona na górnym końcu podstawki, a jej otwór jest dopasowany do wewnętrznego otworu rury nośnej, dzięki czemu czujnik temperatury i kabel można następnie włożyć do piłki przez rurkę pionową.
Po wykonaniu tego kroku wszystkie części obudowy są gotowe do złożenia poprzez złożenie ich razem. Jeśli niektóre pasują zbyt ciasno, lekko je przeszlifuj, jeśli są zbyt luźne, dodaj cienką warstwę taśmy.
Krok 5: Projekt i budowa obudowy – opcja 2
Podczas gdy opcja 1 budowy przypadku CoMoS jest nadal szybka i prosta, pozwolenie drukarce 3D na wykonanie tej pracy może być jeszcze łatwiejsze. Również w przypadku tej opcji obudowa jest podzielona na trzy części, górną, korpus obudowy i dolną część, aby umożliwić łatwe okablowanie i montaż zgodnie z opisem w następnym kroku.
Pliki i dalsze informacje na temat ustawień drukarki znajdują się na Thingiverse:
Pliki CoMoS na Thingiverse
Zaleca się przestrzeganie instrukcji użycia białego filamentu do górnej części obudowy i obudowy. Zapobiega to zbyt szybkiemu nagrzewaniu się obudowy w świetle słonecznym i pozwala uniknąć fałszywych pomiarów. W dolnej części należy użyć przezroczystego żarnika, aby umożliwić podświetlenie wskaźnika LED.
Kolejną odmianą opcji 1 jest brak metalowego naboju. Aby zapobiec przewróceniu się CoMoS, w przezroczystej dolnej części należy umieścić dowolny ciężar, taki jak kulki łożyskowe lub zestaw metalowych podkładek. Został zaprojektowany z krawędzią wokół, aby dopasować i utrzymać pewną wagę. Alternatywnie CoMoS można przykleić do miejsca instalacji za pomocą taśmy dwustronnej.
Uwaga: folder Thingiverse zawiera pliki do obudowy czytnika kart micro SD, którą można zamontować do obudowy CoMoS. Ta sprawa jest opcjonalna i stanowi część samodzielnej wersji opisanej w ostatnim kroku tej instrukcji.
Krok 6: Okablowanie i montaż
ESP, czujniki, dioda LED i kabel USB są przylutowane i połączone zgodnie ze schematem obwodu pokazanym na zdjęciach tego kroku. Przypisanie PIN pasujące do przykładowego kodu opisanego dalej to:
- 14 - Resetuj mostek (EN) - [szary]
- 17 - WS2811 (LED) - [zielony]
- 18 - rezystor podciągający do DS18B20+
- 19 - DS18B20+ (jeden przewód) - [fioletowy]
- 21 - BH1750 i SI7021 (SDA) - [niebieski]
- 22 - BH1750 i SI7021 (SCL) - [żółty]
- 25 - BH1750 (V-in) - [brązowy]
- 26 - SI7021 (V-in) - [brązowy]
- 27 - DS18B20+ (V-in) - [brązowy]
- 34 - Czujnik wiatru (TMP) - [cyjan]
- 35 - Czujnik wiatru (RV) - [pomarańczowy]
- VIN - kabel USB (+5V) - [czerwony]
- GND - kabel USB (GND) - [czarny]
Czujniki Si7021, BH1750 i DS18B20+ są zasilane przez pin IO ESP32. Jest to możliwe, ponieważ ich maksymalny pobór prądu jest poniżej maksymalnego poboru prądu ESP na pin i konieczne jest zresetowanie czujników przez odcięcie ich zasilania w przypadku błędów komunikacji z czujnikami. Zobacz kod ESP i komentarze, aby uzyskać więcej informacji.
Czujniki Si7021 i BH1750, podobnie jak kabel USB, należy lutować z kablami już przełożonymi przez dedykowane otwory obudowy, aby umożliwić montaż w następnym kroku. Kompaktowe złączki spawalnicze WAGO służą do podłączania urządzeń do zasilania za pomocą kabla USB. Wszystkie są zasilane napięciem 5 V DC przez USB, co działa z poziomem logicznym ESP32 na poziomie 3,3 V. Opcjonalnie piny danych kabla micro USB można ponownie podłączyć do wtyczki micro USB i podłączyć do micro USB ESP gniazdo, jako wejście zasilania i połączenie danych do przesyłania kodu do ESP32, gdy obudowa jest zamknięta. W przeciwnym razie, w przypadku podłączenia jak pokazano na schemacie, potrzebny jest kolejny nienaruszony kabel micro USB, aby wstępnie przesłać kod do ESP przed montażem obudowy.
Czujnik temperatury Si7021 jest przyklejony z tyłu obudowy, blisko spodu. Bardzo ważne jest, aby zamocować ten czujnik blisko dna, aby uniknąć fałszywych odczytów temperatury spowodowanych ciepłem wydzielającym się w obudowie. Zobacz krok Epilog, aby uzyskać więcej informacji na temat tego problemu. Czujnik natężenia oświetlenia BH1750 przykleja się do płyty górnej, a czujnik wiatru wkłada się i montuje w szczelinie po przeciwnej stronie. Jeśli pasuje zbyt luźno, kawałek taśmy wokół środkowej części czujnika pomaga utrzymać go na miejscu. Czujnik temperatury DS18B20 jest wkładany przez górną taśmę do piłki do tenisa stołowego, z ostatecznym położeniem pośrodku piłki. Wnętrze górnego pionu jest wypełnione wełną izolacyjną, a dolny otwór jest uszczelniony taśmą lub gorącym klejem, aby zapobiec przewodzącemu lub konwekcyjnemu przenoszeniu ciepła do kuli. Dioda LED jest przymocowana do stalowego okrągłego otworu skierowanego w dół, aby oświetlić dolną płytę.
Wszystkie przewody, złącza spawów i ESP32 wchodzą do głównej obudowy, a wszystkie części obudowy są składane w końcowym montażu.
Krok 7: Oprogramowanie - konfiguracja ESP, PHP i MariaDB
Mikrokontroler ESP32 można zaprogramować za pomocą środowiska Arduino IDE oraz biblioteki ESP32 Core dostarczanej przez firmę Espressif. Istnieje wiele samouczków dostępnych online na temat konfigurowania IDE pod kątem zgodności z ESP32, na przykład tutaj.
Po skonfigurowaniu załączony kod jest przesyłany do ESP32. Jest skomentowany w celu łatwego zrozumienia, ale niektóre kluczowe funkcje to:
- Na początku znajduje się sekcja „konfiguracja użytkownika”, w której należy ustawić poszczególne zmienne, takie jak identyfikator i hasło WiFi, adres IP serwera bazy danych oraz żądane odczyty danych i okres wysyłania. Zawiera również zmienną „regulacji zerowego wiatru”, która może być wykorzystana do dostosowania odczytów zerowej prędkości wiatru do 0 w przypadku niestabilnego zasilania.
- Kod zawiera średnie współczynniki kalibracyjne określone przez autorów z kalibracji dziesięciu istniejących stacji czujnikowych. Zobacz krok Epilog, aby uzyskać więcej informacji i możliwe indywidualne dostosowanie.
- W kilku sekcjach kodu uwzględniono różne sposoby obsługi błędów. Szczególnie skuteczne wykrywanie i obsługa błędów komunikacji magistrali, które często występują w sterownikach ESP32. Ponownie, zobacz krok Epilog, aby uzyskać więcej informacji.
- Posiada kolorowe wyjście LED, które pokazuje aktualny stan stacji czujnika i ewentualne błędy. Zobacz krok Wyniki, aby uzyskać więcej informacji.
Załączony plik PHP musi być zainstalowany i dostępny w folderze głównym serwera bazy danych pod adresem serverIP/sensor.php. Nazwa pliku PHP i zawartość obsługi danych muszą być zgodne z kodem funkcji wywołania ESP, az drugiej strony odpowiadać konfiguracji tabeli bazy danych, aby umożliwić przechowywanie odczytów danych. Załączone przykładowe kody są dopasowane, ale w przypadku zmiany niektórych zmiennych, należy je zmienić w całym systemie. Plik PHP zawiera na początku sekcję dostosowującą, w której dokonywane są indywidualne zmiany w zależności od środowiska systemu, w szczególności nazwy użytkownika i hasła bazy danych oraz nazwy bazy danych.
Baza danych MariaDB lub SQL jest konfigurowana na tym samym serwerze, zgodnie z konfiguracją tabeli używaną w kodzie stacji czujników i skrypcie PHP. W przykładowym kodzie nazwa bazy danych MariaDB to „sensorstation” z tabelą o nazwie „data”, która zawiera 13 kolumn dla UTCDate, ID, UID, Temp, Hum, Globe, Vel, VelMin, VelMax, MRT, Illum, IllumMin, i IllumMax.
Platforma analityczno-monitorująca Grafana może być dodatkowo zainstalowana na serwerze jako opcja do bezpośredniej wizualizacji bazy danych. Nie jest to kluczowa cecha tego rozwoju, więc nie jest to dalej opisane w tej instrukcji.
Krok 8: Wyniki – odczyt i weryfikacja danych
Po wykonaniu całego okablowania, montażu, programowania i konfiguracji środowiska stacja czujników okresowo wysyła odczyty danych do bazy danych. Podczas zasilania kilka stanów pracy jest wskazywanych przez dolny kolor diody LED:
- Podczas rozruchu dioda LED świeci na żółto, wskazując oczekujące połączenie z Wi-Fi.
- Gdy i gdy jest podłączony, wskaźnik jest niebieski.
- Stacja czujników przeprowadza odczyty czujników i okresowo przesyła je do serwera. Każdy pomyślny transfer jest sygnalizowany zielonym impulsem świetlnym o długości 600 ms.
- W przypadku błędów wskaźnik zmieni kolor na czerwony, fioletowy lub żółtawy, w zależności od typu błędu. Po pewnym czasie lub liczbie błędów stacja czujników resetuje wszystkie czujniki i automatycznie uruchamia się ponownie, co ponownie jest sygnalizowane żółtym światłem podczas uruchamiania. Zobacz kod ESP32 i komentarze, aby uzyskać więcej informacji na temat kolorów wskaźników.
Po wykonaniu tego ostatniego kroku stacja czujników działa i działa w sposób ciągły. Do tej pory we wspomnianej inteligentnej przestrzeni biurowej Living Lab zainstalowano i uruchomiono sieć 10 stacji pomiarowych.
Krok 9: Alternatywa: wersja samodzielna
Rozwój CoMoS trwa, a pierwszym rezultatem tego trwającego procesu jest samodzielna wersja. Ta wersja CoMoS nie wymaga serwera bazy danych ani sieci Wi-Fi do monitorowania i rejestrowania danych środowiskowych.
Nowe kluczowe funkcje to:
- Odczyty danych są przechowywane na wewnętrznej karcie micro SD w formacie CSV przyjaznym dla programu Excel.
- Zintegrowany punkt dostępu WiFi umożliwiający dostęp do CoMoS z dowolnego urządzenia mobilnego.
- Aplikacja internetowa (wewnętrzny serwer sieciowy na ESP32, nie wymaga połączenia z Internetem) do bieżących danych, ustawień i dostępu do pamięci z bezpośrednim pobieraniem plików z karty SD, jak pokazano na rysunku i zrzutach ekranu dołączonych do tego kroku.
Zastępuje to WiFi i połączenie z bazą danych, podczas gdy wszystkie inne funkcje, w tym kalibracja oraz cały projekt i konstrukcja, pozostają niezmienione w stosunku do oryginalnej wersji. Mimo to samodzielny CoMoS wymaga doświadczenia i dalszej wiedzy na temat dostępu do wewnętrznego systemu zarządzania plikami „SPIFFS” ESP32 oraz odrobiny znajomości HTML, CSS i JavaScript, aby zrozumieć, jak działa aplikacja internetowa. Potrzebuje też kilku innych/różnych bibliotek do działania.
Sprawdź kod Arduino w załączonym pliku zip pod kątem wymaganych bibliotek i poniższych odnośników, aby uzyskać dalsze informacje na temat programowania i przesyłania do systemu plików SPIFFS:
Biblioteka SPIFFS firmy espressif
Narzędzie do przesyłania plików SPIFFS przeze mnie-no-dev
Biblioteka ESP32WebServer autorstwa Pedroalbuquerque
Ta nowa wersja stworzyłaby zupełnie nową instrukcję, która mogłaby zostać opublikowana w przyszłości. Ale na razie, szczególnie dla bardziej doświadczonych użytkowników, nie chcemy przegapić szansy na udostępnienie podstawowych informacji i plików potrzebnych do konfiguracji.
Szybkie kroki do zbudowania samodzielnego CoMoS:
- Zbuduj sprawę zgodnie z poprzednim krokiem. Opcjonalnie wydrukuj 3D dodatkowe etui na czytnik kart micro SC, które można przymocować do obudowy CoMoS. Jeśli nie masz dostępnej drukarki 3D, czytnik kart można również umieścić w głównej obudowie CoMoS, bez obaw.
- Podłącz wszystkie czujniki zgodnie z wcześniejszym opisem, ale dodatkowo zainstaluj i podłącz czytnik kart micro SD (amazon.com) i zegar czasu rzeczywistego DS3231 (adafruit.com), jak pokazano na schemacie okablowania dołączonym do tego kroku. Uwaga: Styki rezystora podciągającego i oneWire różnią się od oryginalnego schematu okablowania!
- Sprawdź kod Arduino i dostosuj zmienne punktu dostępu Wi-Fi „ssid_AP” i „password_AP” do swoich osobistych preferencji. Jeśli nie zostanie skorygowany, standardowy identyfikator SSID to „CoMoS_AP”, a hasło to „12345678”.
- Włóż kartę micro SD, prześlij kod, prześlij zawartość folderu „data” do ESP32 za pomocą programu do przesyłania plików SPIFFS i podłącz dowolne urządzenie mobilne do punktu dostępowego WiFi.
- Przejdź do „192.168.4.1” w przeglądarce mobilnej i ciesz się!
Aplikacja jest oparta na html, css i javascript. Działa lokalnie, nie jest wymagane ani żadne połączenie z Internetem. Posiada boczne menu w aplikacji, aby uzyskać dostęp do strony konfiguracji i strony pamięci. Na stronie konfiguracji możesz dostosować najważniejsze ustawienia, takie jak lokalna data i godzina, interwał odczytów czujników itp. Wszystkie ustawienia zostaną zapisane na stałe w wewnętrznej pamięci ESP32 i przywrócone przy następnym uruchomieniu. Na stronie pamięci dostępna jest lista plików na karcie SD. Kliknięcie nazwy pliku inicjuje bezpośrednie pobieranie pliku CSV na urządzenie mobilne.
Taka konfiguracja systemu umożliwia indywidualne i zdalne monitorowanie warunków środowiskowych w pomieszczeniach. Wszystkie odczyty czujnika są okresowo przechowywane na karcie SD, a nowe pliki są tworzone na każdy nowy dzień. Pozwala to na ciągłą pracę przez tygodnie lub miesiące bez dostępu i konserwacji. Jak wspomniano wcześniej, wciąż trwają prace badawczo-rozwojowe. Jeśli jesteś zainteresowany dodatkowymi szczegółami lub pomocą, nie wahaj się skontaktować z odpowiednim autorem za pośrednictwem komentarzy lub bezpośrednio przez LinkedIn.
Krok 10: Epilog – znane problemy i perspektywy
Stacja czujników opisana w tej instrukcji jest wynikiem długich i trwających badań. Celem jest stworzenie niezawodnego, precyzyjnego, a jednocześnie niedrogiego systemu czujników do wewnętrznych warunków środowiskowych. Wiąże się to i niesie ze sobą poważne wyzwania, z których najpewniejsze należy wspomnieć tutaj:
Dokładność i kalibracja czujnika
Wszystkie czujniki użyte w tym projekcie oferują stosunkowo wysoką dokładność przy niskich lub umiarkowanych kosztach. Większość jest wyposażona w wewnętrzną redukcję szumów i interfejsy magistrali cyfrowej do komunikacji, co zmniejsza potrzebę kalibracji lub regulacji poziomu. W każdym razie, ponieważ czujniki są instalowane w lub na obudowie o określonych atrybutach, autorzy wykonali kalibrację kompletnej stacji czujnikowej, co pokrótce pokazują załączone zdjęcia. W sumie dziesięć jednakowo zbudowanych stacji czujników zostało przetestowanych w określonych warunkach środowiskowych i porównanych z profesjonalnym czujnikiem klimatu wewnętrznego TESTO 480. Z tych przebiegów określono współczynniki kalibracji zawarte w przykładowym kodzie. Pozwalają na prostą kompensację wpływu obudowy i elektroniki na poszczególne czujniki. Aby osiągnąć najwyższą dokładność, zalecana jest indywidualna kalibracja dla każdej stacji czujnika. Kalibracja tego systemu jest drugim przedmiotem badań autorów, oprócz rozwoju i konstrukcji opisanych w tej instrukcji. Jest on omawiany w dodatkowej, powiązanej publikacji, która nadal jest recenzowana i zostanie załączona tutaj, gdy tylko pojawi się w Internecie. Więcej informacji na ten temat można znaleźć na stronie autorów.
Stabilność działania ESP32
Nie wszystkie biblioteki czujników oparte na Arduino użyte w tym kodzie są w pełni kompatybilne z płytą ESP32. Kwestia ta była szeroko omawiana w wielu punktach online, szczególnie w odniesieniu do stabilności komunikacji I2C i OneWire. W tym opracowaniu przeprowadza się nową, kombinowaną detekcję i obsługę błędów, opartą na zasilaniu czujników bezpośrednio przez piny IO ESP32, aby umożliwić odcięcie ich zasilania w celu zresetowania. Z dzisiejszej perspektywy rozwiązanie to nie zostało zaprezentowane lub nie jest szeroko dyskutowane. Narodził się z konieczności, ale do tej pory działa płynnie przez kilka miesięcy i dłużej. Jednak wciąż jest to temat badań.
Perspektywy
Wraz z tym instruktażem autorzy prowadzą dalsze publikacje pisemne i prezentacje konferencyjne, aby rozpowszechniać rozwój i umożliwiać szerokie i otwarte zastosowanie. W międzyczasie trwają badania mające na celu dalsze ulepszanie stacji czujników, zwłaszcza w zakresie projektowania i wykonalności systemu oraz kalibracji i weryfikacji systemu. Ta instrukcja może być aktualizowana o ważne przyszłe zmiany, ale aby uzyskać wszystkie aktualne informacje, odwiedź stronę internetową autorów lub skontaktuj się bezpośrednio z autorami przez LinkedIn:
autor korespondencyjny: Mathias Kimmling
drugi autor: Konrad Lauenroth
opiekun naukowy: prof. Sabine Hoffmann
Druga nagroda w kategorii Autor po raz pierwszy