Files
lisael-box/sdcard/README.md
T
Clément Saillant 72fee10538 docs: add README and SD card layout
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.
2026-06-14 00:40:46 +02:00

1.5 KiB

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 } :

[
  { "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.