72fee10538
Context:
The README is the primary usable deliverable: how to install
ESP-IDF + ESP-ADF, build, flash, and prepare the microSD card, plus an
honest list of what is unverified.
Changes:
- README.md: prerequisites (ADF_PATH), build/flash, provisioning,
module table, child-safety notes, and a thorough "A verifier sur le
materiel" section (build, BSP<->ADF I2S, radio URLs, emoji fonts...)
- sdcard/README.md + sdcard/sounds/manifest.json example
Impact:
A reader can stand the project up and knows exactly what still needs
validation on real hardware.
45 lines
1.5 KiB
Markdown
45 lines
1.5 KiB
Markdown
# Carte microSD — disposition attendue
|
|
|
|
Formatez la carte en **FAT32** et copiez l'arborescence suivante à la racine :
|
|
|
|
```
|
|
/ (racine de la carte microSD, montée sur /sdcard)
|
|
└── sounds/
|
|
├── manifest.json # décrit la grille de la "Boîte à sons"
|
|
├── miaou.mp3
|
|
├── ouaf.mp3
|
|
├── coucou.mp3
|
|
├── bravo.mp3
|
|
├── histoire.mp3 # joué par le bouton "Histoire du soir" (Horloge)
|
|
└── calme.mp3 # ambiance douce optionnelle (Coin calme)
|
|
```
|
|
|
|
## `manifest.json`
|
|
|
|
Tableau JSON d'objets `{ file, title, emoji }` :
|
|
|
|
```json
|
|
[
|
|
{ "file": "miaou.mp3", "title": "Le chat", "emoji": "🐱" }
|
|
]
|
|
```
|
|
|
|
- `file` : nom du fichier **sous `/sounds/`** (pas de chemin absolu).
|
|
- `title` : libellé affiché sous le bouton.
|
|
- `emoji` : icône du bouton (rendu si une police emoji est embarquée — voir
|
|
README principal, section "À vérifier sur le matériel").
|
|
|
|
Le firmware lit jusqu'à `LISAEL_SD_MAX_SOUNDS` (32) entrées. Sans carte ou sans
|
|
`manifest.json`, l'écran "Boîte à sons" affiche un message d'invite au lieu
|
|
d'une erreur.
|
|
|
|
## Format audio
|
|
|
|
Fichiers **MP3** (le pipeline SD utilise le décodeur MP3 d'ESP-ADF). Les clips
|
|
seront générés plus tard par TTS FR. Préférez un débit modéré (ex. 128 kbit/s,
|
|
44.1 kHz) pour un décodage léger sur l'ESP32-S3.
|
|
|
|
Les fichiers `histoire.mp3` et `calme.mp3` sont chargés par nom en dur
|
|
(respectivement par l'écran Horloge et le Coin calme) ; ils peuvent aussi
|
|
figurer dans le `manifest.json` pour apparaître dans la grille.
|