v1.4.3 — Payload UDP bruit cur_leq + cur_level, améliorations page database

- UDP bytes 22-23: noise_cur_leq, 24-25: noise_cur_level, 26-27: max_noise (réservé)
- Page database: validation dates obligatoire + bouton télécharger toute la table

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
PaulVua
2026-03-16 10:03:08 +01:00
parent e0e8a4cefe
commit 5bffec10a1
3 changed files with 34 additions and 12 deletions

View File

@@ -60,7 +60,7 @@ CSV PAYLOAD (AirCarto Servers)
28 -> envea_O3
CSV FOR UDP (miotiq)
{device_id},{timestamp},{PM1},{PM25},{PM10},{temp},{hum},{press},{avg_noise},{max_noise},{min_noise},{envea_no2},{envea_h2s},{envea_o3},{4g_signal_quality}
{device_id},{timestamp},{PM1},{PM25},{PM10},{temp},{hum},{press},{noise_cur_leq},{noise_cur_level},{max_noise},{envea_no2},{envea_h2s},{envea_o3},{4g_signal_quality}
0 -> device ID
1 -> timestamp
2 -> PM1
@@ -298,14 +298,18 @@ class SensorPayload:
if pressure is not None:
self.payload[20:22] = struct.pack('>H', int(pressure))
def set_noise(self, avg_noise, max_noise=None, min_noise=None):
"""Set noise values (bytes 22-27)"""
if avg_noise is not None:
self.payload[22:24] = struct.pack('>H', int(avg_noise * 10))
def set_noise(self, cur_leq, cur_level, max_noise=None):
"""Set noise values (bytes 22-27)
22-23: noise_cur_leq (dBA × 10)
24-25: noise_cur_level (dBA × 10)
26-27: max_noise (dBA × 10, reserved for future use)
"""
if cur_leq is not None:
self.payload[22:24] = struct.pack('>H', int(cur_leq * 10))
if cur_level is not None:
self.payload[24:26] = struct.pack('>H', int(cur_level * 10))
if max_noise is not None:
self.payload[24:26] = struct.pack('>H', int(max_noise * 10))
if min_noise is not None:
self.payload[26:28] = struct.pack('>H', int(min_noise * 10))
self.payload[26:28] = struct.pack('>H', int(max_noise * 10))
def set_envea(self, no2, h2s, nh3, co, o3):
"""Set ENVEA gas sensor values (bytes 28-37)"""
@@ -974,9 +978,8 @@ try:
#Add data to payload UDP
payload.set_noise(
avg_noise=last_row[2], # DB_A_value
max_noise=None, # Add if available
min_noise=None # Add if available
cur_leq=cur_LEQ, # current LEQ (dBA)
cur_level=cur_level # current level (dBA)
)
#print("Verify SARA connection (AT)")