- Natto 🫘 - Fermentation soja (42°C, 24h)
- Tempeh 🟫 - Fermentation soja/légumineuses (32°C, 36h)
- Koji Riz 🍚 - Fermentation aspergillus (30-32°C, 48h)
- Kombucha 🧪 - Fermentation SCOBY (26°C, 7 jours)
- Yaourt 🥛 - Fermentation lactique (43°C, 8h)
- Kimchi 🌶️ - Lactofermentation légumes (20°C, 48h)
- Lactoferment. 🥒 - Légumes fermentés (22°C, 72h)
- Miso 🥣 - Pâte de soja fermentée (28°C, 30 jours)
- Vinaigre 🍯 - Acétification (28°C, 14 jours)
- Désydra. 💨 - Déshydratation (45°C, 12h)
- Manuel ⚙️ - Configuration libre
- Température (3 sondes + 1 SHT40)
- Humidité relative
- Ventilation interne/extraction
- Chauffage/humidification
- Design LCARS Star Trek
- Écran tactile optimisé
- Clavier virtuel intégré
- Préréglages sur 2 lignes
- Historique et notes
Le MAX6675 est lu directement par GPIO : VCC sur 3,3 V (pin 17), GND (pin 9),
SCK sur GPIO11 (pin 23), CS sur GPIO8 (pin 24) et SO sur GPIO9 (pin 21).
La sonde type K se branche sur T+ et T-. SPI n'a pas besoin d'être activé dans
raspi-config pour cette implémentation.
L'EM5820 est alimentée séparément en 5 V (4 A recommandé) et reliée au
Raspberry Pi par USB. Elle est détectée comme /dev/usb/lp0 et reçoit des
commandes ESC/POS via le module indépendant printer.
Le compte qui lance Flask doit appartenir au groupe lp :
sudo usermod -aG lp pi
sudo rebootLe périphérique peut être remplacé avec la variable THERMAL_PRINTER_DEVICE.
La couche physique reste indépendante du moteur de recettes.
L'onglet Recettes permet de créer, valider, prévisualiser et imprimer des
fichiers .trn. Le moteur transforme chaque fichier en graphe de recette, puis
en tableau monochrome de 384 dots avant de l'envoyer à l'EM5820.
- Grammaire et exemple :
doc/FORMAT-RECETTES-TRN.md - Modèle vierge :
doc/template-recette.trn - Mission prête pour un agent :
doc/TEMPLATE-AGENT-RECETTES.md - Recettes enregistrées :
recipes_data/
Lancer les tests sans utiliser l'imprimante :
python3 -m unittest discover -s tests -v
node --test tests/test_roon_daily_report.jsAu lancement, scripts/roon_daily_report.js écoute les événements
now-playing-updated de Songr sur le port 3333 et mémorise chaque changement
réel de morceau. À minuit (heure de Paris), il imprime la liste chronologique
complète de la journée, sans pochette. Un rapport manqué pendant un arrêt est
imprimé au redémarrage suivant.
L'en-tête indique la date longue en français, le nombre de pistes et leur durée
cumulée, puis laisse deux lignes blanches avant la liste chronologique.
Chaque piste tient sur une seule ligne compacte sous la forme
heure · titre · album · artiste, avec une taille identique et aucun interligne
supplémentaire.
Le titre est limité à 28 caractères, ellipse comprise.
Dans chaque ligne, le morceau est en italique, l'album est souligné et
l'artiste est en gras.
Le journal est stocké hors du dépôt dans
/home/pi/.local/state/protein-resequencer/roon-daily-report.json. Par défaut,
toutes les zones sont surveillées. ROON_PRINT_ZONE_IDS permet de fournir une
liste d'identifiants de zones séparés par des virgules. Les logs sont dans
/tmp/protein-resequencer-roon-report.log.
Une extension Roon directe de lecture seule surveille la bibliothèque toutes les 5 minutes. Le premier passage établit une référence sans rien imprimer. Les albums apparus ensuite sont mémorisés avec leur pochette. À 00h05 (heure de Paris), un ticket « Ajouté aujourd'hui » récapitule les ajouts de la journée terminée. Aucun ticket ne sort s'il n'y a eu aucun ajout, et un ticket manqué est imprimé au redémarrage suivant. L'année n'est affichée que si Roon la fournit ; aucune mention « année inconnue » n'est ajoutée.
L'extension doit être autorisée une fois dans Roon > Réglages > Extensions.
Son état est conservé dans
/home/pi/.local/state/protein-resequencer/roon-daily-additions.json et son
journal est /tmp/protein-resequencer-roon-additions.log.
# Clone depuis GitHub
git clone https://github.com/CVerde/protein-resequencer.git
cd protein-resequencer
# Permissions
chmod +x *.sh
# Installation des icônes
cp protein-resequencer.desktop ~/Desktop/
cp protein-resequencer-update.desktop ~/Desktop/
chmod +x ~/Desktop/*.desktop
# Lancement
./start.sh- Développement sur Windows avec VS Code
- Commit/Push vers GitHub
- Mise à jour Pi avec l'icône "PR Update & Start"
L'onglet Recettes est conçu pour l'écran tactile : les catégories se parcourent
avec les grandes flèches gauche/droite, puis une grande carte sélectionne la
recette. Modifier la quantité de n'importe quel ingrédient recalcule toutes les
autres quantités proportionnellement. L'impression utilise exactement ce même
facteur, sans modifier le fichier .trn d'origine. Les quantités textuelles sans
nombre (par exemple « une pincée ») restent inchangées.
- 🟢 "Protein Resequencer" - Lancement direct
- 🔄 "PR Update & Start" - Mise à jour depuis GitHub + lancement
- Backend : Flask (Python)
- Frontend : HTML/CSS/JS avec design LCARS
- Données : JSON (historique, préréglages personnalisés)
- Contrôle : GPIO Raspberry Pi
test