86 lines
3.4 KiB
Markdown
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
|
|
{#fig-m03-servo-50hz}
|
|
```
|
|
|
|
## Historique
|
|
|
|
Les supports étaient à l'origine au format `.odt` ; ils restent récupérables via le tag `avant-quarto`.
|