Le pcDuino est un système informatique open source qui offre aux utilisateurs une variété de possibilités de programmation. Avec le pcDuino, vous pouvez programmer votre ordinateur pour effectuer des tâches variées, allant de la lecture de fichiers audio et vidéo à la gestion de la maison intelligente. Dans cet article, nous allons vous montrer comment programmer le pcDuino pour lire un fichier vidéo en plein écran lorsque vous appuyez sur un bouton-poussoir (BP). Nous vous expliquerons également comment configurer le pcDuino pour qu’il puisse lire des fichiers vidéo à partir d’une carte SD ou d’un disque dur externe.
Programmer le pcDuino : Video : L’appui sur un BP déclenche la lecture d’un fichier video en plein écran.
Ce que l’on va faire ici
- Dans ce code, l’appui sur un bouton poussoir va redémarrer la lecture d’une vidéo au début, à l’aide de ma librairie Pyduino Multimedia.
- L’intérêt majeur de ce code est de poser les bases d’applications « low cost » de muséographie : à tout moment, l’utilisateur peut relancer le clip vidéo par l’appui sur un simple bouton poussoir. Avec cette solution, n’importe quel écran HDMI pourra être transformé instantanément en support de muséographie, potentiellement interactif.
- Pour plus de détails sur la lecture de fichiers vidéo, voir l’instruction Pyduino playVideo()
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
Fichiers vidéos de test
Quelques exemples
- Pour vous simplifier la vie, je vous propose une archive contenant quelques fichiers vidéos utilisables : à télécharger directement avec les commandes suivantes sur le mini-pc :
$ wget -4 http://www.mon-club-elec.fr/mes_videos/plancton_cnrs_fr.mp4
$ wget -4 http://www.mon-club-elec.fr/mes_videos/incendium_vimeo.mp4
Où placer les fichiers vidéo ?
- Par défaut, la librairie Pyduino utilise les chemins suivants :
- sources/text/
- sources/audio/
- sources/images/
- sources/videos/
- Ces répertoires peuvent être modifiés à votre convenance.
En pratique, placer les vidéos à lire dans le répertoire /home/user/sources/videos
Schéma fonctionnel
- L’entrée numérique redéclenche la lecture d’un fichier vidéo.
- Pour plus de détails sur la lecture de fichiers vidéo, voir l’instruction Pyduino playVideo()
Matériel nécessaire
Système
- Le pcDuino
- une sortie vidéo + son opérationnelle : la sortie HDMI connectée à un écran HDMI
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
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
# bouton poussoir relance vidéo
from pyduinoMultimedia import * # importe les fonctions Arduino pour Python
# entete declarative
BP=2 # declare la broche a utiliser
APPUI=LOW # valeur broche lors appui
filepathVideo=« »
#noLoop=True
#— setup —
def setup():
# exemples de video :
# cd home/ubuntu/sources/video
# wget -4 http://www.mon-club-elec.fr/mes_videos/plancton_cnrs_fr.mp4
# wget -4 http://www.mon-club-elec.fr/mes_videos/incendium_vimeo.mp4
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 ! »)
global filepathVideo, filename
filepathVideo=homePath()+sourcesPath(VIDEO)
#filename= »plancton_cnrs_fr.mp4″
filename=« incendium_vimeo.mp4 »
print filepathVideo+filename
playVideo(filepathVideo+filename)
# — fin setup —
# — loop —
def loop():
global filepathVideo, filename
if(digitalRead(BP)==APPUI): # si appui
Serial.println(« Appui BP! »)
Serial.println(« Joue la video : « +filepathVideo+filename)
stopVideo() # stoppe video deja lancee
playVideo(filepathVideo+filename)
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://raw.github.com/sensor56/pyduino-exemples/master/Audio/digitalReadPlaySound.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
- Dès le lancement, la vidéo doit se lancer.
- A tout moment, un appui sur le bouton poussoir déclenche à nouveau la vidéo.

Discussion technique
- On pourra lancer ce script au démarrage : Comment lancer un programme Pyduino ou Python automatiquement au démarrage ?
- Si on souhaite que la transition lors de l’appui sur le BP ne montre pas le bureau, il suffit d’ouvrir une fenêtre terminal avec fond noir, de la dimensionner en plein écran et de la positionner « Toujours au dessus » : lors de la relance, on ne verra rien d’autre. On pourra aussi masquer la barre des tâches.
- Il sera facile de contrôler plusieurs mini-Pc utilisés en tant que base de muséographie à partir d’un poste central de contrôle…
Articles similaires:
- Programmer le pcDuino : Video : Lire un fichier video en plein écran.
- Programmer le pcDuino : Audio : L’appui sur un BP déclenche la lecture d’un fichier son.
- Programmer le pcDuino : Python simple : Entrée numérique : Détecter l’appui sur un bouton poussoir
- Programmer le pcDuino : Synthèse vocale : L’appui sur un BP déclenche un message en synthèse vocale.
- Programmer le pcDuino : Python simple : Entrée numérique : L’appui sur un bouton poussoir allume une LED
Articles Liés
- Programmer le pcDuino : Réseau : L'appui sur un BP envoie un mail !
Le pcDuino est un système informatique open source qui offre aux utilisateurs une variété de…
- Programmer le pcDuino : Fichiers : L'appui sur un BP ajoute une ligne dans un fichier texte.
Le pcDuino est un système informatique open source qui offre aux utilisateurs une variété de…
- L'appui sur 5 BP lance la lecture de 5 sons différents dans l'interface Processing
L'interface Processing est un outil puissant qui permet aux utilisateurs de créer des programmes informatiques…