View  Edit  Attributes  History  Attach  Print  Search

ACCUEIL | ARDUINO > S'INSTALLER > DEBUTER > APPROFONDIR | PROCESSING | MECATRONIQUE | MATERIEL | OUTILS | TESTS | Plus...|
Python > Shell > ATELIERS Python + Qt > PyQt apps > PyQt+Arduino | Mes Robots | RepRap | Mes lib'Arduino | Mes shields Arduino | Mes distros | Les Mini-PC |
ATELIERS ARDUINO| VIDEOS | COMPRENDRE | REFERENCES | CODER | TECHNIQUE | GNU/LINUX | LIENS | Rien à voir |

Programmer le pcDuino : Pyduino : Ligne de commande : Exécuter une ligne de commande système pour lancer une application depuis le code Pyduino.

Par X. HINAULT - Juillet 2013

Ce que l'on va faire ici

  • Dans ce code, apprenez à lancer une application système à partir d'un code Pyduino. Dans cet exemple, on lance le navigateur midori, mais ce sont toutes les applications et programmes installés sur le système qui pourront être lancés de cette façon à la demande !

Pré-requis

$ sudo apt-get install midori

Schéma fonctionnel

  • Le code Pyduino lance l'exécution d'une ligne commande

Matériel nécessaire

Système

  • Le pcDuino

E/S

  • Pas utilisées.

Instructions de montage

  • Aucun montage.

Le montage à réaliser

  • Aucun montage

Le fichier *.yno

Copier/coller ce code dans l'IDE Pyduino

Ce code est également disponible ici :

Le fichier *.py

Copier/coller ce code dans l'éditeur Geany :


#!/usr/bin/python
# -*- 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 execute commande système

from pyduino import * # importe les fonctions Arduino pour Python

# entete declarative
compt=0
app=None

#--- setup ---
def setup():

        # executeCmd()
        app=executeCmd("midori") # execute commande et renvoie processus

        delay(20000) # pause 20 secondes

        app.terminate()  # stoppe proprement le processus créé précédemment
        print ("application stoppee")

# -- fin setup --

# -- loop --
def loop():
        print("loop")
        delay(1000)
# -- 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/System/ExecuteCmdLanceApp.py

Utilisation

  • Réaliser le montage et connecter le clavier sur le port USB
  • Appuyer sur le bouton exécuter dans Geany
  • Une fenêtre de Terminal doit apparaître : le navigateur doit se lancer puis se refermer tout seul après 20 secondes.

Discussion technique

  • Toutes les applications deviennent ainsi contrôlables à partir des broches E/S !