[Tutoriel] Créer un système de commande vocale avec Orange Pi

(Le son émis par Snips n’est pas disponible car il n’y a pas de haut-parleur)

Sur la base du système Open Source Snips, il est possible de créer un système de commande vocale hors ligne. Afin de le créer, il est nécessaire d’avoir un PC, une carte Orange Pi Zéro Plus 2 H3, son shield et une carte SD dont la capacité est d’au moins 4Go. La carte est conçue par Xunlong.

Etape 1: Faire un setup du PC

Sous Linux :
La plateforme Snips est basée sur Linux terminal. Il n’est pas nécessaire de faire un setup.

Sous Windows :
Il faut quelques étapes préparatoires pour simuler l’environnement Linux afin d’utiliser Snips.

  1. Ouvrez Windows PowerShell en tant qu’administrateur (touche Win + x, a) et tapez la commande suivante :

    > Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

  2. Choisissez la distribution de Linux depuis le Microsoft Store

  3. Tapez « bash » dans un barre d’adresse.

  4. Changez le mot de passe pour utiliser la commande sudo :

    Cf. https://docs.microsoft.com/en-us/windows/wsl/user-support

(Source : https://docs.microsoft.com/en-us/windows/wsl/install-win10)

Etape 2: Faire un setup de la carte

La première tâche est d’installer un système d’exploitation dans la carte Orange Pi. Puis, formatez la carte SD.

Sous Windows 10, utilisez le logiciel SD Memory Card Formatter fourni par SD Association pour formater la carte puis Win32DiskImager  pour écrire l’image fourni ci-dessous:
OPi_Snips.img (4Go)

Sous Linux, utilisez gparted pour formater la carte en format FAT32 puis saisissez:
dd if=/[CHEMIN]/OPi_Snips.img of= /dev/sdX
« /dev/sdX » est votre carte SD. Identifiez-la avec la commande « sudo fdisk -l« .

Actuellement, il n’y a que Armbian Stretch dans laquelle plateforme Snips fonctionne correctement.

Etape 3: Utilisation de l’assistant vocal :

Dites Hey Snips”. Après un bip sonore ou un peu de temps, dites « Allumer la lumière » ou « Eteindre la lumière » et le pin GPIO 12(PA12) sera allumé (3.3V) ou éteint.

Pour modifier l’action,
Modifiez :
/var/lib/snips/skills/Snips-ContactSec-Opi/action-contact.sec.py

Puis,
lancez :
$ sudo service snips-skill-server restart

Pour manipuler des pins multiples,
Ajoutez dans le script :
OPiGPIO.gpio_config([NUMERO_PIN])
pour allumer un pin GPIO :
OPiGPIO.gpio_on([NUMERO_PIN])
ou
pour éteindre un pin GPIO :
OPiGPIO.gpio_off([NUMERO_PIN])
OPiGPIO.gpio_unexport([NUMERO_PIN])

Example:
#Pour allumer un pin GPIO 7
OPiGPIO.gpio_config(7)
OPiGPIO.gpio_on(7)
OPiGPIO.gpio_unexport(7)

 
Source : https://stackoverflow.com/questions/46463724/accessing-gpio-on-orangepi-pc-plus-h3-on-armbian-3-4-113-and-newer

NUMERO_PIN : (la position d’une lettre – 1) * 32 + le numéro de pin.

Par exemple, le NUMERO_PIN de PA12 est calculé dans la manière suivante :

A = 1ère position

Le numéro de pin = 12

Alors, NUMERO_PIN = (1 – 1) * 32 + 12 = 12

Pour aller plus loin, vous pouvez regarder la documentation sur notre Github.

Une réflexion au sujet de « [Tutoriel] Créer un système de commande vocale avec Orange Pi »

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *