Nach dem Üben der Python-Box mit Choregraphe von Livedoors Weather Web Service Ich möchte, dass NAO (Pepper) über die aktuelle / morgen / übermorgen Prognose spricht.
Ich habe mir die Weisheit meiner Vorfahren geliehen! Bitte sehen Sie hier für Details. Die Idee der Python-Box (technische Sitzung von Pepper Tech Fes)
Die Beziehung zwischen den Boxen ist wie folgt.
Boxname | Aufbau |
---|---|
Set Language | Language: Japanese |
Speech Reco. | Word list:Der heutige Tenki;Das Wetter von morgen;Das Wetter übermorgen;Das Ende |
Switch Case | Speech Reco.Die in der Word-Liste von angegebene Zeichenfolge""Fügen Sie ein (doppeltes Anführungszeichen) und setzen Sie es in jede Zeile |
Say | Doppelklicken Sie auf das Feld und legen Sie Sprache (Japanisch) und beliebigen Text fest |
Python Script | Schreiben Sie hier die Wettererfassung vom Wetterwebservice |
Say Text | Zwei Boxen, eine für die erfasste Wettervorhersage und eine für das Ende |
Python Script
Im Standard-Python-Skript sind alle Ein- und Ausgänge "Bang"
Klicken Sie mit der rechten Maustaste auf das Feld> wählen Sie Feld bearbeiten und setzen Sie die Eingabe onStart und die Ausgabe onStopped Type auf string
.
Ich denke, es ist einfacher zu schreiben, aber vorerst der Code, der funktioniert hat. .. ..
class MyClass(GeneratedClass):
def __init__(self):
GeneratedClass.__init__(self)
def onLoad(self):
pass
def onUnload(self):
pass
def onInput_onStart(self, question):
import urllib2, json
url = "http://weather.livedoor.com/forecast/webservice/json/v1?city=030010"
r = urllib2.urlopen(url)
root = json.loads(r.read())
if question == "Der heutige Tenki":
result = "Das aktuelle Tenki ist" + root['forecasts'][0]['telop'].encode('utf8') + "ist."
self.onStopped(result)
elif question == "Das Wetter von morgen":
result = "Das Wetter von morgen" + root['forecasts'][1]['telop'].encode('utf8') + "ist."
self.onStopped(result)
elif question == "Das Wetter übermorgen":
result = "Das Wetter übermorgen" + root['forecasts'][2]['telop'].encode('utf8') + "ist."
self.onStopped(result)
else:
self.onStopped(question)
def onInput_onStop(self):
self.onUnload()
Der Code für city =
setzt Morioka. * Für andere Vorwahlen klicken Sie auf hier.
Das Gefühl, dass es nicht klug ist, ist erstaunlich.
Recommended Posts