Après avoir pratiqué la box Python avec Choregraphe, de Livedoor's Weather Web Service J'aimerais que NAO (Pepper) parle de la prévision actuelle / demain / après-demain.
J'ai emprunté la sagesse de mes ancêtres! Veuillez consulter ici pour plus de détails. L'idée de la boîte Python (session technique Pepper Tech Fes)
La relation entre les boîtes est comme ça.
Nom de la boîte | Réglage |
---|---|
Set Language | Language: Japanese |
Speech Reco. | Word list:Tenki d'aujourd'hui;La météo de demain;La météo après-demain;La fin |
Switch Case | Speech Reco.La chaîne de caractères spécifiée dans la liste Word de""Placer entre (guillemets doubles) et définir dans chaque ligne |
Say | Double-cliquez sur la boîte et définissez la langue (japonais) et n'importe quel texte |
Python Script | Écrivez ici l'acquisition météo du service Web météo |
Say Text | Deux cases, une pour les prévisions météo acquises et une pour la fin |
Python Script
Dans le script Python par défaut, toutes les entrées et sorties sont bang
, donc
Cliquez avec le bouton droit sur la boîte> sélectionnez Boîte d'édition et définissez l'entrée onStart et la sortie onStopped Type sur string
.
Je pense que c'est plus facile à écrire, mais pour le moment, le code qui a fonctionné. .. ..
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 == "Tenki d'aujourd'hui":
result = "Le tenki actuel est" + root['forecasts'][0]['telop'].encode('utf8') + "est."
self.onStopped(result)
elif question == "La météo de demain":
result = "La météo de demain" + root['forecasts'][1]['telop'].encode('utf8') + "est."
self.onStopped(result)
elif question == "La météo après-demain":
result = "La météo après-demain" + root['forecasts'][2]['telop'].encode('utf8') + "est."
self.onStopped(result)
else:
self.onStopped(question)
def onInput_onStop(self):
self.onUnload()
Le code de city =
définit Morioka. * Pour les autres indicatifs régionaux, cliquez ici.
Le sentiment que ce n'est pas intelligent est incroyable.
Recommended Posts