PureAware Senzor Calitate Aer (model PureAQS63C, firmware V1.001) este un dispozitiv profesional de monitorizare a mediului bazat pe ESP32, proiectat pentru automatizarea clădirilor, HVAC și managementul calității aerului interior.
Integrează senzorul multi-parametric Sensirion SEN63C și senzorul de presiune barometrică MS5637, oferind măsurarea continuă a 8 parametri de mediu:
| Parametru | Interval | 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³ |
| Temperatură | −40 până la +125 | °C |
| Umiditate | 0–100 | %RH |
| Presiune Barometrică | 300–1.200 | hPa |
Producător: MICRO-ELEMENTS S.R.L.
Format Număr de Serie: AQS2608-[MAC_ADDRESS]
| Parametru | Valoare |
|---|---|
| Model | PureAQS63C |
| Revizie Hardware | AQS-PureAware-R1.2 |
| Microcontroler | ESP32 (Dual-core Xtensa, 240 MHz) |
| Senzor Principal | Sensirion SEN63C (CO2, PM, T, RH) |
| Senzor de 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, până la 3 clienți) |
| Porturi Web | 80, 8080, 8081, 8082 |
| Alimentare | 5V DC, ~300 mA tipic |
| Sistem de Fișiere | LittleFS (OTA + jurnale + configurare) |
| Înregistrare Date | Buffer RAM de 288 intrări + rotație CSV de 7 zile |
| Timer Watchdog | 50 secunde |
| Descoperire | mDNS + SSDP |
| Limbi | EN, RO, HU, NO, JA |
| Autentificare | HTTP Basic Auth (admin/pureaware) |
Montați dispozitivul la o înălțime de 1,2–1,8 metri (zona de respirație) pe perete, departe de:
Toți senzorii sunt pre-cablați pe PCB. Dacă efectuați cablare personalizată:
Pentru comunicație RS-485:
Conectați la Serial2: RX = GPIO 14, TX = GPIO 27 la 115200 baud.
| GPIO | Funcție | Direcție | Note |
|---|---|---|---|
| 13 | NeoPixel LED | Ieșire | 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 de Stare | Ieșire | Indicator de uz general |
| 2 | Control RS-485 | Ieșire | HIGH = activare transmisie |
| 16 | Serial1 RX | Intrare | Recepție RS-485 (19200 baud) |
| 17 | Serial1 TX | Ieșire | Transmisie RS-485 |
| 14 | Serial2 RX | Intrare | Afișaj Nextion (115200 baud) |
| 27 | Serial2 TX | Ieșire | Afișaj Nextion |
| 26 | I2C Bus 1 SDA | Bidirecțional | Senzor SEN63C (100 kHz) |
| 25 | I2C Bus 1 SCL | Ieșire | Senzor SEN63C (100 kHz) |
| 33 | I2C Bus 2 SDA | Bidirecțional | MS5637 @ 0x76 (100 kHz) |
| 32 | I2C Bus 2 SCL | Ieșire | MS5637 @ 0x76 (100 kHz) |
Conectați o sursă de alimentare de 5V DC prin portul USB-C. Consumul tipic este de ~300 mA.
La prima pornire (sau după apăsarea butonului CONFIG de pe spatele dispozitivului), dispozitivul pornește în modul Access Point (AP):
123456789http://192.168.1.25:8080<hostname>-<sufix_mac>.local
(de ex., pureaware-8a0de8.local). Folosiți acest lucru pentru a accesa dispozitivul fără a cunoaște IP-ul.
Trei moduri de operare:
| Mod | Descriere | Caz de Utilizare |
|---|---|---|
| AP | Creează rețeaua "PureAware" | Configurare, funcționare autonomă |
| STA | Se conectează la WiFi existent | Funcționare normală |
| OFFLINE | Radio WiFi dezactivat | Izolat de rețea, economisire energie |
Comutarea modului 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 în modul STA: mDNS, SSDP.
Pentru implementări cu IP fix (obișnuit în BMS/HVAC), configurați prin interfața web:
| Parametru | Implicit | Descriere |
|---|---|---|
| Activare IP Static | Dezactivat | Comutare IP static |
| Adresă IP | gol | IP-ul dispozitivului (de ex., 192.168.1.100) |
| Gateway | gol | IP-ul routerului (de ex., 192.168.1.1) |
| Mască de Rețea | 255.255.255.0 | Masca de rețea |
| Server DNS | 8.8.8.8 | Resolver DNS |
| Port | Funcție | Autentificare |
|---|---|---|
| 80 | Dashboard de Stare (citiri în timp real și grafice) | Niciuna (public) |
| 8080 | Panou de Configurare | HTTP Basic Authadmin / pureaware |
| 8081 | Încărcare Firmware OTA | Niciuna |
| 8082 | Încărcare Afișaj Nextion | Niciuna |
Dashboard-ul de stare prezintă un design responsiv cu temă întunecată, citiri ale senzorilor în timp real, grafice istorice pe 24 de ore și suport multilingvistic pentru interfață (5 limbi).
V1.001 folosește un client MQTT complet asincron (non-blocant, bazat pe AsyncClient). Dispozitivul publică datele senzorilor ca JSON către un broker MQTT la un interval configurabil.
| Parametru | Implicit | Descriere |
|---|---|---|
| Activare MQTT | Dezactivat | Comutare publicare MQTT |
| Server | broker.emqx.io | Numele gazdei sau IP-ul broker-ului |
| Port | 1883 | Portul TCP al broker-ului |
| Utilizator | gol | Nume utilizator pentru autentificare (opțional) |
| Parolă | gol | Parolă pentru autentificare (opțional) |
| Topic | hostname | Topic de bază pentru publicare |
| Nume Senzor | gol | Nume descriptiv inclus în payload-ul JSON |
| Interval | 60 secunde | Interval de publicare (minim 10 secunde) |
Dispozitivul publică pe un topic construit din topic-ul de bază configurat, sufixul adresei MAC a dispozitivului și un sufix /data:
{topic}/{mac6}/data
De exemplu, dacă topic-ul de bază este PureAware_Office și sufixul MAC al dispozitivului este 8a0de8:
PureAware_Office/8a0de8/data
mac6 reprezintă ultimele 6 cifre hexazecimale ale adresei MAC ESP32. Aceasta asigură că fiecare dispozitiv are un topic de publicare unic chiar și atunci când partajează același topic de bază.
Pentru testare rapidă, folosiți broker-ul public gratuit EMQX:
| Parametru | Valoare |
|---|---|
| Server | broker.emqx.io |
| Port | 1883 (TCP) / 8083 (WebSocket) |
| URL WebSocket | ws://broker.emqx.io:8083/mqtt |
| Utilizator | emqx |
| Parolă | public |
PureAware oferă aplicații de monitorizare companion care se conectează la același broker MQTT prin WebSocket și afișează date live de la toate dispozitivele descoperite:
monitor_remote.html în orice browser web (inclus în pachetul produsului)PureAware_Monitor_Setup.exe (aplicație desktop autonomă)PureAware_Monitor_V1.apk pe dispozitivul AndroidToate cele trei aplicații descoperă automat dispozitivele abonându-se la {topic}/# și afișează carduri live cu valori ale senzorilor, insigne AQI, praguri colorate și detecție timeout.
În setările aplicației de monitorizare, configurați:
| Setare | Valoare |
|---|---|
| Broker | ws://broker.emqx.io:8083/mqtt (sau URL-ul WebSocket al broker-ului dvs.) |
| Topic | Același topic de bază configurat pe dispozitiv |
| Utilizator / Parolă | Credențiale broker (dacă sunt necesare) |
Protocol Zabbix Sender asincron cu un timer dedicat.
| Parametru | Implicit |
|---|---|
| Server Zabbix | monitor.microelemente.ro |
| Port Zabbix | 55051 |
| Hostname | PureAware_Default |
| Interval | 60 secunde |
Dispozitivul implementează un server BACnet/IP minimal conform ASHRAE 135-2020, Anexa J, pe portul UDP 47808.
Activați prin pagina web de configurare. ID-ul instanței dispozitivului este derivat implicit din adresa MAC, sau poate fi setat manual (interval: 1–4.194.302).
| Obiect | Instanță | 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 | Temperatură | °C |
| AI 6 | 6 | Umiditate | %RH |
| AI 7 | 7 | Presiune | hPa |
Producător: MICRO-ELEMENTS S.R.L.
Server Modbus TCP asincron pe portul 502, suportând până la 3 clienți simultani cu timeout de inactivitate de 60 de secunde.
| Registru | Parametru | Unitate | Note |
|---|---|---|---|
| 0 | Tip Dispozitiv | — | Fix: 1 |
| 1 | PM1.0 | µg/m³ | Întreg |
| 2 | PM2.5 | µg/m³ | Întreg |
| 3 | PM4.0 | µg/m³ | Întreg |
| 4 | PM10 | µg/m³ | Întreg |
| 5 | Temperatură | °C × 10 | de ex. 235 = 23,5°C |
| 6 | Umiditate | %RH × 10 | de ex. 654 = 65,4% |
| 7 | CO2 | ppm | Întreg |
| 8 | Presiune | hPa × 10 | de ex. 10132 = 1013,2 hPa |
Dispozitivul suportă 3 alarme independente cu histereză, notificări email și o mașină de stări.
| Parametru | Descriere |
|---|---|
| Activat | Activare/dezactivare alarmă |
| Parametru | Valoare monitorizată: co2, pm25, pm1, pm4, pm10, temp, hum, press |
| Prag de Declanșare | Valoarea la care se declanșează alarma |
| Histereză | Bandă moartă pentru rearmare (previne oscilația) |
| Direcție | 1 = peste prag, 0 = sub prag |
OK ──► Armată ──► Declanșată ──► Rearmată ──► OK
(valoarea intră (pragul (valoarea revine
în bandă moartă) depășit) sub histereză)
| Parametru | Implicit | Descriere |
|---|---|---|
| Activare Email | Dezactivat | Comutare globală email |
| Server SMTP | gol | de ex., smtp.gmail.com |
| Port SMTP | 587 | 587 (STARTTLS) sau 465 (SSL) |
| TLS | Activat | STARTTLS sau SSL implicit |
| Utilizator | gol | Utilizator autentificare SMTP |
| Parolă | gol | Parolă autentificare SMTP |
| De la | gol | Adresa email expeditor |
| Către | gol | Adresa email destinatar |
Programați deconectarea automată a WiFi-ului în anumite ore pentru economisirea energiei sau conformarea cu politicile EMF:
| Parametru | Implicit | Descriere |
|---|---|---|
| Activare | Dezactivat | Comutare programare repaus |
| Oră de Început | 22:00 | Ora dezactivării WiFi |
| Oră de Sfârșit | 06:00 | Ora activării WiFi |
Dispozitivul menține două niveluri de înregistrare a datelor:
day0.csv până la day6.csvDispozitivul sincronizează ora prin NTP când WiFi-ul este disponibil. Trei niveluri de rezervă asigură că marcajele temporale sunt întotdeauna prezente:
http://<ip>:8081.binLa fiecare 24 de ore, dispozitivul verifică https://update.microelemente.ro/firmware.bin pentru firmware nou.
Descărcările sunt salvate intermediar în LittleFS înainte de flashuire, protejând împotriva descărcărilor incomplete.
Afișajul opțional Nextion HMI prezintă datele senzorilor în timp real. Conectați prin Serial2 (GPIO 14/27 la 115200 baud).
Încărcați firmware-ul afișajului (pureaware_v3.tft) prin interfața web pe portul 8082.
| Culoare/Model | Semnificație |
|---|---|
| Verde (continuu) | Funcționare normală, WiFi conectat |
| Albastru (continuu) | Mod AP activ |
| Roșu (continuu) | Eroare / defecțiune senzor |
| Galben (intermitent) | Conectare WiFi în curs |
| Stins | LED dezactivat sau mod OFFLINE |
Interfața web și notificările email suportă 5 limbi:
Setați limba prin pagina web de configurare. Implicit: en.
| Simptom | Cauză Posibilă | Soluție |
|---|---|---|
| Rețea WiFi invizibilă | Nu este în modul AP | Apăsați butonul Config |
| Nu se poate accesa interfața web | Port sau IP greșit | Folosiți http://<ip> pe portul 80 sau 8080 |
| Toate valorile senzorilor sunt 0 | SEN63C neinițializat | Așteptați 60s; verificați cablarea I2C Bus 1 |
| Presiunea indică 0 | MS5637 deconectat | Verificați I2C Bus 2 (GPIO 33/32) |
| BACnet nu răspunde | Neactivat sau fără WiFi | Activați în configurare; verificați că portul 47808 nu este blocat |
| Timeout Modbus | Număr maxim de clienți atins | Reduceți conexiunile (max 3) |
| Email-ul nu se trimite | Credențiale SMTP greșite | Verificați serverul, portul, TLS, credențialele |
| Dispozitivul repornește aleatoriu | Timeout watchdog (50s) | Verificați sursa de alimentare; verificați că I2C nu este blocat |
| Fișiere jurnal lipsă | LittleFS nemontat | Re-flashuiți cu schema corectă de partiții |
| mDNS nu rezolvă | Routerul blochează mDNS | Folosiți direct adresa IP sau activați SSDP |
Pentru a restaura setările implicite din fabrică:
esptool.py --port COMx erase_region 0x9000 0x5000