v1.10.1: OTA installe les deps pip + filtre lectures parasites CCS811
Découvert en vérif SSH sur nebuleair-pro100 : le timer CCS811 échouait en ModuleNotFoundError car l'OTA fait git pull mais ne réinstallait jamais les dépendances pip (installation_part1.sh ne tourne qu'à l'install neuve). - requirements.txt: source unique de vérité des deps Python - installation_part1.sh: install via requirements.txt (chemin relatif au script, le repo n'est pas encore cloné dans /var/www à cette étape) - update_firmware.sh: nouvelle étape 2a, pip install -r requirements.txt (idempotent) -> les capteurs déjà déployés récupèrent les libs manquantes à l'OTA - CCS811/write_data.py + get_data.py: skip des lectures eCO2 < 400 ppm (échantillon 0/0 parasite juste après init du driver, plancher physique = 400) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -78,6 +78,13 @@ def main():
|
||||
eco2 = int(ccs811.eco2)
|
||||
tvoc = int(ccs811.tvoc)
|
||||
|
||||
# eCO2 has a physical floor of 400 ppm. Just after the driver (re)inits,
|
||||
# the CCS811 can return a 0/0 sample before its first valid measurement is
|
||||
# ready — those are spurious, drop them (next 10 s tick will retry).
|
||||
if eco2 < 400:
|
||||
print(f"CCS811: reading not settled (eCO2={eco2}), skipping.")
|
||||
return
|
||||
|
||||
cursor.execute("SELECT last_updated FROM timestamp_table LIMIT 1")
|
||||
row = cursor.fetchone()
|
||||
rtc_time_str = row[0]
|
||||
|
||||
Reference in New Issue
Block a user