MayorTom:Alexa Voice Controlled ARDrone 2.0
Pintu belakang seluler dengan Hologram Nova pada labu Raspberry Pi-ask server-Amazon Alexa dikendalikan.
Cerita
Motivasi
Proyek kami sebelumnya dengan ARDrone 2.0 membantu kami mempelajari proyek baru. Entri Tantangan Rumah Cerdas Alexa dan Arduino kami saat ini memperkenalkan kepada kami keterampilan yang dibutuhkan untuk membuat demo yang berfungsi untuk drone yang dikontrol suara.
Inilah yang kami dapatkan:
Di bawah ini, kami menguraikan proses kami.
Pengaturan Perangkat Lunak Pi
Untuk menyiapkan Pi dengan perangkat lunak yang diperlukan, instal flask-ask:
$ sudo pip install flask-ask
Anda juga memerlukan perpustakaan yang mengontrol ARDrone melalui WiFi. Kloning ini repoand jalankan skrip install.sh yang disediakan.
Menyiapkan Keterampilan dan Aplikasi Alexa
Kami membuat keterampilan yang ditautkan ke server yang menjalankan raspberry pi. Flask adalah library python yang mudah digunakan untuk melayani aplikasi. Dengan menggunakan flask-ask, kita dapat mengonfigurasi server untuk berkomunikasi dengan keahlian Alexa kita. Kami menggunakan Ngrok untuk melayani aplikasi secara eksternal dan memberi kami tautan https yang kami perlukan untuk keterampilan Alexa kami. Berikut cuplikan kode untuk aplikasi tersebut. App.pyscript lengkapnya akan dilampirkan di bawah.
#!/usr/bin/env pythonfrom flask import Flaskfrom flask_ask import Ask, statementimport ardroneimport timeapp =Flask(__name__)ask =Ask(app, '/')drone =ardrone.ARDrone() time.sleep(5)drone.reset()@app.route('/')def home():mengembalikan 'Ground Control to Major Tom'@ask.intent('reset')def reset():drone.reset () speech_text ='mengatur ulang' pernyataan kembali(speech_text)
Untuk menjalankan aplikasi ini, cukup ketik:
python app.py
Untuk proyek ini, kami menggunakan ngrok untuk melayani aplikasi melalui https. Kami menggunakan nama subdomain yang dicadangkan sehingga tautannya dapat konsisten dengan konfigurasi keterampilan Amazon Alexa. Untuk melayani aplikasi, jalankan:
./ngrok http -subdomain= 5000
Karena Raspberry Pi bergabung dengan titik akses WiFi ARDrone, kami menggunakan modem USB Hologram Nova sebagai pintu belakang seluler yang memungkinkan Alexa berkomunikasi dengan server flask-ask.
Kami menemukan bahwa aplikasi bekerja dengan lancar menggunakan hologram nova dengan paket data bulanan 250mb. Anda dapat menyiapkannya menggunakan dasbor hologram dan mengaktifkan kartu sim.
Menyiapkan keterampilan Alexa, buka dasbor pengembang Amazon, lalu masuk. Klik Alexa dan mulai dengan Alexa Skill kit. Kemudian buat keterampilan baru dengan mengklik Tambahkan keterampilan baru. Mulailah menyelesaikan tab di sebelah kiri dengan mengikuti instruksinya.
Ikuti instruksi yang diberikan oleh gui.
- Di bawah Model Interaksi, isi kotak Intent Schema dengan yang berikut ini:
{ "niat":[ { "niat":"reset" }, { "niat":"lepas landas" }, { "niat":"land" }, { "niat":"hover" }, { "intent":"goForward" }, { "intent":"goBackward" }, { "intent":"goLeft" }, { "intent":"goRight" }, { "intent":"AMAZON.PreviousIntent" }, { "intent":"AMAZON.NextIntent" }, { "intent":"AMAZON.HelpIntent" }, { "intent":"AMAZON.ScrollUpIntent" }, { "intent":"AMAZON .ScrollLeftIntent" }, { "intent":"AMAZON.ScrollDownIntent" }, { "intent":"AMAZON.ScrollRightIntent" }, { "intent":"AMAZON.PageUpIntent" }, { "intent":"AMAZON.PageDownIntent " }, { "intent":"AMAZON.MoreIntent" }, { "intent":"AMAZON.NavigateSettingsIntent" }, { "intent":"AMAZON.StopIntent" } ]}
- Dalam kotak Contoh Ucapan, tulis:
reset ulang lepas landas lepas landas lepas landas lepas landas lepas landas naik naik lepas landas lepas landas naik turun daratan turun ke tanah turun ke tanah turun naik ke tanah kontrol tanah melayang-layang tetap melayang tetap di tempatmu maju Maju majugo Maju maju maju maju mundur backgoKiri bergerak ke kirigoKiri ke kirigoKiri belok kirigoKanan ke kanangoKanan bergerak ke kanangoKanan belok kanan
- Dalam Konfigurasi tab, pastikan untuk memilih titik akhir layanan ke HTTPS. Salin tautan https Anda dan tempel di kotak Default di bawahnya. Penautan akun dapat diserahkan ke No.
- Di Sertifikat SSL pilih opsi tengah, “Titik akhir pengembangan saya adalah sub-domain dari domain yang memiliki sertifikat wildcard dari otoritas sertifikat”.
- Ujian tab akan memungkinkan Anda menguji keterampilan baru dengan mengetikkan salah satu contoh perintah Anda.
Selesaikan pengisian dua tab terakhir sampai semua tanda centang berwarna hijau. Kemudian luncurkan keahlian Anda dengan fitur pengujian beta. Ini memungkinkan Anda untuk meng-host keahlian Anda di perangkat gema apa pun sebelum menerbitkannya. Ikuti petunjuk pada tautan email untuk memasang keterampilan di perangkat Echo Anda.
Jalankan
Untuk menjalankan seluruh aplikasi, pertama-tama pastikan drone Anda aktif dan koneksi wifinya aktif. Di server Raspberry Pi, sambungkan ke jaringan ARDrone Anda. Di terminal, sambungkan ke jaringan Hologram dengan menjalankan perintah berikut:
$ sudo hologram jaringan terhubung
Setelah LED biru pada Nova menyala dan proses ini selesai, Anda berada di jaringan seluler. Pada tab terpisah, jalankan perintah ngrok yang kami sebutkan sebelumnya:
$ ./ngrok http -subdomain= 5000
Akhirnya, di tab lain, jalankan aplikasi
$ python app.py
Jika lampu drone berwarna hijau, Anda dapat terbang. Jika tidak, minta Alexa untuk mengatur ulang dengan mengatakan, “Alexa, minta MajorTom untuk mengatur ulang.”
Sumber: MajorTom:Alexa Voice Controlled ARDrone 2.0