Cum să construiți o stație senzor de monitorizare a confortului: 10 pași (cu imagini)
Cum să construiți o stație senzor de monitorizare a confortului: 10 pași (cu imagini)
Anonim
Cum să construiți o stație senzor de monitorizare a confortului
Cum să construiți o stație senzor de monitorizare a confortului
Cum să construiți o stație senzor de monitorizare a confortului
Cum să construiți o stație senzor de monitorizare a confortului
Cum să construiți o stație senzor de monitorizare a confortului
Cum să construiți o stație senzor de monitorizare a confortului
Cum să construiți o stație senzor de monitorizare a confortului
Cum să construiți o stație senzor de monitorizare a confortului

Acest instructable descrie proiectarea și construcția așa-numitei stații de monitorizare a confortului CoMoS, un dispozitiv senzor combinat pentru condiții ambientale, care a fost dezvoltat la departamentul de mediu construit de la TUK, Technische Universität Kaiserslautern, Germania.

CoMoS folosește un controler ESP32 și senzori pentru temperatura aerului și umiditatea relativă (Si7021), viteza aerului (senzorul de vânt rev. C de la dispozitivul modern) și temperatura globului (DS18B20 într-un bec negru), totul într-un compact, ușor de utilizat construiți carcasa cu feedback vizual printr-un indicator LED (WS2812B). În plus, un senzor de iluminare (BH1750) este inclus pentru a analiza starea vizuală locală. Toate datele senzorilor sunt citite periodic și trimise prin Wi-Fi către un server de baze de date, de unde pot fi utilizate pentru monitorizare și controale.

Motivația din spatele acestei dezvoltări este de a obține o alternativă ieftină, dar foarte puternică la dispozitivele cu senzori de laborator, care sunt de obicei la un preț peste 3000 €. În schimb, CoMoS folosește hardware la un preț total de aproximativ 50 € și, prin urmare, poate fi implementat integral în clădiri (de birouri) pentru determinarea în timp real a stării termice și vizuale individuale la fiecare loc de muncă sau secțiune de clădire.

Pentru mai multe informații despre cercetările noastre și despre activitatea conectată la departament, consultați site-ul oficial al spațiului de birouri inteligent Living Lab sau contactați autorul corespunzător direct prin LinkedIn. Toate contactele autorilor sunt listate la sfârșitul acestui instructable.

Notă structurală: Această instrucțiune descrie configurarea originală a CoMoS, dar oferă și informații și instrucțiuni pentru câteva variante pe care le-am dezvoltat recent: Pe lângă carcasa originală construită din piese standard, există și o opțiune imprimată 3D. Și, pe lângă dispozitivul original cu conexiune la serverul de baze de date, există o versiune autonomă alternativă cu stocare pe card SD, punct de acces WIFi integrat și o aplicație mobilă de lux pentru a vizualiza citirile senzorilor. Vă rugăm să verificați opțiunile marcate în capitolele corespunzătoare și opțiunea autonomă din capitolul final.

Notă personală: Acesta este primul instructor al autorului și acoperă o configurare destul de detaliată și complexă. Vă rugăm să nu ezitați să luați legătura prin secțiunea de comentarii a acestei pagini, prin e-mail sau prin LinkedIn, dacă lipsesc detalii sau informații pe parcursul pașilor.

Pasul 1: Fundal - Confort termic și vizual

Context - Confort termic și vizual
Context - Confort termic și vizual
Context - Confort termic și vizual
Context - Confort termic și vizual

Confortul termic și vizual au devenit subiecte din ce în ce mai importante, în special în mediul de birou și la locul de muncă, dar și în sectorul rezidențial. Principala provocare în acest domeniu este că percepția termică a indivizilor variază adesea într-o gamă largă. O persoană se poate simți fierbinte într-o anumită stare termică, în timp ce o altă persoană se simte rece în aceeași stare. Acest lucru se datorează faptului că percepția termică individuală este influențată de mulți factori, inclusiv de factorii fizici ai temperaturii aerului, umidității relative, vitezei aerului și temperatura radiantă a suprafețelor înconjurătoare. Dar, de asemenea, îmbrăcămintea, activitatea metabolică și un aspect individual al vârstei, sexului, masei corporale și multe altele influențează percepția termică.

În timp ce factorii individuali rămân o incertitudine în ceea ce privește comenzile de încălzire și răcire, factorii fizici pot fi determinați exact de dispozitivele senzorului. Temperatura aerului, umiditatea relativă, viteza aerului și temperatura globului pot fi măsurate și utilizate ca intrare directă în comenzile clădirii. Mai mult, într-o abordare mai detaliată, acestea pot fi folosite ca intrare pentru a calcula așa-numitul index PMV, unde PMV reprezintă Vota medie estimată. Descrie modul în care oamenii, în medie, ar putea să-și evalueze senzația termică în condiții ambientale date. PMV poate lua valori de la -3 (rece) la +3 (fierbinte), 0 fiind o stare neutră.

De ce menționăm acest lucru PMV aici? Ei bine, pentru că în domeniul confortului personal este un indice utilizat în mod obișnuit, care poate servi drept criteriu de calitate pentru situația termică dintr-o clădire. Și cu CoMoS, pot fi măsurați toți parametrii ambientali necesari pentru calculul PMV.

Dacă sunteți interesat, aflați mai multe despre confortul termic, contextul globului și temperatura radiantă medie, indicele PMV și implementarea standardului ASHRAE la

Wikipedia: Confort termic

ISO 7726 Ergonomia mediului termic

ASHRAE NPO

Apropo: există de mult timp, dar și o mulțime de gadgeturi nou dezvoltate în domeniul mediului personalizat pentru a oferi confort termic și vizual individual. Ventilatoarele mici pentru desktop sunt un exemplu bine cunoscut. Dar, de asemenea, încălzitoarele de picioare, scaunele încălzite și ventilate sau partițiile de birou pentru încălzirea și răcirea cu radiații IR sunt dezvoltate sau chiar disponibile deja pe piață. Toate aceste tehnologii influențează starea termică locală, de exemplu, la un loc de muncă și pot fi controlate automat și pe baza datelor locale ale senzorilor, așa cum este ilustrat în imaginile acestui pas.

Mai multe informații despre gadgeturile unui mediu personalizat și cercetările în curs sunt disponibile la

Spațiu de birou inteligent Living Lab: mediu personalizat

Universitatea din California, Berkeley

Raport ZEN privind încălzirea personală și dispozitivele de răcire [PDF]

Universitatea SBRC din Wollongong

Pasul 2: Schema de sistem

Schema de sistem
Schema de sistem
Schema de sistem
Schema de sistem

Unul dintre principalele obiective ale procesului de dezvoltare a fost crearea unui dispozitiv senzor fără fir, compact și ieftin pentru a măsura condițiile de mediu interioare a cel puțin zece locuri de muncă individuale într-un spațiu de birou deschis. Prin urmare, stația utilizează un ESP32-WROOM-32 cu conectivitate WiFi la bord și cu o mare varietate de pini de conector și tipuri de magistrale acceptate pentru tot felul de senzori. Stațiile senzorilor utilizează un IoT-WiFi separat și își trimit citirile de date către o bază de date MariaDB printr-un script PHP care rulează pe serverul bazei de date. Opțional, poate fi instalată și o ieșire vizuală Grafana ușor de utilizat.

Schema de mai sus arată aranjarea tuturor componentelor periferice ca o imagine de ansamblu asupra configurării sistemului, dar această instrucțiune se concentrează asupra stației senzorului în sine. Desigur, fișierul PHP și o descriere a conexiunii SQL sunt incluse mai târziu și pentru a furniza toate informațiile necesare pentru a construi, conecta și utiliza CoMoS.

Notă: la sfârșitul acestei instrucțiuni puteți găsi instrucțiuni despre cum să construiți o versiune autonomă alternativă a CoMoS cu stocare pe card SD, punct de acces WiFi intern și o aplicație web pentru dispozitive mobile.

Pasul 3: Lista de aprovizionare

Lista de aprovizionare
Lista de aprovizionare
Lista de aprovizionare
Lista de aprovizionare

Electronică

Senzori și controler, așa cum se arată în imagine:

  • Microcontroler ESP32-WROOM-32 (espressif.com) [A]
  • Senzor de temperatură și umiditate Si7021 sau GY21 (adafruit.com) [B]
  • Senzor de temperatură DS18B20 + (adafruit.com) [C]
  • Rev C. senzor viteza aerului (moderndevice.com) [D]
  • LED de stare WS2812B 5050 (adafruit.com) [E]
  • Senzor de iluminare BH1750 (amazon.de) [F]

Mai multe piese electrice:

  • 4, 7k rezistență pull-up (adafruit.com)
  • Sârmă standard 0, 14 mm² (sau similar) (adafruit.com)
  • 2 conectori de îmbinare compacte Wago (wago.com)
  • Cablu micro USB (sparkfun.com)

Piesele carcasei (Găsiți informații mai detaliate despre aceste piese și dimensiuni în pasul următor. Dacă aveți la dispoziție o imprimantă 3D, aveți nevoie doar de o minge de tenis de masă. Treceți peste pasul următor și găsiți toate informațiile și fișierele pentru imprimare la pasul 5.)

  • Placă acrilică rotundă 50x4 mm [1]
  • Placă de oțel rotundă 40x10 mm [2]
  • Tub acrilic 50x5x140 mm [3]
  • Placă acrilică rotundă 40x5 mm [4]
  • Tub acrilic 12x2x50 mm [5]
  • Minge de tenis de masă [6]

Diverse

  • Spray de vopsea albă
  • Vopsea neagră mată
  • Niște bandă
  • Puțină lână izolatoare, un tampon de bumbac sau ceva similar

Instrumente

  • Burghiu electric
  • Burghiu de furat de 8 mm
  • Burghiu de lemn / plastic de 6 mm
  • Burghiu de lemn / plastic de 12 mm
  • Ferăstrău subțire de mână
  • Hârtie de șlefuit
  • Clește de tăiat sârmă
  • Dispozitiv de sârmă
  • Fier de lipit și tablă
  • Pistol cu adeziv electric sau fierbinte

Software și biblioteci (numerele indică versiunile bibliotecii pe care le-am folosit și am testat hardware-ul. Bibliotecile mai noi ar trebui să funcționeze și ele, dar ne-am confruntat ocazional cu unele probleme în timp ce încercam versiuni diferite / mai noi.)

  • Arduino IDE (1.8.5)
  • Biblioteca ESP32 Core
  • Biblioteca BH1750FVI
  • Biblioteca Adafruit_Si7021 (1.0.1)
  • Biblioteca Adafruit_NeoPixel (1.1.6)
  • Biblioteca DallasTemperature (3.7.9)
  • Biblioteca OneWire (2.3.3)

Pasul 4: Proiectarea și construcția carcasei - Opțiunea 1

Proiectarea și construcția carcasei - Opțiunea 1
Proiectarea și construcția carcasei - Opțiunea 1
Proiectarea și construcția carcasei - Opțiunea 1
Proiectarea și construcția carcasei - Opțiunea 1
Proiectarea și construcția carcasei - Opțiunea 1
Proiectarea și construcția carcasei - Opțiunea 1

Designul CoMoS are o carcasă subțire, verticală, cu majoritatea senzorilor montați în zona superioară, cu doar senzorul de temperatură și umiditate montat în partea de jos. Pozițiile și aranjamentele senzorului respectă cerințele specifice ale variabilelor măsurate:

  • Senzorul de temperatură și umiditate Si7021 este montat în exteriorul carcasei, în apropierea fundului său, pentru a permite circulația liberă a aerului în jurul senzorului și pentru a minimiza influența căldurii reziduale dezvoltată de microcontrolerul din interiorul carcasei.
  • Senzorul de iluminare BH1750 este montat pe partea superioară a carcasei, pentru a măsura iluminarea pe o suprafață orizontală, conform cerințelor standardelor comune privind iluminarea la locul de muncă.
  • Senzorul de vânt Rev. C este, de asemenea, montat în partea superioară a carcasei, cu dispozitivele electronice ascunse în interiorul carcasei, dar colțurile sale, care poartă anemometrul termic și senzorul de temperatură, expuse aerului din jurul vârfului.
  • Senzorul de temperatură DS18B20 este montat chiar în partea de sus a stației, în interiorul unei mingi de tenis de masă vopsite în negru. Poziția de sus este necesară pentru a minimiza factorii de vizualizare și, prin urmare, influența radiativă a stației senzorului însuși asupra măsurării temperaturii globului.

Resurse suplimentare despre temperatura radiantă medie și utilizarea mingilor de tenis de masă negre ca senzori de temperatură a globului sunt:

Wang, Shang și Li, Yuguo. (2015). Potrivirea termometrelor cu acril și glob de cupru pentru setări diurne în aer liber. Clădire și mediu. 89. 10.1016 / j.buildenv.2015.03.002.

de Dragă, Richard. (1987). Termometre glob ping-pong pentru temperatura medie radiantă. H & Eng.,. 60. 10-12.

