Demo ARDrone 2.0 Dikontrol Alexa: Drone Diaktifkan Suara dengan Raspberry Pi & Hologram Nova
Panduan praktis untuk mengubah ARDrone 2.0 menjadi teman yang dikontrol suara menggunakan Amazon Alexa, Raspberry Pi, dan modem USB Hologram Nova.
Cerita
Motivasi
Setelah menguasai ARDrone 2.0 dalam proyek sebelumnya, kami mencoba meningkatkan pengalaman dengan mengintegrasikan antarmuka suara Alexa. Alexa & Arduino Smart Home Challenge menginspirasi kami untuk membangun demo drone yang dikendalikan suara yang berfungsi penuh.
Berikut adalah rangkuman singkat proses kami.
Kami akan membahas pengaturan perangkat lunak Pi, konfigurasi keterampilan Alexa, dan langkah-langkah deployment akhir.
Pengaturan Perangkat Lunak Pi
Instal library Flask-Ask di Pi untuk mengekspos endpoint kompatibel Alexa:
$ sudo pip install flask-ask
Selanjutnya, clone repositori kontrol Wi-Fi ARDrone dan jalankan skrip install.sh yang disediakan untuk mengaktifkan kontrol jarak jauh melalui Python.
Menyiapkan Keterampilan dan Aplikasi Alexa
Kami membangun keterampilan Alexa kustom yang berbicara dengan server Flask yang berjalan di Pi. Ngrok memberikan server endpoint HTTPS publik yang diperlukan oleh Alexa.
Berikut adalah contoh aplikasi Flask-Ask minimal (simpan sebagai app.py):
#!/usr/bin/env python from flask import Flask from flask_ask import Ask, statement import ardrone import time app = Flask(__name__) ask = Ask(app, "/") # Inisialisasi drone dan berikan jeda reset singkat drone = ardrone.ARDrone() time.sleep(5) drone.reset() @app.route("/") def home(): return "Ground Control to Major Tom" @ask.intent("reset") def reset(): drone.reset() return statement("resetting")
Jalankan server dengan:
python app.py
Mulai Ngrok dengan sub-domain yang dicadangkan untuk menjaga URL HTTPS stabil:
Catatan: Pi bergabung dengan jaringan Wi-Fi ARDrone, sementara Hologram Nova menyediakan konektivitas seluler untuk permintaan Alexa.
Kami menggunakan paket bulanan 250 MB di Nova, yang memberikan performa yang andal.
Untuk mengonfigurasi keterampilan Alexa, navigasikan ke Amazon Developer Console → Alexa Skills Kit → + Add a New Skill. Ikuti wizard layar, lengkapi setiap tab hingga semua indikator status berwarna hijau.
Interaction Model – Intent Schema: Salin JSON di bawah ini ke editor.
Sample Utterances – isi dengan frasa seperti "takeoff", "land", "go forward", dll. (lihat daftar asli untuk referensi).
Configuration – set endpoint ke HTTPS dan tempel URL Ngrok ke field Default. Nonaktifkan account linking untuk demo ini.
SSL Certificate – pilih opsi tengah: “My development endpoint is a sub‑domain of a domain that has a wildcard certificate from a certificate authority”.
Test – gunakan simulator bawaan untuk memverifikasi setiap intent berfungsi.
Setelah semua tab menunjukkan tanda centang hijau, publikasikan keterampilan ke perangkat Echo Anda melalui tautan pengujian beta.
Jalankan
Untuk meluncurkan sistem lengkap:
Nyalakan ARDrone dan hubungkan Pi ke jaringan Wi-Fi-nya.
Di Pi, aktifkan jaringan seluler Hologram Nova:
$ sudo hologram network connect
Setelah LED Nova menjadi biru padat, link seluler aktif.
Mulai Ngrok dengan sub-domain yang dicadangkan (lihat sebelumnya).
Jalankan aplikasi Flask:
$ python app.py
Dengan LED drone hijau, Anda dapat memerintahnya melalui Alexa. Jika drone tidak merespons, katakan "Alexa, ask Major Tom to reset".