[PYTHON] [AWS / Tello] Ich habe versucht, die Drohne mit meiner Stimme Part2 zu bedienen

Einführung

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

Systemkonfiguration

system.png

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!

Auszug und Erklärung

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

Kommunikation mit IoT Core

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.

Zusammenfassung

Sehen wir uns das ausgefüllte Formular im Video an. IMAGE ALT TEXT HERE

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

[AWS / Tello] Ich habe versucht, die Drohne mit meiner Stimme Part2 zu bedienen
[AWS / Tello] Ich habe versucht, die Drohne mit meiner Stimme Part1 zu bedienen
Ich habe versucht, den DNN-Teil von OpenPose mit Chainer-CPU auszuführen
Ich habe versucht, DeepPose mit PyTorch PartⅡ zu implementieren
Ich habe versucht, mit Pillow mit dem Bild zu spielen
Ich habe einen kleinen Tello-Formationsflug mit Drohnen mit ESP32 versucht: DJI Tello-Drohnen-Formationsflug
Ich habe versucht, das Bild mit Python + OpenCV zu "glätten"
Ich habe versucht, das Bild mit Python + OpenCV zu "differenzieren"
Ich habe versucht, die Daten mit Zwietracht zu speichern
Ich habe versucht, das Bild mit Python + OpenCV zu "binarisieren"
Ich habe versucht, AWS Lambda mit anderen Diensten zu verbinden
Ich habe versucht, mit tkinter mit dem Taschenrechner zu spielen
[Einführung in AWS] Ich habe versucht, eine Konversations-App zu portieren und mit text2speech @ AWS playing zu spielen
Ich habe versucht, die Sündenfunktion mit Chainer zu trainieren
Ich habe eine emotionale Analyse von Amazon Comprehend mit der AWS CLI durchgeführt.
Ich habe versucht, eine CSV-Datei mit Python zu berühren
Ich habe versucht, Soma Cube mit Python zu lösen
[MQTT] Ich habe versucht, mit einem Gerät über AWS IoT Core und Soracom Beam zu sprechen.
Ich habe AWS CDK ausprobiert!
Ich habe versucht, den negativen Teil von Meros zu löschen
Ich habe versucht, das Problem mit Python Vol.1 zu lösen
Ich habe AWS Iot ausprobiert
[Einführung in AWS] Ich habe versucht, mit der Sprach-Text-Konvertierung zu spielen ♪
Ich habe versucht, die Stimmen der Sprecher zu klassifizieren
Ich habe versucht, die API mit dem Python-Client von echonest zu erreichen
Ich wollte die Google-Tabelle mit AWS Lambda betreiben, also habe ich es versucht [Teil 2]
Ich habe versucht, den Stromverbrauch meines Hauses mit Nature Remo E lite zu visualisieren
Ich habe versucht, die Entropie des Bildes mit Python zu finden
Ich habe versucht, das Bild mit Python + OpenCV "gammakorrektur" zu machen
Ich habe versucht zu simulieren, wie sich die Infektion mit Python ausbreitet
Ich habe versucht, die Emotionen des gesamten Romans "Wetterkind" zu analysieren
Ich habe versucht, die Python-Bibliothek von Ruby mit PyCall zu verwenden
Ich habe versucht, mit TensorFlow den Durchschnitt mehrerer Spalten zu ermitteln
Ich habe versucht, die Zugverspätungsinformationen mit LINE Notify zu benachrichtigen
Ich habe versucht, die Windows 10-Festplatte durch eine kleinere SSD zu ersetzen
Ich habe versucht, den DRF-API-Anforderungsverlauf mit django-request zu speichern
Ich habe versucht, den Ipython-Cluster unter AWS auf das Minimum zu starten
Ich habe fp-Wachstum mit Python versucht
Ich habe versucht, mit Python zu kratzen
Ich habe versucht, mit Elasticsearch Ranking zu lernen!
Ich habe versucht, mit PyCaret zu clustern
Ich habe die Changefinder-Bibliothek ausprobiert!
Ich habe gRPC mit Python ausprobiert
Ich habe versucht, mit Python zu kratzen
Ich habe versucht, AWS Chalice zu verwenden
Ich habe versucht herauszufinden, wie ich den Arbeitsablauf mit Excel × Python, meiner Artikelzusammenfassung ★, optimieren kann
Ich habe versucht, den Sesam für Eingang 2 mit einem einzigen Druck auf die AWS IoT-Taste zu entsperren
Ich habe versucht, das Ranking des Qiita-Adventskalenders mit Python zu kratzen
Ich habe versucht, den Datenverkehr mit WebSocket in Echtzeit zu beschreiben
Ich habe versucht, die Anfängerausgabe des Ameisenbuchs mit Python zu lösen
Ich habe versucht, eine eigenständige Bereitstellung von Play with Fabric [AWS-Operation mit Boto] [Play Deployment] durchzuführen.
Ich habe versucht, die Bewässerung des Pflanzgefäßes mit Raspberry Pi zu automatisieren
Ich habe eine Kreuzvalidierung basierend auf dem Rastersuchergebnis mit scikit-learn versucht
Ich habe versucht, das Bild mit OpenCV im "Skizzenstil" zu verarbeiten
Ich habe mit Kaggle Start Book basierend auf Kaggle studiert [Teil 1]
Wenn ich die exe-Datei mit pyinstaller ausführe, stürzt mein PC ab.
Ich habe am Wochenende versucht, mit Bitcoin Systre zu beginnen
Ich habe versucht, PyEZ und JSNAPy zu verwenden. Teil 4: Automatisieren Sie die ISP-Einrichtung mit PyEZ und JSNAPy