PureAware Senzor Calitate Aer (model PureAQS66, firmware V1.027) este un dispozitiv profesional de monitorizare a mediului bazat pe ESP32, proiectat pentru automatizarea cladirilor, HVAC si managementul calitatii aerului interior.
Integreaza senzorul multi-parametru Sensirion SEN66 si senzorul barometric MS5637, oferind masurarea continua a 11 parametri de mediu:
| Parametru | Domeniu | Unitate |
|---|---|---|
| CO2 | 0–40.000 | ppm |
| PM1.0 | 0–1.000 | µg/m³ |
| PM2.5 | 0–1.000 | µg/m³ |
| PM4.0 | 0–1.000 | µg/m³ |
| PM10 | 0–1.000 | µg/m³ |
| Indice VOC | 1–500 | — (fara unitate) |
| Indice NOx | 1–500 | — (fara unitate) |
| TVOC (WELL) | derivat | µg/m³ |
| Temperatura | −40 la +125 | °C |
| Umiditate | 0–100 | %RH |
| Presiune Barometrica | 300–1.200 | hPa |
Producator: MICRO-ELEMENTS S.R.L.
Format Numar de Serie: AQS2608-[MAC_ADDRESS]
| Parametru | Valoare |
|---|---|
| Model | PureAQS66 |
| Revizie Hardware | AQS-PureAware-R1.2 |
| Microcontroler | ESP32 (Dual-core Xtensa, 240 MHz) |
| Senzor Primar | Sensirion SEN66 (CO2, PM, VOC, NOx, T, RH) |
| Senzor Presiune | TE Connectivity MS5637 (I2C @ 0x76) |
| Conectivitate | WiFi 802.11 b/g/n (2,4 GHz) |
| Protocoale | BACnet/IP, Modbus TCP, MQTT, Zabbix, HTTP/REST |
| Port BACnet | 47808 (UDP) |
| Port Modbus | 502 (TCP, async, pana la 3 clienti) |
| Porturi Web | 80, 8080, 8081, 8082 |
| Alimentare | 5V DC, ~300 mA tipic |
| Sistem de Fisiere | LittleFS (OTA + loguri + configurare) |
| Inregistrare Date | Buffer RAM 288 intrari + rotatie CSV 7 zile |
| Timer Watchdog | 50 secunde |
| Descoperire | mDNS + SSDP |
| Limbi | EN, RO, HU, NO, JA |
| Autentificare | HTTP Basic Auth (admin/pureaware) |
Montati dispozitivul la o inaltime de 1,2–1,8 metri (zona de respiratie) pe perete, departe de:
Toti senzorii sunt precablati pe PCB. Daca efectuati cablare personalizata:
Pentru comunicare RS-485:
Conectati la Serial2: RX = GPIO 14, TX = GPIO 27 la 115200 baud.
| GPIO | Functie | Directie | Note |
|---|---|---|---|
| 13 | NeoPixel LED | Iesire | WS2812B, 1 pixel, 800 kHz |
| 22 | Buton Config | Intrare | Pull-up intern (activ LOW) |
| 23 | Buton Run | Intrare | Pull-up intern (activ LOW) |
| 12 | LED Status | Iesire | Indicator de uz general |
| 2 | Control RS-485 | Iesire | HIGH = activare transmisie |
| 16 | Serial1 RX | Intrare | RS-485 receptie (19200 baud) |
| 17 | Serial1 TX | Iesire | RS-485 transmisie |
| 14 | Serial2 RX | Intrare | Ecran Nextion (115200 baud) |
| 27 | Serial2 TX | Iesire | Ecran Nextion |
| 26 | I2C Bus 1 SDA | Bidirectional | Senzor SEN66 (100 kHz) |
| 25 | I2C Bus 1 SCL | Iesire | Senzor SEN66 (100 kHz) |
| 33 | I2C Bus 2 SDA | Bidirectional | MS5637 @ 0x76 (100 kHz) |
| 32 | I2C Bus 2 SCL | Iesire | MS5637 @ 0x76 (100 kHz) |
Conectati o sursa de alimentare 5V DC prin portul USB-C. Consumul tipic este ~300 mA.
La prima pornire (sau dupa apasarea butonului CONFIG de pe spatele dispozitivului), dispozitivul porneste in modul Access Point (AP):
123456789http://192.168.1.25:8080<hostname>-<sufix_mac>.local
(ex., pureaware-8a0de8.local). Folositi acest lucru pentru a accesa dispozitivul fara a cunoaste IP-ul.
Trei moduri de functionare:
| Mod | Descriere | Caz de Utilizare |
|---|---|---|
| AP | Creeaza reteaua "PureAware" | Configurare, functionare independenta |
| STA | Se conecteaza la WiFi existent | Functionare normala |
| OFFLINE | Radio WiFi dezactivat | Izolat de retea, economie energie |
Comutare mod prin comenzi seriale pe Serial2:
01 01 01 FF FF FF — Mod AP02 02 02 FF FF FF — Mod STA03 03 03 FF FF FF — Mod OFFLINEProtocoale de descoperire active in modul STA: mDNS, SSDP.
Pentru implementari cu IP fix (frecvente in BMS/HVAC), configurati prin interfata web:
| Parametru | Implicit | Descriere |
|---|---|---|
| Activare IP Static | Dezactivat | Comutare IP static |
| Adresa IP | gol | IP dispozitiv (ex., 192.168.1.100) |
| Gateway | gol | IP router (ex., 192.168.1.1) |
| Masca de Retea | 255.255.255.0 | Masca de retea |
| Server DNS | 8.8.8.8 | Resolver DNS |
| Port | Functie | Autentificare |
|---|---|---|
| 80 | Tablou de Bord Status (citiri in timp real & grafice) | Fara (public) |
| 8080 | Panou de Configurare | HTTP Basic Authadmin / pureaware |
| 8081 | Incarcare Firmware OTA | Fara |
| 8082 | Incarcare Ecran Nextion | Fara |
Tabloul de bord status prezinta un design responsiv cu tema inchisa, citiri in timp real ale senzorilor, grafice istorice pe 24 de ore si suport multilingv (5 limbi).
V1.027 foloseste un client MQTT complet asincron (non-blocant, bazat pe AsyncClient). Dispozitivul publica date de la senzori ca JSON catre un broker MQTT la un interval configurabil.
| Parametru | Implicit | Descriere |
|---|---|---|
| Activare MQTT | Dezactivat | Comutare publicare MQTT |
| Server | broker.emqx.io | Hostname sau IP broker |
| Port | 1883 | Port TCP broker |
| Utilizator | gol | Nume utilizator autentificare (optional) |
| Parola | gol | Parola autentificare (optional) |
| Topic | hostname | Topic de baza pentru publicare |
| Nume Senzor | gol | Nume prietenos inclus in payload-ul JSON |
| Interval | 60 secunde | Interval de publicare (minim 10 secunde) |
Dispozitivul publica pe un topic construit din topicul de baza configurat, sufixul adresei MAC al dispozitivului si sufixul /data:
{topic}/{mac6}/data
De exemplu, daca topicul de baza este PureAware_Office si sufixul MAC al dispozitivului este 8a0de8:
PureAware_Office/8a0de8/data
mac6 reprezinta ultimele 6 cifre hex ale adresei MAC ESP32. Aceasta asigura ca fiecare dispozitiv are un topic de publicare unic chiar si cand partajeaza acelasi topic de baza.
Pentru testare rapida, folositi brokerul public gratuit EMQX:
| Parametru | Valoare |
|---|---|
| Server | broker.emqx.io |
| Port | 1883 (TCP) / 8083 (WebSocket) |
| URL WebSocket | ws://broker.emqx.io:8083/mqtt |
| Utilizator | emqx |
| Parola | public |
PureAware ofera aplicatii de monitorizare companion care se conecteaza la acelasi broker MQTT prin WebSocket si afiseaza date in timp real de la toti senzorii descoperiit:
monitor_remote.html in orice browser web (inclus in pachetul produsului)PureAware_Monitor_Setup.exe (aplicatie desktop independenta)PureAware_Monitor_V1.apk pe dispozitivul AndroidToate cele trei aplicatii descopera automat dispozitivele abonandu-se la {topic}/# si afiseaza carduri de senzori cu insigne AQI, praguri codificate prin culori si detectie timeout.
In setarile aplicatiei de monitorizare, configurati:
| Setare | Valoare |
|---|---|
| Broker | ws://broker.emqx.io:8083/mqtt (sau URL-ul WebSocket al brokerului dumneavoastra) |
| Topic | Acelasi topic de baza configurat pe dispozitiv |
| Utilizator / Parola | Credentiale broker (daca sunt necesare) |
Protocol asincron Zabbix Sender cu timer dedicat.
| Parametru | Implicit |
|---|---|
| Server Zabbix | monitor.microelemente.ro |
| Port Zabbix | 55051 |
| Hostname | PureAware_Default |
| Interval | 60 secunde |
Dispozitivul implementeaza un server BACnet/IP minimal conform ASHRAE 135-2020, Anexa J, pe portul UDP 47808.
Activati prin pagina web de configurare. ID-ul Instanta Device este derivat din adresa MAC implicit, sau poate fi setat manual (domeniu: 1–4.194.302).
| Obiect | Instanta | Nume | Unitate |
|---|---|---|---|
| Device | auto (derivat din MAC) | hostname | — |
| AI 0 | 0 | CO2 | ppm |
| AI 1 | 1 | PM1.0 | µg/m³ |
| AI 2 | 2 | PM2.5 | µg/m³ |
| AI 3 | 3 | PM4.0 | µg/m³ |
| AI 4 | 4 | PM10 | µg/m³ |
| AI 5 | 5 | Indice VOC | Fara unitate |
| AI 6 | 6 | Indice NOx | Fara unitate |
| AI 7 | 7 | TVOC | ppb |
| AI 8 | 8 | Temperatura | °C |
| AI 9 | 9 | Umiditate | %RH |
| AI 10 | 10 | Presiune | hPa |
Producator: MICRO-ELEMENTS S.R.L.
Server Modbus TCP asincron pe portul 502, suportand pana la 3 clienti simultani cu un timeout de inactivitate de 60 secunde.
| Registru | Parametru | Unitate | Note |
|---|---|---|---|
| 0 | Tip Dispozitiv | — | Fix: 1 |
| 1 | Indice VOC | — | 1–500 |
| 2 | Indice NOx | — | 1–500 |
| 3 | PM1.0 | µg/m³ | Intreg |
| 4 | PM2.5 | µg/m³ | Intreg |
| 5 | PM4.0 | µg/m³ | Intreg |
| 6 | PM10 | µg/m³ | Intreg |
| 7 | Temperatura | °C × 10 | ex. 235 = 23,5°C |
| 8 | Umiditate | %RH × 10 | ex. 654 = 65,4% |
| 9 | CO2 | ppm | Intreg |
| 10 | TVOC (WELL) | µg/m³ | Intreg |
| 11 | Presiune | hPa × 10 | ex. 10132 = 1013,2 hPa |
Dispozitivul suporta 3 alarme independente cu histerezis, notificari email si masina de stari.
| Parametru | Descriere |
|---|---|
| Activat | Activare/dezactivare aceasta alarma |
| Parametru | Valoare monitorizata: co2, pm25, pm1, pm4, pm10, voc, nox, tvocw, temp, hum, press |
| Prag Declansare | Valoarea la care alarma se declanseaza |
| Histerezis | Banda moarta pentru rearmare (previne oscilatia) |
| Directie | 1 = peste prag, 0 = sub prag |
OK ──► Armat ──► Declansat ──► Rearmat ──► OK
(valoarea intra (pragul (valoarea revine
in banda moarta) depasit) sub histerezis)
| Parametru | Implicit | Descriere |
|---|---|---|
| Activare Email | Dezactivat | Comutare globala email |
| Server SMTP | gol | ex., smtp.gmail.com |
| Port SMTP | 587 | 587 (STARTTLS) sau 465 (SSL) |
| TLS | Activat | STARTTLS sau SSL implicit |
| Utilizator | gol | Utilizator autentificare SMTP |
| Parola | gol | Parola autentificare SMTP |
| De la | gol | Adresa email expeditor |
| Catre | gol | Adresa email destinatar |
Programati deconectarea automata WiFi in anumite ore pentru a economisi energie sau a respecta politicile EMF:
| Parametru | Implicit | Descriere |
|---|---|---|
| Activare | Dezactivat | Comutare program repaus |
| Ora Inceput | 22:00 | Ora oprire WiFi |
| Ora Sfarsit | 06:00 | Ora pornire WiFi |
Dispozitivul mentine doua niveluri de inregistrare a datelor:
day0.csv pana la day6.csvDispozitivul sincronizeaza ora prin NTP cand WiFi este disponibil. Trei niveluri de alternativa asigura ca marcajele temporale sunt mereu prezente:
http://<ip>:8081.binLa fiecare 24 de ore, dispozitivul verifica https://update.microelemente.ro/firmware.bin pentru firmware nou.
Descarcarile sunt stocate temporar pe LittleFS inainte de flash, protejand impotriva descarcarilor incomplete.
Ecranul optional Nextion HMI afiseaza date de la senzori in timp real. Conectati prin Serial2 (GPIO 14/27 la 115200 baud).
Incarcati firmware-ul ecranului (pureaware_v3.tft) prin interfata web pe portul 8082.
| Culoare/Model | Semnificatie |
|---|---|
| Verde (constant) | Functionare normala, WiFi conectat |
| Albastru (constant) | Mod AP activ |
| Rosu (constant) | Eroare / defect senzor |
| Galben (clipire) | Se conecteaza la WiFi |
| Stins | LED dezactivat sau mod OFFLINE |
Interfata web si notificarile email suporta 5 limbi:
Setati limba prin pagina web de configurare. Implicit: en.
| Simptom | Cauza Posibila | Solutie |
|---|---|---|
| Nu apare reteaua WiFi | Nu este in modul AP | Apasati butonul Config |
| Nu se poate accesa interfata web | Port sau IP gresit | Folositi http://<ip> pe portul 80 sau 8080 |
| Toate valorile senzorilor sunt 0 | SEN66 neinitializat | Asteptati 60s; verificati cablajul Bus I2C 1 |
| Presiunea indica 0 | MS5637 deconectat | Verificati Bus I2C 2 (GPIO 33/32) |
| BACnet nu raspunde | Neactivat sau fara WiFi | Activati in configurare; verificati ca portul 47808 nu este blocat |
| Timeout Modbus | Numar maxim clienti atins | Reduceti conexiunile (maxim 3) |
| Emailul nu se trimite | Credentiale SMTP gresite | Verificati server, port, TLS, credentiale |
| Dispozitivul se reporneste aleatoriu | Timeout watchdog (50s) | Verificati alimentarea; verificati ca I2C nu este blocat |
| Fisiere log lipsa | LittleFS nemontat | Reflashati cu schema corecta de partitii |
| mDNS nu rezolva | Routerul blocheaza mDNS | Folositi adresa IP direct sau activati SSDP |
Pentru restaurarea setarilor implicite din fabrica:
esptool.py --port COMx erase_region 0x9000 0x5000