Projets:Au taf

De wikilab
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 :

Ecran de la carte STM32 lors du premier démarrage


Picovoice

Pour la reconnaissance vocale, le projet sur base sur la librairie Picovoice qui permet de reconnaître des mots définis au préalable. Pour cela on commence par la création d'un compte sur le Site Officiel. Une fois le compte créer, on récupère l'UID 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'UID correspond à la suite d'octets suivant 0x1fff7a10. Une fois récupéré, on peut générer les mots nécessaire 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 sont identiques, le .h est encodé en ASCII tandis que le .ppn est un fichier binaire. On peut alors choisir d'utiliser que les fichier .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 :

Schéma électronique de la carte STM32 avec les composants


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.

Radio Fréquence

Durée de fabrication du prototype final