LED-indikator för vind (4 / 4 steg)
Steg 4: Att få de nödvändiga uppgifterna till enheten.
Lite av Python:
Det är faktiskt första gången som jag skriver en bit kod i Python. Och jag måste säga att jag älskar att lära sig mer av det eftersom det är riktigt bra att använda.
Jag la den kod skriven i python 2.6 här och jag är öppen för alla kommentarer och förslag om det eftersom det också är nytt för mig.
Grunden för data är en XML-fil som innehåller väderdata för Nederländerna. Python ser den önskade datan upp i filen och sände det till com 4 var 5 minuter.
###############################################################################################
importera urllib
importera följetong
Importera tid
från xml.etree.ElementTree importera ElementTree
StationId = "6319"
hastighet = {"1": "1", "2": "2", "3": "3", "4": "4", "5": "5", "6": "6", "7": "7", "8": "8", "9": "9", "10": "a", "11": "b", "12": "c"}
riktning = {"N": "1", "NINGA": "2", "Nej": "3", "ONO": "4", "O": "5", "OZO": "6", "ZO": "7", "ZZO": "8", "Z": "9", "ZZW": "a", "ZW": "b", "WZW": "c", "W": "d", "WNW": "e", "NW": "f", "NNW": "g"}
URL = "http://xml.buienradar.nl"
ser = följetong. Serial(3)
samtidigt sant:
skriva ut "nieuw"
rot = ElementTree(file= urllib.urlopen(url))
ITER = root.getiterator()
för element i iter:
om element.tag == "weerstation":
p = element.items()
för namn, värde i p:
om värdet == StationId:
för barn i elementet:
om child.tag == "windsnelheidBF":
q = "1"
q = q + speed[child.text]
skriva ut q
ser.write(q)
om child.tag == "windrichting":
q = "2"
q = q + direction[child.text]
skriva ut q
ser.write(q)
om element.tag == "dag-plus1":
för barn i elementet:
om child.tag == "windkracht":
q = "3"
q = q + speed[child.text]
skriva ut q
ser.write(q)
om child.tag == "windrichting":
q = "4"
q = q + direction[child.text]
skriva ut q
ser.write(q)
ser.Close
Time.Sleep(30)
###############################################################################################