PHENOXSEED ESP32-S3 · fw 2.4.1
{{ linkLabel }} {{ linkAge }}
RTC 14:32:07 · 08/09/2026 11,8 Go libres / 32 Go
{{ healthLabel }}
{{ alertCount }}
{{ it.label }} {{ it.badge }}
Wi-Fi local isolé
192.168.4.1
Étalonnage en cours · {{ calRunName }} {{ calRunScope }} Temps restant estimé {{ calRunLeft }} Système verrouillé : ni nouvelle expérience, ni contrôle manuel.
Mode maintenance actif Contrôle manuel total. Les sécurités automatisées sont désactivées.
{{ gasEmptyLab }} depuis 10:04 En attente
Ch {{ w.ch }} · {{ w.since }}
Aucune chambre en attente · système au repos
Niveau d'eau faible depuis 09:47 Boîte d'humidification à remplir
{{ g.v }} {{ g.k }}
reason= Ressource occupée par l'étalonnage · création d'expérience et contrôles manuels indisponibles jusqu'à la fin de la routine.

Expériences en cours

Toutes les chambres occupées
Aucune expérience en cours
{{ r.name }}
Chambre {{ r.ch }} {{ r.state }}
O₂ {{ r.o2 }} % {{ r.timeLab }} {{ r.barPct }}
{{ r.spLab }} {{ r.spSub }} {{ r.foot }}

Chambres

CHAMBRE {{ c.n }} En maintenance
{{ c.exp }}
{{ c.o2 }} %O₂ {{ c.age }}
{{ c.t }} °C {{ c.rh }} %HR il y a 47 s
Chambre {{ c.n }} · non connectée

Consommables

Eau {{ waterState }}
Gaz {{ bottleState }}
Consommation
128,4 {{ gasCumLab }}
depuis la remise à zéro du 04/09 08:12
Reste théorique calculé, non mesuré
34 %
50 L × 200 bar → 10 000 L détendus · 128,4 L consommés

Chambre {{ selN }}

Page en observation seule · les commandes sont dans Contrôle manuel
{{ t.label }} {{ t.tag }}
Rien à voir ici
Expérience en cours {{ selName }} {{ selMode }} {{ selFoot }}
{{ selTimeLab }} {{ selBarPct }}
Voir l'expérience →
Oxygène mesuré
{{ selO2 }} %O₂ il y a 2 s
cellule 0x48 · ADS1115 · 21 942 pts
Mesure masquée
gaz non homogène pendant cette phase
{{ phaseK }}
{{ phaseSub }}
Température
22,4 °C
SHT30 · 0x44
Humidité
41 %HR
SHT30 · 0x44
Dérive O₂
{{ drift.v }} %O₂/min
fenêtre 10 min
Ventilateur de mélange
{{ fan.state }}
FAN-EN
LED
{{ lit.pct }} % intensité
PCA9634 · 0x40
Dernière image08/09 14:15 · cam 2
image caméra 1600×1200 /sd/run0044/ch1/cam2/0431.jpg
Dernière image · caméra 2 08/09 14:15 ×
image caméra 1600×1200 /sd/run0044/ch1/cam2/0431.jpg

Contrôle manuel

MAINTENANCE · {{ maintCard.chip }} Le mode maintenance s'active dans Diagnostic Actions journalisées dans la console
{{ t.label }} {{ t.tag }}
{{ gasA.title }} {{ gasA.hint }} {{ gasA.msg }}
{{ c.k }} {{ c.ref }} {{ c.v }} {{ c.unit }}
{{ gasB.title }} {{ gasB.hint }} {{ gasB.msg }}
{{ v.k }}
{{ v.state }}
{{ gasC.title }} {{ gasC.hint }} {{ gasC.msg }}
LEDs de statut
{{ l.k }} {{ l.state }}
{{ gasD.title }} {{ gasD.hint }} déverrouillé en permanence
{{ v.k }}
{{ v.v }} {{ v.u }}
Air et argon · valeurs instantanées, aucun actionneur sollicité.
Période
Durée (ms)
Buzzer de l'unité gaz · utile pour localiser le banc.
Rien à voir ici
{{ chA.title }} {{ chA.hint }} {{ chA.msg }}
Luminosité des LEDs de croissance {{ chLight.v }} % PWM
Ventilateur de mélange
{{ chFan.state }}
ON / OFF
{{ chB.title }} déverrouillé en permanence
{{ v.k }}
{{ v.v }} {{ v.u }}
O₂, température et humidité relative · lecture instantanée, sans effet sur la régulation.
{{ chC.title }} {{ chC.hint }} {{ chC.msg }}
Identifie physiquement l'enceinte devant laquelle vous vous trouvez.

