Résolu sur le forum : Borne Wallbox Pulsar Plus 7,4 kW sur abonnement 6 kVA : quel délestage avant accord copro (urgent)Ma panne diagnostiquée — réponse sous 48 h29 €

Programmer le pcDuino : Système : L’appui sur un BP exécute une commande système (ligne de commande).

Électroniquemis à jour le 23 avril 2023

Le pcDuino est un système informatique open source qui offre aux utilisateurs une plateforme puissante et flexible pour programmer et contrôler leurs projets. Il est basé sur un processeur ARM et est livré avec un système d’exploitation Linux pré-installé. Le pcDuino est également livré avec un ensemble d’outils de développement qui permettent aux utilisateurs de créer des applications et des programmes personnalisés. L’un des principaux avantages du pcDuino est sa capacité à exécuter des commandes système à l’aide d’un simple bouton-poussoir (BP). En appuyant sur le BP, l’utilisateur peut exécuter une commande système, ce qui permet de contrôler et de gérer le système de manière efficace et pratique.

Programmer le pcDuino : Système : L’appui sur un BP exécute une commande système (ligne de commande).

Ce que l’on va faire ici

  • Dans ce code, l’appui sur un bouton poussoir va exécuter une ligne de commande système : ici une simple commande ls qui liste le contenu d’un répertoire.
  • L’intérêt majeur ici est de montrer le principe d’utilisation de la ligne de commande à partir du code pyduino : du coup, ce sont toutes les fonctionnalités du système Gnu/Linux qui deviennent ainsi potentiellement disponibles et contrôlables à partir des entrées sorties !!
  • Pour plus de détails, se reporter aux instructions pyduino suivantes :
    • executeCmd()
    • executeCmdWait()
    • executeCmdOutput()

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

Schéma fonctionnel

  • L’entrée numérique déclenche la commande système.

Matériel nécessaire

Système

  • Le pcDuino

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 :

!/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

# executer une commande systeme lors appui bouton poussoir

from pyduino import * # importe les fonctions Arduino pour Python

# entete declarative
BP=2  # declare la broche a utiliser
APPUI=LOW # valeur broche lors appui

ÉlectroniqueChamp électrique : les notions fondamentales expliquées simplement

#— 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! »)

                # se place dans le repertoire voulu
                #path=homePath() # chemin utilisateur
                path=« /home/ubuntu/ »
                changedir(path) # se place dans le repertoire voulu

                # afficher le contenu du repertoire avec la commande ls
                Serial.println(« Contenu du repertoire «  + path )
                executeCmd(« ls ») # execute la commande

                delay(250)  # anti-rebond

ÉlectroniqueBien chauffer son atelier d’électronique : confort, sécurité et continuité de travail

        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/System/digitalReadExecuteCmd.py

Utilisation

  • 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, le contenu du répertoire courant s’affiche dans la console.

Discussion technique

  • Selon les cas de figure, on pourra utiliser les instructions pyduino suivantes :
    • executeCmd()
    • executeCmdWait()
    • executeCmdOutput()

Donnez votre avis

Soyez le 1er à noter cet article
ou bien laissez un avis détaillé


Partagez cet article maintenant !


Ça ne règle pas votre cas ?

Décrivez la panne sur le forum, avec une photo si vous pouvez : les membres qui ont eu la même répondent, et le sujet reste pour les suivants.

Avatar photoAvatar photoAvatar photoAvatar photoAvatar photoRejoindre les 54 membres — gratuit, 44 pannes résolues

Dans le même tiroir

Réagissez à cet article

La lettre du club

Une lettre par mois, accrochée au panneau

Les sujets du forum résolus dans le mois, un guide, un chiffre qu’on peut vérifier chez soi. Rien d’autre, jamais plus souvent — et on se désabonne d’un clic.

Ce qu’il y a dedans

Votre adresse

Une lettre par mois. Désabonnement en un clic.

Partagez votre réaction