Le pcDuino est un système informatique open source qui offre aux utilisateurs une variété de fonctionnalités et d’applications. Une de ces fonctionnalités est la synthèse vocale, qui permet aux utilisateurs de programmer le pcDuino pour qu’il annonce un message en synthèse vocale lorsqu’un bouton-poussoir est appuyé. Cette fonctionnalité peut être utilisée pour annoncer l’adresse IP du système, ce qui peut être très utile pour les utilisateurs qui souhaitent accéder à leur système à distance. Dans cet article, nous allons examiner en détail comment programmer le pcDuino pour qu’il annonce l’adresse IP du système lorsqu’un bouton-poussoir est appuyé.
Programmer le pcDuino : Synthèse vocale : L’appui sur un BP déclenche un message en synthèse vocale annonçant l’adresse IP du système.
Ce que l’on va faire ici
- Dans ce code, l’appui sur un bouton poussoir va déclencher un message en synthèse vocale annonçant,, à l’aide de ma librairie Pyduino Multimedia, l’adresse IP du système à l’aide de la librairie Pyduino. Plus exactement, l’adresse IP de l’interface eth0 du système.
- Il n’est pas nécessaire d’installer quoi que ce soit de plus : les fonctions « réseau » sont directement accessibles depuis la librairie Pyduino !
- Pour plus de détails, voir la documentation de la fonction Pyduino localIP()
- Vous remarquerez la simplicité du code obtenu : la librairie Pyduino Multimedia permet d’utiliser la synthèse vocale aussi simplement que d’afficher un message dans la console !
Pré-requis
- un mini-PC (pcDuino conseillé) avec système Lubuntu opérationnel. Voir si besoin la page d’accueil du pcDuino
- Langage Python (2.7) et l’IDE Pyduino ou l’éditeur Geany installés. Voir si besoin : Logiciel pour développer avec Pyduino
- ma librairie pyDuino installée : voir si besoin : Télécharger et installer Pyduino sur le pcDuino
- les dépendances de la librairie pyDuino Multimédia installées : voir si besoin : Télécharger et installer Pyduino sur le pcDuino
Schéma fonctionnel
- L’entrée numérique déclenche la synthèse vocale. Le miniPC est connecté au réseau local.
- Pour plus de détails sur la synthèse vocale avec la librairie Pyduino Multimedia, voir la fonction speak()
Matériel nécessaire
Système
- Le pcDuino
- une sortie son opérationnelle :
- soit la sortie audio HDMI connectée à un écran HDMI
- soit la sortie audio jack intégrée si elle existe (raspberryPi)
- soit une carte son USB disposant d’une sortie audio
- connecté à un réseau local actif associant :
- un routeur (une box internet typiquement) +/- un switch réseau
- d’autres postes sur le réseau, notamment un poste fixe ou une tablette.
- voire un poste distant sur le web
E/S
- une plaque d’essai pour montage sans soudures,

- des straps,

- un bouton poussoir pour CI,

Instructions de montage
- Connecter un bouton poussoir entre la broche 2 (configurée en entrée avec rappel au plus) et le 0V
- Connecter la sortie audio
- Connecter le pcDuino au réseau, ce qui est normalement déjà le cas si vous travaillez en accès VNC !
Le montage à réaliser
Le fichier *.py
Copier/coller ce code dans l’éditeur Geany :
# -*- coding: utf-8 -*-
# exemple pyDUino – par X. HINAULT – www.mon-club-elec.fr
# Juin 2013 – Tous droits réservés – GPLv3
# voir : https://github.com/sensor56/pyDuino
# test digitalRead
#from pyduino import * # importe les fonctions Arduino pour Python
from pyduinoMultimedia import * # importe les fonctions Arduino pour Python
# entete declarative
BP=2 # declare la broche a utiliser
APPUI=LOW # valeur broche lors appui
#— setup —
def setup():
pinMode(BP,PULLUP) # met la broche en entree avec rappel au plus actif
Serial.println(« La broche 2 est en entree avec rappel au plus actif ! »)
# — fin setup —
# — loop —
def loop():
if(digitalRead(BP)==APPUI): # si appui
Serial.println(« Appui BP! »)
Serial.println (« Adresse ip du systeme : « + Ethernet.localIP() ) # affiche l’adresse IP locale
ipSystem=Ethernet.localIP().split(« . ») # recupere l’ip sous forme d’une list
# message console
print (« Message en synthese vocale : »)
print (« L’adresse I P du systaime est la suivante : « )
print (ipSystem[0] + « . point. « + ipSystem[1] + « . point. « + ipSystem[2] + « . point. « + ipSystem[3] )
# synthese vocale
speak(« L’adresse I P du systaime est la suivante : « )
speak (ipSystem[0] + « . point. « + ipSystem[1] + « . point. « + ipSystem[2] + « . point. « + ipSystem[3] )
# les « . » permettent de ralentir la diction…
delay(250) # anti-rebond
delay(100) # pause entre 2 lecture du BP
# — fin loop —
#— obligatoire pour lancement du code —
if __name__==« __main__ »: # pour rendre le code executable
setup() # appelle la fonction main
while not noLoop: loop() # appelle fonction loop sans fin
Ce code est également disponible ici : https://github.com/sensor56/pyduino-exemples/blob/master/Voice/digitalReadSpeakEthernetIp.py
Utilisation
- Vérifier au besoin le bon fonctionnement de la sortie audio au préalable (par exemple en générant un son avec Audacity…)
- Appuyer sur le bouton exécuter dans Geany
- Une fenêtre de Terminal vide doit apparaître : lors d’un appui sur le bouton poussoir, un message vocal indique l’adresse IP du système.

Discussion technique
- Pratique pour connaître l’IP d’un miniPC sans clavier ni écran.
- Remarquer l’absence d’accent dans les chaînes à synthétiser et l’utilisation de « . » pour ralentir la diction.
Articles Liés
- Programmer le pcDuino : Mesure Analogique et Synthèse vocale : L'appui sur un BP déclenche un message en synthèse vocale annonçant le résultat d'une mesure analogique.
Le pcDuino est un système informatique open source qui offre aux utilisateurs une variété de…
- Processing Synthèse vocale avec espeak : annonce vocale de l'adresse IP de l'interface wifi.
La synthèse vocale est un outil très pratique qui permet aux utilisateurs de communiquer avec…
- Programmer le pcDuino : Synthèse vocale : L'appui sur un BP déclenche un message en synthèse vocale.
Le pcDuino est un ordinateur de petite taille qui offre une variété de fonctionnalités et…