Expériences

{{ t.label }}
Une expérience par chambre · chambre 4 libre, chambre 5 non connectée.
{{ r.name }}
Chambre {{ r.ch }} {{ r.state }}
O₂ {{ r.o2 }} % {{ r.timeLab }} {{ r.barPct }}
{{ r.spLab }} {{ r.spSub }} {{ r.foot }}
Dernière expérience terminée de chaque chambre.
{{ d.name }}
Chambre {{ d.ch }} {{ d.state }}
O₂ {{ d.o2 }} % {{ d.timeLab }} {{ d.barPct }}
{{ d.spLab }} {{ d.spSub }} {{ d.foot }}
Du au Consigne O₂
{{ f.v }}
{{ histCount }} résultats
ChambreExpérienceFinDuréeConsigne O₂GazImages
Chambre {{ h.ch }} {{ h.name }} {{ h.end }} {{ h.dur }} {{ h.sp }} % {{ h.gas }} L {{ h.imgs }}
← Toutes
{{ dName }} Chambre {{ dCh }} En cours
Lancée 05/09 09:41
Reste {{ dLeftD }}j {{ dLeftH }}h {{ dLeftMn }}min
{{ dPctLab }} · jour {{ dDay }} / {{ dDays }}
Axe temporel unifié O₂ · consigne · T° · HR · évènements déplacez le curseur pour synchroniser les images
Historique des doses {{ dName }} · chambre {{ dCh }} Dernière dose il y a {{ lastDose.ago }} ×
{{ d.t }} {{ d.gas }} {{ d.why }} {{ d.dur }} s {{ d.vol }} {{ d.deltaAbs }} %O₂
O₂ mesuré (%) consigne O₂ (%) T° (°C) · axe gauche du bas HR (%) · axe droit du bas dose panne capture au flash (nuit) Voir l'historique des doses
{{ ch.gO2Els }} maintenant oxygène (%) {{ ch.gTREls }} T° (°C) · axe gauche HR (%) · axe droit {{ ch.dayLabEls }} temps (jours depuis le lancement) {{ ch.hvEls }}
{{ dName }} Axe temporel unifié · O₂ · consigne · T° · HR · évènements Survolez le tracé pour lire les valeurs ×
{{ chFS.gO2Els }} maintenant oxygène (%) {{ chFS.gTREls }} T° (°C) · axe gauche HR (%) · axe droit {{ chFS.dayLabEls }} temps (jours depuis le lancement) {{ chFS.hvEls }}
j0 maintenant
{{ curTime }} O₂ {{ curO2 }} % consigne {{ curSp }} % {{ curT }} °C {{ curRh }} %HR
{{ s.labEl }}
{{ s.t }}
Paramètres de l'expérience
{{ p.k }}
{{ p.v }}
Images {{ dImgLab }} {{ dImgPct }}
{{ dImgLeft }} images restantes · 3 caméras toutes les 15 min
Consommation
Réel41,9 L
Estimé à ce stade38,2 L
Écart +9,7 % · fuite probable sur le joint de couvercle.
{{ lb.lab }} {{ lb.t }} {{ lb.file }}
image caméra 1600 × 1200 cliquez à l'extérieur pour fermer
← Expériences

Nouvelle expérience