Carcasa este concepută simplu, pentru a menține timpul și efortul de fabricație cât mai redus posibil. Poate fi construit cu ușurință din piese și componente standard cu doar câteva instrumente și abilități simple. Sau, pentru cei cu norocul de a avea o imprimantă 3D la dispoziția lor, toate piesele carcasei pot fi imprimate și 3D. Pentru tipărirea carcasei, restul acestui pas poate fi omis și toate fișierele și instrucțiunile necesare pot fi găsite în pasul următor.

Pentru construcția din piese standard, dimensiunile de montare sunt alese pentru majoritatea dintre ele:

  • Corpul principal este o țeavă acrilică (PMMA) cu diametrul exterior de 50 mm, grosimea peretelui de 5 mm și înălțimea de 140 mm.
  • Placa de jos, care servește drept conductor de lumină pentru LED-ul de stare, este o placă rotundă acrilică cu diametrul de 50 mm și grosimea de 4 mm.
  • O rotundă din oțel cu un diametru de 40 mm și o grosime de 10 mm este instalată ca o greutate pe partea superioară a plăcii inferioare și se potrivește în capătul inferior al tubului corpului principal pentru a preveni răsturnarea stației și pentru a ține placa inferioară la loc.
  • Placa superioară se potrivește și în interiorul tubului principal al corpului. Este fabricat din PMMA și are un diametru de 40 mm și o grosime de 5 mm.
  • În cele din urmă, tubul de ridicare superior este și PMMA, cu un diametru exterior de 10 mm, o grosime a peretelui de 2 mm și o lungime de 50 mm.

Procesul de fabricație și asamblare este simplu, începând cu câteva găuri de găurit. Rotundul din oțel are nevoie de o gaură continuă de 8 mm, pentru a se potrivi cu LED-urile și cablurile. Tubul principal al corpului are nevoie de câteva găuri de 6 mm, ca trecere a cablului pentru cablurile USB și senzor și ca găuri de ventilație. Numărul și pozițiile găurilor pot fi variate în funcție de preferințele dvs. Alegerea dezvoltatorilor este de șase găuri pe partea din spate, aproape de sus și de jos și două pe partea din față, una de sus, una de jos din nou, ca referință.

Placa superioară este cea mai dificilă parte. Are nevoie de un întreg, centrat, drept și continuu de 12 mm pentru a se potrivi cu tubul ascendent superior, o altă gaură de 6 mm centrată pentru a se potrivi cablului senzorului de iluminare și o fantă subțire de aproximativ 1, 5 mm lățime și 18 mm lungime pentru a se potrivi vântului senzor. Vedeți imaginile pentru referință. Și, în sfârșit, mingea de tenis de masă are nevoie și de un întreg de 6 mm, pentru a se potrivi senzorului de temperatură și cablului.

În pasul următor, toate piesele PMMA, cu excepția plăcii inferioare, ar trebui să fie vopsite prin pulverizare, referința este albă. Mingea de tenis de masă trebuie vopsită în negru mat pentru a stabili atributele sale termice și optice estimate.

Rotundul de oțel este lipit centrat și plat pe placa inferioară. Tubul de ridicare superior este lipit în orificiul de 12 mm al plăcii superioare. Mingea de tenis de masă este lipită pe capătul superior al ascensorului, cu orificiul său care se potrivește cu deschiderea interioară a tubului ascensor, astfel încât senzorul de temperatură și cablul pot fi introduse ulterior pe bilă prin tubul ascensor.

Cu acest pas realizat, toate părțile carcasei sunt gata pentru a fi asamblate prin asamblarea lor. Dacă unele se potrivesc prea bine, șlefuiți-le puțin, dacă sunt prea largi, adăugați un strat subțire de bandă.

Pasul 5: Proiectarea și construcția carcasei - Opțiunea 2

Proiectarea și construcția carcasei - Opțiunea 2
Proiectarea și construcția carcasei - Opțiunea 2
Proiectarea și construcția carcasei - Opțiunea 2
Proiectarea și construcția carcasei - Opțiunea 2
Proiectarea și construcția carcasei - Opțiunea 2
Proiectarea și construcția carcasei - Opțiunea 2

În timp ce Opțiunea 1 de construire a carcasei CoMoS este încă una rapidă și simplă, lăsarea unei imprimante 3D să facă treaba ar putea fi și mai ușoară. De asemenea, pentru această opțiune, carcasa este împărțită în trei părți, partea superioară, corpul carcasei și partea inferioară, pentru a permite cablarea și asamblarea ușoară, așa cum este descris în pasul următor.

Fișierele și informații suplimentare despre setările imprimantei sunt furnizate la Thingiverse:

Fișiere CoMoS pe Thingiverse

