Dieser Beitrag Evakuierungsberatungssystem mit Drohne Dies ist das dritte Kapitel von. Den Produktionshintergrund entnehmen Sie bitte.
Darüber hinaus basiert der Inhalt dieses Kapitels auf den folgenden Inhalten. Wenn Sie es also noch nicht gelesen haben, lesen Sie es bitte zuerst. Kapitel 1 [AWS / Tello] Erstellen eines Systems zum Betreiben von Drohnen in der Cloud Kapitel 2 [AWS / Tello] Ich habe versucht, die Drohne mit Voice Part1 zu bedienen
Lambda
Ich werde den Code von Lambda schreiben. Ich habe das ausgefüllte Formular jedoch geschrieben und werde es veröffentlichen. Die Dokumentation für das Alexa Skills Kit SDK für Python war verwirrend und es fiel mir schwer, Code zu schreiben lol https://github.com/shoda888/alexa2tello/blob/master/lambda_function.py Möglicherweise ist redundanter Code vorhanden. Bitte PR zu diesem Zeitpunkt!
session_attributes: Variablen, die während der Sitzung gehalten werden können Diesmal bleibt der Steckplatzname erhalten. Dieses Mal versuche ich erneut nach der Person zu fragen, die nur einen der Orte angegeben hat, an denen die Entfernung und Richtung als Satz eingegeben werden sollen. Zu diesem Zeitpunkt müssen die bereits erwähnten Elemente während der Sitzung für einen kurzen Zeitraum gespeichert werden, und dafür wird session_attributes verwendet. (Ich wollte session_attributes in den Zeilen 126-128 zurücksetzen, aber ich weiß nicht, wie ich es zurücksetzen soll, deshalb ersetze ich zwangsweise None. Wenn Sie wissen, wie man es einfach zurücksetzt: beten Sie :)
session_attr = handler_input.attributes_manager.session_attributes
slots = handler_input.request_envelope.request.intent.slots
resolutions: Entitätsauflösung (← Name allein ist nicht genau) Wenn Sie die Synonyme für den Steckplatzwert festgelegt haben, möchten Sie möglicherweise, dass sie als eine Gruppen-ID erkannt werden. Wenn Sie beispielsweise die Synonyme "Anstieg" und "Aufwärts" für den Steckplatzwert "Auf" registrieren und "Auf" als Gruppen-ID registrieren, selbst wenn Sie "Anstieg", "Auf" sagen. Selbst wenn Sie "sagen" sagen, kann es als ID "up" erkannt werden. Mit anderen Worten, wenn Sie als Befehl an die Drohne senden, kann er integriert werden, sodass "up" gesendet werden kann, unabhängig davon, ob Sie "up" oder "ascise" sagen.
direction = slots["direction"].resolutions.resolutions_per_authority[0].values[0].value.name
iot = boto3.client('iot-data')
def publish(msg):
#Geben Sie ein Thema an
topic = 'test/pub'
#Nachrichteninhalt
payload = {
"message": msg
}
try:
#Nachricht veröffentlichen
iot.publish(
topic=topic,
qos=0,
payload=json.dumps(payload, ensure_ascii=False)
)
return True
except Exception as e:
print(e)
return False
das ist alles! Geben Sie übrigens die Rolle an, mit der die Richtlinie, die das Veröffentlichen in IoT Core ermöglicht, an Lambda angehängt ist. (Sonst kannst du nicht kommunizieren) Der Code des Teilnehmers kann mit der Drohne unter Bezugnahme auf den Inhalt des vorherigen Kapitels und des vorherigen Kapitels kommunizieren.
Sehen wir uns das ausgefüllte Formular im Video an.
Lassen Sie uns im nächsten Kapitel ein System erstellen, das etwas anhand des Bildes beurteilt und das Feedback zur Drohne steuert. "Aufbau eines Systems, das den Zustand anhand von Informationen wie der Haltung der Person, deren Bild analysiert wurde, schätzt und benachrichtigt"
Recommended Posts