[PYTHON] Bitten Sie NAO (Pfeffer), Ihnen das Wetter mitzuteilen

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.

Python-Box-Konzept

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)

Verhalten

スクリーンショット 2016-03-26 22.25.29.png 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

Vorbereitung


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.

Skript


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.

Zusammenfassung

Das Gefühl, dass es nicht klug ist, ist erstaunlich.

Recommended Posts

Bitten Sie NAO (Pfeffer), Ihnen das Wetter mitzuteilen
Bitten Sie den Bot, Ihnen das Wetter (Niederschlagsinformationen) mithilfe der Wetterinformations-API (YOLP) mitzuteilen, die von Yahoo ~ Slack Bot Development mit Python ④ ~ bereitgestellt wird
Erleben Sie den Traum, den Sie verpasst haben, noch einmal! (Beschränkt jedoch auf Pfeffer)
Ich bin neu in Python. Könnten Sie mir bitte sagen, wo der Fehler liegt?
Wenn Sie den Chrome-Treiber aktualisieren möchten.
Fügen Sie eine Funktion hinzu, um dem Wetter heute mitzuteilen, dass der Bot locker ist (hergestellt von Python).
Fragen Sie nicht "Sind Sie sicher, dass Sie die Verbindung fortsetzen möchten?"
Die Programmiersprache, die Sie verwenden möchten
Ich habe dir geschrieben, dass du das Signal mit Go sehen sollst