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