2.8 KiB
2.8 KiB
Migration Node-RED → JH Photomaton
Ce que remplace JH Photomaton
| Fonctionnalité | Node-RED (avant) | JH Photomaton (après) |
|---|---|---|
| Bouton GPIO23 multi-clic | button-events node |
ButtonService (gpiozero) |
| Relay GPIO12 | Nœud GPIO | ButtonService.relay_on/off() |
| NeoPixels GPIO18 | rpi-neopixels node |
LEDService (rpi_ws281x) |
| Webhooks photobooth-app | /api/photobooth/ |
/api/webhook/photobooth |
| File d'attente impression | SQLite Node-RED | SQLite via PrinterService |
| Dashboard admin | Node-RED Dashboard | /admin — FastAPI + HTML |
| RAM consommée | ~150–300 Mo | ~30–80 Mo (objectif) |
Étapes de migration
1. Installer JH Photomaton
cd /home/pi/jh-photomaton
sudo bash scripts/install.sh
2. Mettre à jour plugin_commander.json
Remplacer ~/.config/photobooth-app/plugin_commander.json par notre version :
cp /home/pi/jh-photomaton/photobooth-app/config/plugin_commander_jh.json \
~/.config/photobooth-app/plugin_commander.json
Redémarrer photobooth-app :
sudo systemctl restart photobooth-app
3. Mettre à jour le share_command "Demande d'impression"
Dans ~/.config/photobooth-app/config.json, modifier l'action de partage :
{
"name": "Demande d'impression",
"processing": {
"share_command": "curl 'http://127.0.0.1:8090/api/print/request?filename={filename}'"
}
}
Ou utiliser la page /admin/actions de JH Photomaton pour éditer directement.
4. Désactiver Node-RED
sudo systemctl stop nodered
sudo systemctl disable nodered
Gain RAM : ~150-300 Mo libérés.
5. Mettre à jour Zoraxy (optionnel)
Changer le sous-domaine photomaton-nodered.lessapinsduweb.com pour pointer vers :8090 au lieu de :1880.
6. Démarrer JH Photomaton
sudo systemctl start jh-photomaton
sudo systemctl status jh-photomaton
Accès admin : http://photomaton-nodered.lessapinsduweb.com/admin
(ou http://10.3.141.1:8090/admin depuis le WiFi Photomaton)
Vérification
# Logs
sudo journalctl -u jh-photomaton -f
# Test bouton (simulation)
curl -X POST http://localhost:8090/api/system/button/simulate?clicks=1
# Test LED
curl -X POST http://localhost:8090/api/leds/effect?effect=countdown
# Test webhook
curl "http://localhost:8090/api/webhook/photobooth?event_key=counting&mediaitem_type=image"
# Statut système
curl http://localhost:8090/api/system/stats
Rollback (retour Node-RED)
sudo systemctl stop jh-photomaton
sudo systemctl disable jh-photomaton
sudo systemctl start nodered
sudo systemctl enable nodered
# Restaurer plugin_commander.json original
cp ~/.config/photobooth-app/plugin_commander.json_backup-* ~/.config/photobooth-app/plugin_commander.json
sudo systemctl restart photobooth-app