# Arduino Uno - pySonnerie Firmware Arduino Uno compatible avec le backend existant. ## Projet PlatformIO Le dossier `arduino/` est un projet PlatformIO: - `platformio.ini` - `src/main.cpp` Configuration par defaut dans `platformio.ini`: - carte: `uno` - framework: `arduino` - liaison serie: `115200` ## Comportement - Ouvre la liaison serie a `115200` bauds. - Sur impulsion detectee, envoie une ligne au format exact: - `GPIO2` - `GPIO4` - Le backend lit ligne par ligne (`readline`) et utilise cette valeur comme `trigger_id`. ## Fichier principal - `src/main.cpp` ## Configuration rapide Dans `src/main.cpp`: - `MONITORED_PINS`: liste des GPIO surveillees - `ACTIVE_LOW`: - `true` si capteur/bouton actif a l'etat bas (montage avec pull-up) - `false` si actif a l'etat haut - `DEBOUNCE_MS`: anti-rebond software ## Cablage typique (bouton) - GPIO configure en `INPUT_PULLUP` - Bouton entre GPIO et GND - Appui => front actif => envoi `GPIOX` ## Cote backend Verifier dans `backend/data/conf.json`: - `serial.enabled: true` - `serial.port`: port reel (`/dev/ttyUSB0`, `/dev/ttyACM0`, ...) - `serial.baudrate: 115200` - Presence des triggers correspondants (`GPIO23`, etc.) ## Test rapide 1. Depuis `esp32/`, compiler: ```bash pio run ``` 2. Flasher l'Arduino Uno (adapter le port): ```bash pio run -t upload --upload-port /dev/ttyUSB0 ``` 3. Ouvrir le moniteur serie (optionnel): ```bash pio device monitor -b 115200 -p /dev/ttyUSB0 ``` 4. Demarrer le backend. 5. Appuyer sur le bouton. 6. Verifier les logs backend: reception `Serial trigger received: GPIOX`. ## Changelog - Le changelog global du projet est dans `../CHANGELOG.md`. - Les regles de mise a jour sont decrites dans `../docs/CHANGELOG_GUIDE.md`.