{{ s.mark }} {{ s.label }}
1 · Chambre
Chambre {{ p.n }}
{{ p.sub }}
Nom de l'expérience
2 · Durée
{{ m.label }}
Fin le 22/09/2026 à 14:32 · 336 h · 1 344 images par caméra.
{{ advCsvMark }} Avancé
{{ p.label }} {{ p.unit }} plage {{ p.range }}
{{ p.tip1 }}
Impact : {{ p.tip2 }}
{{ p.tip3 }}
3 · Oxygène
Consigne unique ou profil dans le temps.
{{ m.label }}
Consigne fixe
%O₂
Interpolation
{{ m.label }}
clic = ajouter · glisser = déplacer · pas 15 min
{{ eO2.gyEls }} {{ eO2.gxEls }} consigne O₂ (%) temps (jours depuis le lancement) {{ eO2.tipEl }}
Pente physique maximale 3,5 %O₂/h · un segment hors limite passe en rouge et bloque le lancement.
hmin%O₂Pente
{{ r.slope }}
{{ advO2Mark }} Avancé
{{ p.label }} {{ p.unit }} plage {{ p.range }}
{{ p.tip1 }}
Impact : {{ p.tip2 }}
{{ p.tip3 }}
Calibration avant lancement {{ calibLab }} ajoute ≈ 20 min
4 · Éclairage
LED pilotée en PWM par le LEDDRIVER de la chambre.
{{ m.label }}
Intensité fixe
% PWM
0 % = LED éteinte · 100 % = pleine puissance. L'intensité reste constante pendant toute la photopériode.
Interpolation
{{ m.label }}
clic = ajouter · glisser = déplacer · pas 15 min
{{ eL.gyEls }} {{ eL.gxEls }} intensité (%) temps (jours depuis le lancement) {{ eL.tipEl }}
hmin%Pente
{{ r.slope }}
5 · Caméras
Trois caméras par chambre, réveillées individuellement.
{{ c.mark }} Caméra {{ c.n }}
{{ c.sub }}
{{ c.calLab }}
Capture
Cadence d'images
{{ u.label }}
3 caméras × 1 344 images × 0,45 Mo ≈ 1,77 Go sur les 11,8 Go libres.
{{ camUncalMsg }} Les images mettront 30 secondes à s'ajuster et les couleurs seront automatiques.
Capture en période d'obscurité
Que faire si une capture est planifiée pendant une période d'obscurité ?
{{ o.label }} {{ o.sub }}
{{ advCamMark }} Avancé
{{ p.label }} {{ p.unit }} plage {{ p.range }}
{{ p.tip1 }}
Impact : {{ p.tip2 }}
{{ p.tip3 }}
Niveau de compression appliqué à chaque image enregistrée.
Impact : 4 conserve le plus de détail pour la mesure de germination mais remplit la carte SD ; 10 produit des fichiers trois fois plus légers au prix d'artefacts sur les jeunes racines.
Échelle 4 – 10 · 7 recommandé pour une série de deux semaines.
Compression JPEG
4 5 6 7 8 9 10
plus de détail fichier plus léger
{{ jpegQ }}
6 · Résumé & lancement
Vérifiez avant d'immobiliser la chambre pour 14 jours.
{{ g.title }}
{{ i.k }} {{ i.v }}
Profil d'oxygène personnalisé
{{ sumGYEls }} {{ sumGXEls }} O₂ (%) temps (jours)
Profil d'éclairage personnalisé
{{ sumGYLEls }} {{ sumGXEls }} PWM (%) temps (jours)
Estimation
{{ e.k }} {{ e.v }} {{ e.u }}
{{ w.txt }}

Diagnostic

{{ healthLabel }}
Alertes & défauts actifs {{ alertCount }}
{{ a.scope }} {{ a.k }}
{{ a.sub }}
Aucune anomalie détectée
Mode maintenance {{ maintCard.chip }}
{{ maintCard.sub }}
{{ t.label }}
État du système & stockage
Carte SD Présente
Montée (niveau 0 : 4-bit @ 40 MHz) · 29,8 Go libres
{{ d.k }} {{ d.addr }}
{{ d.sub }}
{{ d.v }}
Verdict du test au démarrage
{{ v.k }} {{ v.v }}
Santé électrique & intégrité des bus I²C
{{ g.k }} {{ g.note }}
{{ r.lab }} {{ r.mv }} mV
{{ b.k }} {{ b.state }}
Non-réponses (NACK) : {{ b.nack }} Erreurs : {{ b.err }}
Vérifiez la masse (GND) sur tous les équipements du bus.
{{ busTitle }} {{ busCnt }} présent manquant
{{ d.k }} {{ d.addr }} MANQUANT NON INSTALLÉE
{{ m.k }} {{ m.addr }}
{{ c.k }} enceinte non installée
{{ d.k }} {{ d.addr }} MANQUANT NON INSTALLÉE

