Files
formation-arduino/README.md
T
2026-10-18 16:38:02 +02:00

86 lines
3.4 KiB
Markdown

# Formation Arduino (ESP32-S3)
Support de formation en 13 modules (00 à 12) plus une synthèse du matériel.
Les sources sont en Markdown [Quarto](https://quarto.org) (`modules/*.qmd`) et produisent des PDF.
| Fichier | Sujet |
|---|---|
| `00-installation` | Installation de l'environnement |
| `01-architecture` | Découverte du microcontrôleur ESP32-S3 |
| `02-gpio-neopixel` | Entrées/sorties numériques et LED NeoPixel |
| `03-pwm-adc` | Signaux analogiques : PWM et ADC |
| `04-serie-debug` | Communication série et débogage |
| `05-i2c-spi` | Bus I2C et SPI |
| `06-interruptions-timers` | Interruptions matérielles et timers |
| `07-wifi` | Wi-Fi : station, point d'accès, client HTTP |
| `08-serveurweb` | Serveur web embarqué |
| `09-ble` | Bluetooth Low Energy |
| `10-energie` | Gestion de l'énergie |
| `11-mqtt` | IoT et MQTT |
| `12-projetfinal` | Projet final |
| `synthese-materiel` | Synthèse et liste de matériel |
## Générer les documents sans ligne de commande
Après avoir téléchargé le dépôt (bouton « Télécharger » → ZIP, puis décompresser), double-cliquez sur le fichier
correspondant à votre système :
| Système | Fichier à lancer |
|---|---|
| Windows | `Generer-documents.bat` |
| macOS | `Generer-documents.command` (la première fois : clic droit → Ouvrir, pour passer l'avertissement de sécurité) |
| Linux | `generer-documents.sh` (clic droit → « Exécuter comme un programme », ou `./generer-documents.sh` dans un terminal) |
Une fenêtre s'ouvre et vous guide :
1. elle vérifie que **Python** et **Quarto** sont installés, et propose de les installer automatiquement sinon ;
2. elle prépare l'environnement Python des schémas (dossier `.venv`, une seule fois) ;
3. elle vous demande le **format** (PDF, LibreOffice .odt ou site web HTML) et les **supports** à produire
(tous, ou un seul module) ;
4. elle génère les documents et ouvre le dossier `_output/modules` qui les contient.
Il suffit de taper le numéro de votre choix puis Entrée (Entrée seul = choix par défaut).
## Organisation
```
modules/ sources des supports (.qmd)
scripts/ assistant de génération (appelé par les fichiers Generer-documents.*)
modele/ gabarit PDF (Typst) et thème de coloration du code
schemas/ schémas décrits en Python (schemdraw + matplotlib), rendus en svg/ et png/
_quarto.yml configuration du projet
_output/ PDF générés (non versionnés)
```
## Produire les PDF
Prérequis : [Quarto](https://quarto.org/docs/get-started/) (inclut Pandoc et Typst).
```
quarto render # tous les supports
quarto render modules/03-pwm-adc.qmd # un seul support
```
Les PDF sont créés dans `_output/modules/`.
Pour obtenir aussi du Word ou de l'ODT, ajouter `docx:` ou `odt:` sous `format:` dans `_quarto.yml`.
## Modifier ou ajouter un schéma
Les images de `schemas/svg/` sont versionnées : il n'est nécessaire de les régénérer que si l'on modifie un schéma.
```
python -m venv .venv
.venv\Scripts\python -m pip install -r schemas/requirements.txt
.venv\Scripts\python schemas\generer.py # ou : generer.py m03
```
Un schéma est une fonction Python déclarée dans `schemas/mXX_*.py` (liste `FIGURES`), puis appelée dans le `.qmd` :
```markdown
![Légende de la figure](../schemas/svg/m03-servo-50hz.svg){#fig-m03-servo-50hz}
```
## Historique
Les supports étaient à l'origine au format `.odt` ; ils restent récupérables via le tag `avant-quarto`.