Respectarea instrucțiunilor de utilizare a filamentului alb pentru partea superioară și a corpului carcasei este foarte recomandată. Acest lucru împiedică încălzirea cazului prea repede la lumina soarelui și evită măsurători false. Pentru partea inferioară trebuie utilizat un filament transparent pentru a permite iluminarea indicatorului LED.

O altă variantă din Opțiunea 1 este că lipsește runda metalică. Pentru a preveni răsturnarea CoMoS, orice fel de greutate, cum ar fi bilele de rulmenți sau o grămadă de șaibe metalice, trebuie plasate în / pe partea de jos transparentă. Este proiectat cu o margine pentru a se potrivi și a ține o greutate. Ca alternativă, CoMoS poate fi conectat la locul său de instalare utilizând bandă dublă.

Notă: folderul Thingiverse include fișiere pentru o carcasă pentru cititor de card micro SD care poate fi montată pe carcasa CoMoS. Acest caz este opțional și face parte din versiunea autonomă descrisă în ultimul pas al acestui instructiv.

Pasul 6: Cablare și asamblare

Cablare și asamblare
Cablare și asamblare
Cablare și asamblare
Cablare și asamblare
Cablare și asamblare
Cablare și asamblare
Cablare și asamblare
Cablare și asamblare

ESP, senzorii, LED-urile și cablul USB sunt lipite și conectate conform circuitului schematic prezentat în imaginile acestui pas. Alocarea PIN care corespunde exemplului de cod descris mai târziu este:

  • 14 - Resetare pod (EN) - [gri]
  • 17 - WS2811 (LED) - [verde]
  • 18 - rezistență de tragere pentru DS18B20 +
  • 19 - DS18B20 + (One Wire) - [violet]
  • 21 - BH1750 și SI7021 (SDA) - [albastru]
  • 22 - BH1750 și SI7021 (SCL) - [galben]
  • 25 - BH1750 (V-in) - [maro]
  • 26 - SI7021 (V-in) - [maro]
  • 27 - DS18B20 + (V-in) - [maro]
  • 34 - Senzor de vânt (TMP) - [cyan]
  • 35 - Senzor de vânt (RV) - [portocaliu]
  • VIN - cablu USB (+ 5V) - [roșu]
  • GND - cablu USB (GND) - [negru]

Senzorii Si7021, BH1750 și DS18B20 + sunt alimentați printr-un pin IO al ESP32. Acest lucru este posibil deoarece curentul maxim de curent al acestora este sub alimentarea maximă a curentului ESP pe pin și este necesar pentru a putea reseta senzorii prin întreruperea alimentării lor în caz de erori de comunicare a senzorului. Consultați codul ESP și comentariile pentru mai multe informații.

Senzorii Si7021 și BH1750, la fel ca cablul USB, ar trebui lipiți cu cablurile deja introduse prin orificiile dedicate ale carcasei pentru a permite asamblarea la pasul următor. Conectorii de îmbinare compacti WAGO sunt utilizați pentru a conecta dispozitivele la sursa de alimentare prin cablul USB. Toate sunt alimentate la 5 V DC prin USB, care funcționează cu nivelul logic al ESP32 la 3, 3 V. Opțional, pinii de date ai cablului micro USB pot fi reconectați la mufa micro USB și conectați la micro USB-ul ESP priză, ca intrare de alimentare și conexiune de date pentru a transfera codul către ESP32 în timp ce carcasa este închisă. Altfel, dacă este conectat așa cum se arată în schemă, este necesar un alt cablu micro USB intact pentru a transfera inițial codul către ESP înainte de asamblarea carcasei.

Senzorul de temperatură Si7021 este lipit de partea din spate a carcasei, aproape de partea de jos. Este foarte important să atașați acest senzor aproape de partea de jos, pentru a evita citirile false de temperatură cauzate de căldura evoluată în interiorul carcasei. Consultați pasul Epilog pentru mai multe informații despre această problemă. Senzorul de iluminare BH1750 este lipit de placa superioară, iar senzorul de vânt este introdus și se montează pe fanta din partea opusă. Dacă se potrivește prea mult, un pic de bandă în jurul părții centrale a senzorului ajută la menținerea acestuia în poziție. Senzorul de temperatură DS18B20 este introdus prin ridicatorul superior în mingea de tenis de masă, cu o poziție finală în centrul mingii. Interiorul colierului superior este umplut cu lână de izolare, iar deschiderea inferioară este sigilată cu bandă sau lipici fierbinte, pentru a preveni transferul de căldură conductiv sau convectiv către glob. LED-ul este atașat în gaura rotundă din oțel orientată în jos pentru a ilumina placa inferioară.