Étalonnage

{{ calRunName }} en cours · {{ calRunScope }} reste {{ calRunLeft }} Aucune autre routine ne peut être lancée.
{{ t.label }}

Routines globales

{{ c.scope }} {{ c.mode }} facultatif
{{ c.title }}
{{ c.desc }}
{{ c.cst }}
{{ c.time }} {{ c.gas }}

Routines par chambre

{{ c.scope }} {{ c.mode }} facultatif
{{ c.title }}
{{ c.desc }}
{{ c.cst }}
{{ c.time }} {{ c.gas }}
Gaz de purge utilisé par l'unité de mélange gcfInert · EEPROM 0x50
Le gaz inerte est utilisé pour abaisser le taux d'oxygène. Le débitmètre nécessite un facteur de correction différent selon la densité du gaz choisi.
gcfInert · facteur de conversion
Sélection du gaz inerte appliqué aux six chambres
{{ g.label }} {{ g.sub }}
Facteur de correction (multiplier) gcfInert · {{ gasFacNote }}
Modification manuelle des constantes d'instrument EEPROM 0x50 · M24256
{{ p.label }} {{ p.tag }}
{{ p.why }}
{{ calScopeLab }}
{{ f.t }}
{{ f.ref }} · {{ f.uLab }}
{{ f.k }}
{{ f.ref }}
{{ f.u }}
Tables d'anticipation
{{ t.t }}
{{ t.ref }} · {{ t.uLab }}
{{ t.k }}
{{ t.ref }} · {{ t.n }}
{{ tblTitle }} {{ tblRef }} · {{ tblMeta }} ×
# {{ tblColX }} {{ tblColY }}
{{ r.i }}
{{ tblDirtyLab }}
{{ calDirtyLab }} Valeurs identiques à celles écrites en EEPROM.
{{ calScopeTag }}

{{ calTitle }}

{{ calTarget }}
{{ st.n }} {{ st.label }}
Ce que fait cette routine
{{ calDesc }}
Quand la réaliser
{{ calWhen }}
Critère d'acceptation
{{ calCrit }}
Chambres à étalonner {{ calNSelLab }}
{{ p.label }} {{ p.tag }}
{{ calExec }} {{ calExecNote }}
Sélectionnez au moins une chambre pour continuer.
Chambre de refoulement une seule chambre, utilisée comme volume de test
Les routines globales poussent le gaz à travers une chambre : elle doit être libre et connectée.
{{ p.label }} {{ p.tag }}
Choisissez une chambre de refoulement libre pour continuer.
Coût de la routine
Temps estimé {{ calTime }}
Consommation de gaz {{ calGas }}
Base : {{ calBaseTime }} · {{ calBaseGas }} Cible : {{ calTarget }} Constantes écrites : {{ calCst }}
Configuration exigée
{{ p }}
Préparation matérielle
Seules les actions physiques sont listées ici. Le bouton Suivant reste inactif tant que toutes les cases ne sont pas cochées.
{{ c.label }}
Toutes les cases doivent être cochées avant de continuer.
Coût de la routine
Temps estimé {{ calTime }}
Consommation de gaz {{ calGas }}
Cible : {{ calTarget }} · base {{ calBaseTime }}
{{ calExec }}
Géré par le firmware
{{ x }}
Ces points ne sont pas à valider par l'opérateur : la routine s'en charge ou se bloque d'elle-même.
Le système est prêt
La préparation matérielle est confirmée. L'étalonnage {{ calTitle }} sur {{ calTarget }} prendra {{ calTime }} et consommera {{ calGas }}.
Pendant toute la routine, le banc est verrouillé : aucune expérience ne peut être créée et les contrôles manuels sont indisponibles. L'étalonnage reste annulable depuis le bandeau du Dashboard.
Le lancement redirige vers le Dashboard.
Récapitulatif
{{ c.label }}
Constantes écrites en fin de routine : {{ calCst }}

Console

flux brut du firmware · parité stricte avec l'interface
/dev/ttyUSB0 · 115200 attaché
{{ l.t }}{{ l.tag }}{{ l.m }}
> help · ch n run|light|fan|cal · gas reset · exp new|stop · estop

Caméras

18 caméras · 1 seule éveillée à la fois Cliquez un nœud de la carte pour le piloter
{{ r.label }} Non connectée
{{ n.lab }} {{ n.stateLab }}
{{ camFwLab }}
{{ camWiringMsg }}
{{ camSelTitle }} {{ camStatus }}
{{ camLockMsg }}
{{ t.label }}
Capture
photo de test 1600 × 1200
Aucune image en mémoire
{{ camShotFile }}
Informations et télémétrie
{{ t.k }}
{{ t.v }} {{ t.u }} {{ t.note }}
Télémétrie disponible une fois la caméra éveillée : RSSI, capteur, firmware et adresse MAC.
Association matérielle
MAC {{ camMacLab }}
Photo de test capturée {{ camPairMac }}
aperçu en direct · 1600 × 1200
Étalonnage photométrique
Intensité lumineuse de capture %
Placez une feuille blanche de référence sous la caméra avant de lancer.
{{ camCalMixedMsg }}
Éveillez la caméra pour lancer l'étalonnage.
Avant
teinte +2 400 K
Après
neutre · gris 18 %
{{ camCalSavedMsg }}
Mise à jour sans fil (OTA)
L'unité centrale envoie le fichier à la caméra. Le succès n'est confirmé qu'après redémarrage.
Déposez le fichier .bin ici
Éveillez la caméra pour lui envoyer un firmware.
{{ camOtaFile }} ×
{{ camOtaPct }}
{{ camOtaStage }}
Caméra redémarrée · firmware v1.4.0 confirmé. ×
{{ camSelTitle }} {{ camShotFile }}
photo de test 1600 × 1200 cliquez à l'extérieur pour fermer

Fichiers

Carte SD · lecture et téléchargement
Stockage 12 Go / 32 Go utilisés
20 Go libres · classe A2, écriture 44 Mo/s
{{ c.lab }}
{{ fCountLab }}
NomTaille
{{ i.n }} {{ i.size }}
Dossier vide
Confirmer la suppression
Êtes-vous sûr de vouloir supprimer {{ fDelName }} ? Cette action est irréversible et supprimera ces données de l'expérience.

Paramètres

Matériel et nomenclature des fichiers
Comportement du système
Alarmes sonores et afficheurs locaux de l'instrument.
Alarmes sonores (buzzer)
{{ t.label }}
{{ t.desc }}
Affichages locaux (écrans OLED)
{{ t.label }}
{{ t.desc }}
Nomenclature des fichiers
Construisez les noms de dossiers et d'images à l'aide de balises dynamiques et de texte libre.
Répertoire de l'expérience
Aperçu {{ stDirPrev }}
Noms des fichiers images
Aperçu {{ stImgPrev }}
Modification de la nomenclature impossible
Expériences actuellement en cours sur la machine.
{{ stubTitle }}
Écran non maquetté dans cette itération.
Flux temps réel interrompu · dernières données figées il y a 18 s Valeurs non fiables · l'arrêt d'urgence reste actif
PHENOXSEED 14:32
Bouteille vide · Ch 6 attend depuis 4 h 28, Ch 2 depuis 41 min
6 chambres 128,4 L consommés · SD 11,8 Go
CH {{ c.n }} {{ c.fault }}
{{ c.exp }}
{{ c.status }}
{{ c.t }} °C · {{ c.rh }} %HR · {{ c.cams }}/3 cam.
{{ c.o2 }} %O₂
{{ c.age }}
CH {{ c.n }}
Non connectée
Création et étalonnage indisponibles
Le wizard d'expérience, l'étalonnage et les fichiers nécessitent un ordinateur. Ce mode affiche la télémétrie et l'arrêt d'urgence.
{{ m.label }}
Mobile · télémétrie & urgence
Largeur 390 px, cibles 44 px. Chaque chambre porte son expérience affectée ; le chiffre %O₂ reste le plus grand élément de l'écran, lisible à bout de bras devant la machine.