Paso 5: Código de Python
#import biblioteca para hacer peticiones http:
importar urllib.request #import pyserial biblioteca importación #import serial tiempo para retrasos importación tiempo
#import xml parser llamado minidom: de xml.dom.minidom importar parseString
datamem = "0" datamem2 = "0"
#Initialize la conexión serie en COM3 o cualquier puerto de tu arduino utiliza en 9600 baudios tasa ser = serial. Serie ("/dev/tty.usbmodem1411", 9600)
i = 1 #delay para estabilidad mientras que la conexión es lograr time.sleep(5) mientras yo == 1: #download el archivo rss no dude en poner tu propia url del rss en el archivo aquí = urllib.request.urlopen ('http://www.nu.nl/feeds/rss/algemeen.rss') #convert de datos de cadena = file.read() #close el archivo file.close()
#parse el xml de la cadena de dom = parseString(data)
#retrieve la primera etiqueta xml (datos) que el analizador encuentra con nombre tagName cambiar etiquetas para obtener diferentes datos xmlTag = dom.getElementsByTagName('title')[1].toxml() # [2] indica que se analiza la etiqueta de título 3 encuentra, cuenta inicia en 0
Si xmlTag! = datamem:
#strip de la etiqueta (datos---> datos) xmlData=xmlTag.replace ('
'') #write el marcador ~ a ser.write(b"~") serial time.sleep(5) #split la cadena en palabras individuales nums = xmlData.split(' ') #loop hasta que todas las palabras en cadena se han impreso para num en nums: #write 1 palabra ser.write (bytes (num, 'UTF-8'))
# escribir 1 espacio ser.write (bytes (' ', 'UTF-8'))
# EL RETRASO ES NECESARIO. Evita el desbordamiento del búfer de arduino. Time.Sleep(2) # escriba ~ para cerrar la cadena y envío de información de arduino es acabado ser.write(b"~") # espere 5 minutos antes de la segunda verificación de RSS y volver a enviar datos a Arduino
datamem = xmlTag time.sleep(30) otro: time.sleep(60)
#download el archivo rss no dude en poner su propia url del rss en archivo2 aquí = urllib.request.urlopen ('https://www.facebook.com/feeds/notifications.php?id=someidhere & viewer = someviewer & key = somekeyhere & format = rss20') #convert a data2 = file2.read() #close el archivo file2.close()
#parse el xml de la cadena dom2 = parseString(data2)
#retrieve la primera etiqueta xml (datos) que el analizador encuentra con nombre tagName cambiar etiquetas para obtener diferentes datos xmlTag2 = dom2.getElementsByTagName('title')[1].toxml() # [2] indica que se analiza la etiqueta de título 3 encuentra, cuenta inicia en 0
Si xmlTag2! = datamem2:
#strip de la etiqueta (datos---> datos) xmlData2=xmlTag2.replace ('
'') #write el marcador ~ a ser.write(b"~") serial time.sleep(5) #split la cadena en palabras individuales nums = xmlData2.split(' ') #loop hasta que todas las palabras en cadena se han impreso para num en nums: #write 1 palabra ser.write (bytes (num, 'UTF-8'))
# escribir 1 espacio ser.write (bytes (' ', 'UTF-8'))
# EL RETRASO ES NECESARIO. Evita el desbordamiento del búfer de arduino. Time.Sleep(2) # escriba ~ para cerrar la cadena y envío de información de arduino es acabado ser.write(b"~") # espere 5 minutos antes de la segunda verificación de RSS y volver a enviar datos a Arduino
datamem2 = xmlTag2 time.sleep(120) otro: time.sleep(60)