Toate firele, conectorii de îmbinare și ESP32 intră în carcasa principală și toate componentele carcasei sunt asamblate în asamblarea finală.

Pasul 7: Software - Configurare ESP, PHP și MariaDB

Software - Configurare ESP, PHP și MariaDB
Software - Configurare ESP, PHP și MariaDB
Software - Configurare ESP, PHP și MariaDB
Software - Configurare ESP, PHP și MariaDB

Microcontrolerul ESP32 poate fi programat utilizând Arduino IDE și biblioteca ESP32 Core oferită de Espressif. Există o mulțime de tutoriale disponibile online despre cum să configurați IDE pentru compatibilitatea ESP32, de exemplu aici.

Odată configurat, codul atașat este transferat la ESP32. Este comentat de-a lungul întregii pentru înțelegere ușoară, dar unele caracteristici cheie sunt:

  • Are la început o secțiune „configurare utilizator”, în care trebuie setate variabile individuale, cum ar fi ID-ul WiFi și parola, IP-ul serverului bazei de date și citirile de date dorite și perioada de trimitere. De asemenea, include o variabilă de „reglare zero a vântului” care poate fi utilizată pentru a regla citirile vitezei zero a vântului la 0 în cazul unei surse de alimentare nestabile.
  • Codul include factori de calibrare medii determinați de autori din calibrarea a zece stații de senzori existente. Consultați pasul Epilog pentru mai multe informații și o posibilă ajustare individuală.
  • Tratarea diferitelor erori este inclusă în mai multe secțiuni ale codului. Mai ales o detectare și gestionare eficientă a erorilor de comunicație de magistrală care apar adesea pe controlerele ESP32. Din nou, consultați pasul Epilog pentru mai multe informații.
  • Are o ieșire color LED pentru a arăta starea curentă a stației senzorului și orice erori. Consultați pasul Rezultate pentru mai multe informații.

Fișierul PHP atașat trebuie instalat și accesibil în folderul rădăcină al serverului de baze de date, la serverIP / sensor.php. Numele fișierului PHP și conținutul prelucrării datelor trebuie să se potrivească cu codul funcției de apel al ESP și, pe de altă parte, să se potrivească cu configurarea tabelului bazei de date, pentru a permite stocarea citirilor de date. Exemplele de coduri atașate sunt potrivite, dar în cazul în care modificați unele variabile, acestea trebuie schimbate în întregul sistem. Fișierul PHP include la început o secțiune de ajustare, în care se fac ajustări individuale în funcție de mediul sistemului, în special numele de utilizator și parola bazei de date și numele bazei de date.

O bază de date MariaDB sau SQL este configurată pe același server, în conformitate cu configurarea tabelului utilizată în codul stației senzorului și în scriptul PHP. În exemplul de cod, numele bazei de date MariaDB este „senzor” cu un tabel numit „date”, care conține 13 coloane pentru UTCDate, ID, UID, Temp, Hum, Globe, Vel, VelMin, VelMax, MRT, Illum, IllumMin, și IllumMax.

O platformă de analiză și monitorizare Grafana poate fi instalată suplimentar pe server ca opțiune pentru vizualizarea directă a bazei de date. Aceasta nu este o caracteristică cheie a acestei dezvoltări, deci nu este descrisă mai departe în acest instructable.

Pasul 8: Rezultate - Citirea și verificarea datelor

Rezultate - Citirea și verificarea datelor
Rezultate - Citirea și verificarea datelor

Cu toate cablurile, asamblarea, programarea și configurarea mediului realizate, stația senzorului trimite citiri de date periodic la baza de date. În timp ce este alimentat, mai multe stări de funcționare sunt indicate prin culoarea LED-ului inferior:

  • În timpul pornirii, LED-ul se aprinde în culoare galbenă pentru a indica conexiunea în așteptare la WiFi.
  • Când și când sunteți conectat, indicatorul este albastru.
  • Stația senzorului rulează citirile senzorilor și o trimite periodic la server. Fiecare transfer reușit este indicat de un impuls de lumină verde de 600 ms.
  • În caz de erori, indicatorul va avea culoarea roșie, violet sau gălbuie, în funcție de tipul de eroare. După un anumit timp sau un număr de erori, stația senzorului resetează toți senzorii și repornește automat, indicat din nou printr-o lumină galbenă la boot. Consultați codul ESP32 și comentariile pentru mai multe informații despre culorile indicatorului.

