Le pcDuino est un système informatique open source qui offre aux développeurs une plateforme puissante et flexible pour créer des applications et des programmes. Avec Pyduino, un langage de programmation Python spécialement conçu pour le pcDuino, les développeurs peuvent créer des fichiers de données horodatées de test. Dans cet article, nous allons examiner les étapes nécessaires pour créer un fichier de données horodatées de test avec Pyduino et le pcDuino.
Programmer le pcDuino : Pyduino : Fichier : Créer un fichier de données horodatées de test.
Ce que l’on va faire ici
- Dans ce code, je vous montre comment ajouter une série de données horodatées dans un fichier, au format « JJ/MM/AAAA hh:mm:ss , val \n » pour chaque ligne de donnée.
- Une fois de plus, la simplicité est au rendez-vous : pas besoin de shield SD externe, les données vont être enregistrées dans un fichier du système. D’autre part, la fonction timer() de la librairie Pyduino permet d’implémenter simplement un appel régulier d’une fonction et les fonctions « temps réel » permettent un horodatage sans avoir besoin d’utiliser de librairie externe complémentaire…
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
- D’autre part, vérifier que le répertoire utilisé pour le stockage des données existe, à savoir ~/data/text/ (ici, le ~ symbolise le répertoire /home/user/). Si le répertoire n’existe pas, le créer graphiquement ou le faire avec la commande :
- Noter qu’il est également possible de le faire directement depuis le code Pyduino…
Schéma fonctionnel
- Le code Pyduino lance écrit des données dans un fichier texte
Matériel nécessaire
Système
- Le pcDuino
- On pourra utiliser au choix le stockage en mémoire NAND interne (par défaut), ou bien sur une carte SD ou une clé USB. Le chemin sera à adapter en conséquence.
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
Le fichier *.py
Copier/coller ce code dans l’éditeur Geany :
# -*- coding: utf-8 -*-
# exemple pyDuino – par X. HINAULT – www.mon-club-elec.fr
# Aout 2013- Tous droits réservés – GPLv3
# voir : https://github.com/sensor56/pyDuino
# Creer un fichier de donnees horodatees de test
from pyduino import * # importe les fonctions Arduino pour Python
# entete declarative
noLoop=True
#— setup —
def setup():
myDataPath=(« data/text/ »)
path=homePath()+myDataPath # chemin du répertoire à utiliser
filename=« testdata.txt » # nom du fichier
filepath=path+filename # chemin du fichier
print filepath
if exists(filepath):
print « Le fichier existe : le contenu va etre efface »
else :
print « Le fichier n’existe pas : le fichier va etre cree »
#myFile=open(filepath,’a’) # ouverture pour ajout de texte
myFile=open(filepath,‘w’) # ouverture pour ecriture avec effacement contenu
#– ajout de chaines au fichier
hh=str(hour())
mm=str(minute())
for sec in range(60) : # defile 60 secondes theoriques
dataValue=str(random(0,1023)) # genere une valeur aleatoire entiere
# format de donnees utilise : JJ/MM/YYYY hh:mm:ss , val \n
dataLine=today(‘/’) + » « + hh +« : »+mm + « : » + str(sec)+« , »+dataValue+« \n«
#print dataLine – debug
myFile.write(dataLine) # ecrit la ligne dans le fichier
myFile.close() # fermeture du fichier en ecriture
#– lecture du fichier —
myFile=open(filepath,‘r’) # ouverture en lecture
print (« Contenu du fichier : « )
myFile.seek(0) # se met au debut du fichier
print myFile.read() # lit le fichier
myFile.close() # fermeture du fichier
# NB : on peut aussi ouvrir le fichier dans l’editeur pour verifier son contenu
# — fin setup —
# — loop —
def loop():
return # si vide
# — 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/SD/WriteDataTest.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 : les lignes de données sont ajoutées au fichier.

- On pourra à tout moment ouvrir le fichier pour voir son contenu :

- On pourra également visualiser les données dans un tableur.

- Truc un moyen simple de récupérer les données est de les copier dans le répertoire /var/www du serveur apache si installé :
Ensuite, les données sont accessibles depuis un navigateur à l’adresse de la forme : http://192.168.1.19/testdata.txt
Discussion technique
- Difficile de faire plus simple !
Articles similaires:
- Programmer le pcDuino : Pyduino : Fichier : Ajouter une ligne à intervalle régulier dans un fichier texte.
- Programmer le pcDuino : Pyduino : Fichier : Créer un fichier de 24H de 6 séries de données horodatées de test.
- Programmer le pcDuino : Pyduino : Fichier : Créer un fichier de 24H de données horodatées de test.
- Programmer le pcDuino : Pyduino : Fichier : Ajouter une ligne de donnée horodatée à intervalle régulier dans un fichier texte, pendant une durée voulue.
- Programmer le pcDuino : Pyduino : Fichier : Ajouter une ligne de donnée horodatée à intervalle régulier dans un fichier texte, avec « journalisation » automatique toutes les minutes.
Articles Liés
- Webapps d'initiation : w2UI : Afficher dans un w2grid une série de données horodatées à partir d'un fichier de données
Les webapps sont devenues une partie essentielle de notre vie numérique. Elles nous permettent de…
- Javascript : Afficher des données sur 24H à l'aide de la librairie graphique Dygraphs.
Le Javascript est un langage de programmation très populaire qui permet aux développeurs de créer…
- Javascript : Afficher des données sur 24H multicourbes à l'aide de la librairie graphique Dygraphs.
Le langage de programmation Javascript est un outil puissant pour afficher des données sur des…