Bonjour,
Je suis en train d'essayer de créer un code python sous Linux Ubuntu afin de traiter des données afin de créer un tableau de données en les enregistrant dans un arbre xml.
Je m'explique:
mon projet a pour but de récupérer, depuis un PC utilisant Linux Ubuntu, des données numériques datées et émises en bluetooth.
J'arrive pour l'instant à récupérer les données et à les afficher dans mon terminal
Voici le code python que j'utilisais pour simplement récupérer les données sur mon PC:
Résultat sur mon terminal: (pour l'instant je n'emets qu'une valeur incrémentée de 1 toutes les 2 secondes pour tester, le but final est de récupérer des données capteurs: température, pression,...)Code:# file: l2capclient.py # desc: Demo L2CAP server for pybluez. # $Id: l2capserver.py 524 2007-08-15 04:04:52Z albert $ import bluetooth server_sock=bluetooth.BluetoothSocket( bluetooth.L2CAP ) port = 0x1001 server_sock.bind(("",port)) server_sock.listen(1) client_sock,address = server_sock.accept() print "Accepted connection from ",address data = client_sock.recv(1024) print "Data received:", data while data: client_sock.send('Echo =>' + data) data = client_sock.recv(1024) print "Data received:",data client_sock.close() server_sock.close()
ubuntu@ubuntu:~/Desktop/PyBluez-0.18/examples/simple$ sudo python l2capserver.py
Accepted connection from ('00:16:A4:0F:420', 4097)
Data received: 22/04/16 17:37:49 2
Data received: 22/04/16 17:37:51 3
Data received: 22/04/16 17:37:53 4
Data received: 22/04/16 17:37:55 5
Data received: 22/04/16 17:37:57 6
Data received: 22/04/16 17:37:59 7
Data received: 22/04/16 17:38:01 8
Data received: 22/04/16 17:38:03 9
Data received: 22/04/16 17:38:05 10
Ce code fonctionne sans aucun problème, les problèmes arrivent lorsque j'essaie de créer mon arbre xml.
Voici maintenant le programme qui ne marche pas:
Le fait est que les valeurs s'affichent bien dans mon terminal comme précédemment mais le fichier xml ne fonctionne pas et à la fin du programme l'erreur suivante s'affiche:Code:# -*- coding: UTF-8 -*- import bluetooth import xml.etree.cElementTree as ET temps=ET.Element("donnée").text = str(0) server_sock=bluetooth.BluetoothSocket( bluetooth.L2CAP ) port = 0x1001 server_sock.bind(("",port)) server_sock.listen(1) client_sock,address = server_sock.accept() print "Accepted connection from ",address data = client_sock.recv(1024) print "Data received:", data while data: client_sock.send('Echo =>' + data) data = client_sock.recv(1024) print "Data received:",data temps=ET.Element("donnée",name= str(data)) tree = ET.ELementTree(data) tree.write("mesure.xml") client_sock.close() server_sock.close()
Traceback (most recent call last):
File "l2capserver1.py", line 29, in <module>
tree = ET.ELementTree(data)
AttributeError: 'module' object has no attribute 'ELementTree'
(A la toute, j'aimerais pouvoir accéder à cette base de données pour pouvoir par exemple tracer l'évolution de mes données en fonction du temps dans un tableur par exemple)
Je n'arrive pas à trouver l'erreur, j'ai grandement et rapidement besoin d'aide (c'est pour un projet urgent), pourriez-vous m'aider svp?
Merci d'avance
-----