Projets:Au taf
Au taf
400pxLa propriété « A image principale » (comme le type de page) avec la valeur d’entrée « File: » contient des caractères non valides ou est incomplète, et donc peut provoquer des résultats inattendus lors d’une requête ou d’un processus d’annotation. | |
---|---|
Informations | |
Description | Système de reconnaissance vocale permettant de contrôler l'environnement |
Catégorie | Motricité |
Etat d'avancement | En cours |
Techniques | |
Durée de fabrication | |
Coût matériel | |
Niveau | Difficile |
Licence | by-sa |
Date de création | 2019-12-19 |
Équipe | |
Porteur de projet | Christian B. |
Contributeurs | Gigi35, Stevan |
Fabmanager | Delphine |
Référent documentation | Stevan |
Nom humanlab | Humanlab_MHK |
Documentation | |
Statut de la documentation | Partielle |
Relecture de la documentation | Non vérifiée |
Description du projet
Projet visant à proposer un système de reconnaissance vocale permettant de contrôler l'environnement :
- Émettre des codes infra-rouge vers des équipements existants (TV, radio, ...)
- Communiquer avec des modules d'entrées-sorties via, par exemple, du Bluetooth
- Piloter un téléphone pour recevoir ou émettre des appels
Cahier des charges
- Une contrainte initiale est de ne pas compter sur la disponibilité d'une liaison Internet pour ce projet : la reconnaissance vocale doit être réalisée de manière locale.
- Une seconde contrainte s'est imposée lors d'une première version : la reconnaissance doit être adaptée au locuteur. Ceci impose d'avoir un apprentissage (ou au moins un paramètrage) spécifique à l'utilisateur.
Analyse de l'existant
Projet K Line : Maison connectée et contrôlable via l'assistant Google ou Alexia (Amazon) mais requérant une connexion internet.
Equipe (Porteur de projet et contributeurs)
- Porteur de projet
- Contributeurs
- Animateur (coordinateur du projet)
- Fabmanager référent
- Responsable de documentation
Matériel nécessaire
- Une carte STM32F429 intégrant un écran couleur tactile (240x320 pixels) et dont le processeur gère de nombreux timers, lignes séries
- Un microphone USB Adafruit 4346 car, il n'existe pas d'entrée audio sur la carte STM32. Un cordon Qwiic est nécessaire afin de connecter le microphone à la carte.
- Un récepteur* et un émetteur RF433 (MX-05V / MX-FS-03V) pour pouvoir communiquer avec des appareils utilisant les ondes radios (porte de garage, volet, ...)
- Un récepteur* et un émetteur Infra-rouge (TFMS5360/SFR485) pour piloter du matériel audio-vidéo (TV, chaîne, ...)
- Un module GPRS (IOT-GA6-B) pour les fonctions téléphone et envoi de SMS
Les équipements marquées d'un astérisque sont optionnels : ils permettent de déterminer le type de modulation et le code utilisés.
Outils nécessaires
- Ordinateur pour la configuration de la carte STM32
- Internet (configuration uniquement)
- Appareil à soudure
Coût
- Carte STM32F429 : 28€ (29/03/2023)
- Microphone Adafruit 4346 : 5€ (15/05/2023)
- Récepteur/Émetteur : 2€ (15/05/2023)
- Cordon microphone : 2€ (15/05/2023)
Total : 37€
Fichiers source
Github en constuction
https://github.com/myhumankit/au-taf
Etapes de fabrication pas à pas
En cours de construction
Allumage de la carte STM32
Dans un premier temps, on peut s'assurer que la carte STM32 fonctionne bien. Pour cela, il suffit de la brancher à un ordinateur à l'aide du câble qui est fourni avec. Le câble fourni est assez court mais un autre câble du même type (USB Mini B) peut être utilisé à la place. Lors du premier démarrage, l'écran devrait ressembler à ça :
Picovoice
Pour la reconnaissance vocale, le projet s'appuie sur la librairie Picovoice qui permet de reconnaître des mots définis au préalable. Pour cela, il est nécessaire de créer un compte sur le Site Officiel. Une fois le compte créé, on récupère l'UUID de la carte STM32, pour cela on peut la connecter à un ordinateur et grâce à OpenOCD, on effectue la commande suivante dans un terminal :
openocd -f /usr/share/openocd/scripts/board/stm32f429disc1.cfg -c "init" -c "$target_name mdb 0x1FFF7A10 12" -c "exit"
L'UUID correspond à la suite de 12 octets lus à l'adresse 0x1fff7a10. Une fois cette séquence récupérée, il est possible de générer les mots nécessaires pour la navigation. On ne peut générer que 3 mots par mois, on choisit donc de prendre les 3 mots suivants :
- Confirmer
- Retour
- Suivant
Les mots peuvent être changés mais leur fonction doit rester la même. On récupère alors 3 fichiers .zip qui contiennent un fichier .h et .ppn. Les fichiers contiennent les mêmes informations, le .h est encodé en ASCII tandis que le .ppn est un fichier binaire. On peut alors choisir de n'utiliser que les fichiers .ppn.
La dernière étape à faire sur le site de Picovoice est de récupérer la clé d'accès (Access Key) trouvable sur l'accueil du compte au lien suivant. La prochaine étape est de récupérer l'exécutable et le configurer. Les explications sont disponibles sur le Github du projet.
Montage des composants
Chaque partie, hormis le microphone, est optionnelle indépendante ce qui signifie que l'utilisateur est libre de sélectionner les composants qui l'intéresse en fonction de ses besoins. Par exemple, il peut choisir de n'utiliser que la partie radio fréquence et ne pas utiliser l'infra-rouge.
Un schéma est global du montage est disponible ci-dessous :
Microphone
C'est le seul composant obligatoire avec la carte STM32. Il est noté PDM_Microphone sur le schéma. Pour le câblage, on connecte d'abord le cordon de microphone que l'on branche ensuite sur la carte. Le micro est alimenté en +3V. Le câble jaune (CLK) qui représente le signal d'horloge se branche sur le pin PB3 et le câble bleu (DAT) représente les données se branche sur le pin PC12. Les 2 pins de la carte se trouve du côté de la carte sans écran.