Étape 5: Le Code Python
Bibliothèque #import pour faire des requêtes http :Import urllib2
#import pyserial bibliothèque
importation de série
Bibliothèque #import pour les retards
moment de l’importation
#import analyseur xml appelé minidom :
de xml.dom.minidom import parseString
#Initialize la connexion série COM3 ou quel que soit le port votre arduino utilise à 9600 bauds
SER = serial. Série ("\\.\COM3", 9600)
J’ai = 1
#delay de stabilité alors que la connexion est réalisée
Time.Sleep(5)
alors que je == 1 :
#download le fichier rss n’hésitez pas à mettre votre propre url de flux rss ici
fichier = urllib2.urlopen ('http://news.sky.com/feeds/rss/world.xml')
#convert à chaîne
données = file.read()
#close le fichier
file.Close()
#parse le code xml de la chaîne
Dom = parseString(data)
#retrieve la première balise xml (données < tag > < / tag >) que les découvertes de l’analyseur avec tagName nom changent tags pour obtenir les différentes données
xmlTag = dom.getElementsByTagName('title')[2].toxml()
# [2] indique la balise title 3ème qu'il trouve sera analysée, comptage commence à 0
#strip au large de la balise (données < tag > < / tag >---> données)
xmlData=xmlTag.replace('<title>','').replace (' </title >','')
#write le marqueur ~ de série
SER.Write('~')
Time.Sleep(5)
#split la chaîne en mots
nums = xmlData.split(' ')
#loop jusqu'à ce que tous les mots en chaîne ont été imprimés
pour num dans nums :
#write 1 mot
SER.Write(num)
# écrire 1 place
SER.Write(' ')
# LE RETARD N’EST NÉCESSAIRE. Il empêche le débordement de la mémoire tampon d’arduino.
Time.Sleep(2)
# noter ~ pour fermer la chaîne et dire envoi des informations d’arduino est terminé
SER.Write('~')
# attendre 5 minutes avant de revérifier RSS et renvoyer des données à Arduino
Time.Sleep(300)