Cet outil gère les données pour les modules de son Blue Build-A-Bear. Il peut extraire des sons à partir de vidages ou générer des données à partir de fichiers sonores.
Ces modules et leur système de programmation sont fabriqués par Voice Express Corp. et couverts par le brevet américain 8675908 .
Leur méthode de programmation "propriétaire NFC" est assez astucieuse: elle se fait par couplage inductif via le haut-parleur du module. Le MCU l'utilise comme une antenne pour ramasser les données et l'écrit sur une puce flash série 512Kib. Selon les schémas du brevet, le module peut également être en mesure de répondre au programmeur (voir les lignes "RCRV").
Voice Express mentionne que certains de leurs autres modules sont capables de conduire des LED ou des moteurs en synchronisation avec la voix de la musique, ils sont donc probablement assez intelligents pour interpréter une forme de scripts minimaux.
Requis:
Ouvrez le module avec un tournevis à tête plate. Retirez la puce flash 25x40 de la carte. Programmez un arduino 3.3V avec dump.ino . Accrochez-vous à la puce comme ceci:
| 25x40 | Arduino |
|---|---|
| 1 | 9 |
| 2 | 12 |
| 3 | 3.3 V |
| 4 | GND |
| 5 | 11 |
| 6 | 13 |
| 7 | 3.3 V |
| 8 | 3.3 V |
Ouvrez un terminal série et connectez-vous à votre arduino programmé au 115200 8N1, permettez à la journalisation de déposer, appuyez sur une touche et attendez. Une fois que votre fichier journal est exactement de la taille de 512Kib, vous avez terminé.
Ces informations ne sont pas encore vérifiées!
0x05 NN : Appel indirect?0x02 NN :?0x04 NN : Commencez à jouer du son de NN?0x10 NN : Définissez le script suivant nn?0x00 0x15 : aller dormir?Les échantillons sont des 4 bits bruts non signés à environ 11025 Hz. Les sons semblent être rembourrés à des blocs de 512 octets. On ne sait pas s'il s'agit d'une limitation de format ou quelque chose décidé par le logiciel de stand de programmation.
Voir bab_toothless_dump.bin pour le vidage complet de la mémoire flash.
0x14 : 0x001400x15 : 0x001500x16 : 0x001600x17 : 0x001700x18 : 0x001800x19 : 0x001900xB0 0x00 0x03 : son # 0 à 0x003000xB0 0x00 0x36 : son # 1 à 0x036000xB0 0x00 0x6F : son # 2 à 0x06f000xB0 0x00 0xAC : son # 3 à 0x0ac000xB0 0x00 0xD6 : son # 4 à 0x0d6000xB0 0x00 0xF1 : son # 5 à 0x0f1000x04 0x00 : Play Sound # 00x10 0x01 : le prochain script sera # 10x02 0x01 : ???0x00 0x15 : aller dormir0x04 0x01 : Play Sound # 10x10 0x02 : le prochain script sera # 20x02 0x01 : ???0x00 0x15 : aller dormir