Cu acest ultim pas realizat, stația senzorului funcționează și funcționează continuu. Până în prezent, o rețea de 10 stații de senzori este instalată și rulează în spațiul de birouri inteligent Living Lab menționat anterior.

Pasul 9: alternativă: versiune autonomă

Alternativă: versiune autonomă
Alternativă: versiune autonomă
Alternativă: versiune autonomă
Alternativă: versiune autonomă
Alternativă: versiune autonomă
Alternativă: versiune autonomă
Alternativă: versiune autonomă
Alternativă: versiune autonomă

Dezvoltarea CoMoS continuă, iar primul rezultat al acestui proces continuu este o versiune autonomă. Această versiune a CoMoS nu are nevoie de un server de baze de date și o rețea WiFi pentru a monitoriza și înregistra datele de mediu.

Noile caracteristici cheie sunt:

  • Citirile de date sunt stocate pe cardul micro SD intern, în format CSV prietenos cu Excel.
  • Punct de acces WiFi integrat pentru acces la CoMoS de către orice dispozitiv mobil.
  • Aplicație bazată pe web (server web intern pe ESP32, nu este necesară conexiune la internet) pentru date live, setări și acces la stocare cu descărcare directă a fișierelor de pe cardul SD, așa cum se arată în imagine și capturi de ecran atașate la acest pas.

Aceasta înlocuiește conexiunea WiFi și baza de date, în timp ce toate celelalte caracteristici, inclusiv calibrarea și toate proiectările și construcțiile, rămân neatinse din versiunea originală. Totuși, CoMoS de sine stătător necesită experiență și cunoștințe suplimentare despre cum să accesați sistemul intern de gestionare a fișierelor „SPIFFS” al ESP32 și un pic de conștientizare a HTML, CSS și Javascript pentru a înțelege modul în care funcționează aplicația web. De asemenea, are nevoie de câteva biblioteci diferite / diferite pentru a funcționa.

Vă rugăm să verificați codul Arduino din fișierul zip atașat pentru bibliotecile necesare și următoarele referințe pentru informații suplimentare despre programare și încărcare în sistemul de fișiere SPIFFS:

Biblioteca SPIFFS de espressif

Încărcător de fișiere SPIFFS de către me-no-dev

Biblioteca ESP32WebServer de Pedroalbuquerque

Această nouă versiune ar face un nou instructabil, care ar putea fi publicat în viitor. Dar, deocamdată, în special pentru utilizatorii mai experimentați, nu vrem să pierdem șansa de a partaja informațiile de bază și fișierele de care aveți nevoie pentru a le configura.

Pași rapizi pentru a construi un CoMoS independent:

  • Construiți o carcasă conform pasului anterior. Opțional, imprimați 3D o carcasă suplimentară pentru ca cititorul de carduri micro SC să fie atașat carcasei CoMoS. Dacă nu aveți la dispoziție o imprimantă 3D, cititorul de carduri poate fi plasat și în carcasa principală CoMoS, fără griji.
  • Conectați toți senzorii așa cum s-a descris anterior, dar, în plus, instalați și conectați un cititor de carduri micro SD (amazon.com) și un ceas DS3231 în timp real (adafruit.com), așa cum este indicat în schema de cablare atașată acestui pas. Notă: Pinii pentru rezistența de tracțiune și oneWire diferă de schema de cablare originală!
  • Verificați codul Arduino și ajustați variabilele punctului de acces WiFi „ssid_AP” și „password_AP” la preferințele dvs. personale. Dacă nu este ajustat, SSID-ul standard este „CoMoS_AP”, iar parola este „12345678”.
  • Introduceți cardul micro SD, încărcați codul, încărcați conținutul folderului „date” în ESP32 utilizând încărcătorul de fișiere SPIFFS și conectați orice dispozitiv mobil la punctul de acces WiFi.
  • Navigați la „192.168.4.1” în browserul dvs. mobil și bucurați-vă!

Aplicația se bazează pe html, css și javascript. Este local, nu este necesară nici o conexiune la internet. Dispune de un meniu lateral în aplicație pentru a accesa o pagină de configurare și o pagină de memorie. Pe pagina de configurare, puteți regla cele mai importante setări, cum ar fi data și ora locală, intervalul de citire a senzorului, etc. Toate setările vor fi stocate permanent în memoria internă a ESP32 și restaurate la următoarea încărcare. Pe pagina de memorie, este disponibilă o listă de fișiere de pe cardul SD. Dând clic pe un nume de fișier inițiază o descărcare directă a fișierului CSV pe dispozitivul mobil.

Această configurare a sistemului permite monitorizarea individuală și la distanță a condițiilor de mediu interioare. Toate citirile senzorului sunt stocate periodic pe cardul SD, fiind create fișiere noi pentru fiecare zi nouă. Aceasta permite o funcționare continuă timp de săptămâni sau luni fără acces sau întreținere. Așa cum am menționat anterior, aceasta este încă o cercetare și dezvoltare în curs de desfășurare. Dacă sunteți interesat de mai multe detalii sau asistență, vă rugăm să nu ezitați să contactați autorul corespunzător prin comentarii sau direct prin LinkedIn.

Pasul 10: Epilog - Probleme cunoscute și perspectivă

Epilog - Probleme cunoscute și perspectivă
Epilog - Probleme cunoscute și perspectivă
Epilog - Probleme cunoscute și perspectivă
Epilog - Probleme cunoscute și perspectivă

Stația de senzori descrisă în acest instructable este rezultatul unei cercetări îndelungate și în curs de desfășurare. Scopul este de a crea un sistem de senzori fiabil, precis, dar cu un cost redus, pentru condițiile de mediu interioare. Acest lucru a susținut și susține unele provocări serioase, dintre care cele mai sigure ar trebui menționate aici:

Precizia și calibrarea senzorului

Senzorii utilizați în acest proiect oferă toți o precizie relativ ridicată la un cost redus sau moderat. Majoritatea sunt echipate cu reducere internă a zgomotului și o interfață digitală de magistrală pentru comunicații, reducând nevoia de calibrare sau reglare a nivelului. Oricum, deoarece senzorii sunt instalați în sau pe o carcasă cu anumite atribute, autorii au efectuat o calibrare a stației complete a senzorilor, așa cum se arată pe scurt în imaginile atașate. Un total de zece stații de senzori construite în mod egal au fost testate în condiții de mediu definite și comparate cu un dispozitiv profesionist cu senzor de climatizare interior TESTO 480. Din aceste etape, au fost determinați factorii de calibrare incluși în codul de exemplu. Acestea permit o compensare simplă a influenței carcasei și a componentelor electronice asupra senzorilor individuali. Pentru a atinge cea mai mare precizie, se recomandă o calibrare individuală pentru fiecare stație de senzori. Calibrarea acestui sistem este un al doilea obiectiv al cercetării autorilor, pe lângă dezvoltarea și construcția descrise în acest instructable. Este discutat într-o publicație suplimentară, conectată, care este încă în evaluare inter pares și va fi conectată aici imediat ce va fi online. Vă rugăm să găsiți mai multe informații despre acest subiect pe site-ul autorilor.

Stabilitate în funcționare ESP32

Nu toate bibliotecile de senzori bazate pe Arduino utilizate în acest cod sunt pe deplin compatibile cu placa ESP32. Această problemă a fost discutată pe scară largă în multe puncte online, în special în ceea ce privește stabilitatea comunicării I2C și OneWire. În această dezvoltare, se realizează o nouă, combinată detectare și manipulare a erorilor, bazată pe alimentarea senzorilor direct prin pinii IO ai ESP32 pentru a permite tăierea sursei de alimentare în scopul resetării. Din perspectiva de astăzi, această soluție nu a fost prezentată sau nu este discutată pe larg. S-a născut din necesitate, dar până în prezent funcționează fără probleme pentru perioade de funcționare de câteva luni și peste. Cu toate acestea, este încă un subiect de cercetare.

Outlook

Împreună cu acest lucru instructiv, alte publicații scrise și prezentări de conferințe sunt efectuate de către autori pentru a răspândi dezvoltarea și a permite o aplicație largă și open source. Între timp, cercetările sunt continuate pentru a îmbunătăți în continuare stația senzorilor, în special în ceea ce privește proiectarea și fabricabilitatea sistemului, precum și calibrarea și verificarea sistemului. Această instrucțiune ar putea fi actualizată cu privire la evoluțiile viitoare importante, dar pentru toate informațiile actualizate, vă rugăm să vizitați site-ul autorilor sau să contactați autorii direct prin LinkedIn:

autor corespondent: Mathias Kimmling

al doilea autor: Konrad Lauenroth

mentor de cercetare: prof. Sabine Hoffmann

Autor pentru prima dată
Autor pentru prima dată
Autor pentru prima dată
Autor pentru prima dată

Premiul II pentru prima dată autor