Panduan diperbarui untuk membiarkan Amazon Echo Anda mengontrol Google Chromecast melalui Raspberry Pi yang menjalankan Python.
Ringkasan
Menghubungkan Alexa dan Chromecast
Pernahkah Anda bertanya-tanya apakah Alexa Anda dapat mengontrol Chromecast? Tutorial langkah demi langkah ini menjelaskan bagaimana membuatnya terjadi dengan Raspberry Pi, MySQL, dan AWS Lambda.
CATATAN: Untuk skrip dan berkas proyek terbaru, kunjungi repositori GitHub kami.
Pendekatan ini disorot di “AlexaDev Tuesday: Innovative Alexa Skills Spotlight” pada LoveMyEcho dan menunjukkan bagaimana pengembang dapat menyelesaikan tantangan integrasi yang kompleks.
Mengapa Raspberry Pi?
Ukuran kecil, daya rendah, dan kompatibilitas dengan Raspbian menjadikan Pi ideal untuk hosting database MySQL, skrip Python, dan konfigurasi jaringan yang diperlukan untuk Alexa mencapai Chromecast.
Cara Kerja
- Pengguna memulai keterampilan dengan mengatakan, “Alexa, launch Chromecast.”
- Alexa mengirim perintah yang diminta (default ke pencarian YouTube) ke keterampilan.
- Keterampilan menulis perintah ke tabel MySQL di Pi.
- Proses Python latar belakang membaca tabel, menerjemahkan permintaan menjadi perintah Chromecast, dan mengeksekusinya.
- Setelah eksekusi, entri database dihapus.
- Alexa mengonfirmasi penyelesaian kepada pengguna.
Langkah 1: Siapkan Raspberry Pi Anda untuk Port Forwarding
Sebelum memulai, pastikan Pi Anda terhubung ke internet dan catat alamat IP-nya.
Untuk menemukan IP Pi:
- Buka terminal di Pi atau PC lain.
- Jalankan
ifconfig (Linux) atau ipconfig (Windows) untuk menemukan default gateway.
Akses halaman admin router Anda melalui alamat gateway dan konfigurasikan port forwarding untuk:
- 3306 – MySQL (port default)
- 80 – phpMyAdmin (opsional)
- 22 – SSH (opsional)
Catatan keamanan: Mengekspos port ini membuka jaringan Anda pada risiko potensial. Gunakan kata sandi yang kuat dan pertimbangkan untuk membatasi akses ke IP tepercaya.
Langkah 2: Instal MySQL di Pi
Jalankan perintah berikut di Pi:
sudo apt-get update && sudo apt-get install mysql-server --fix-missing
Amankan instalasi dengan sudo mysql_secure_installation dan buat pengguna khusus untuk keterampilan.
Langkah 3: Instal phpMyAdmin (Opsional)
Ikuti tutorial untuk menyiapkan phpMyAdmin untuk manajemen database yang lebih mudah.
Jalankan berkas build.sql yang disediakan untuk membuat skema yang diperlukan.
Langkah 4: Konfigurasikan Skrip
Buka index.py dan raspberry.py dan ganti placeholder:
- RASP_PI_DNS – nama host atau IP server MySQL
- MYSQL_USER – nama pengguna MySQL
- MYSQL_PASS – kata sandi MySQL
- DB_NAME – nama database
- CHROMECAST_NAME – nama perangkat Chromecast target
Langkah 5: Terapkan Keterampilan ke AWS Lambda
Zip semua berkas kecuali speechAssets dan raspberry.py, lalu:
- Masuk ke AWS Management Console dan buka Lambda.
- Klik “Create function”, lewati blueprint, namai
alexaChromecast, pilih runtime Python 3.9. - Pilih “Upload a .zip file” dan unggah arsip Anda.
- Setel handler ke
index.lambda_handler, peran ke “Basic execution”, dan batas waktu ke 30 s.
Langkah 6: Buat Keterampilan Alexa
- Kunjungi Amazon Developer Console dan buka Alexa Skills Kit.
- Klik “Add a New Skill”, namai “Alexa Chromecast”, setel nama panggilan ke “chromecast”.
- Unggah
intentSchema.json dan sample-utterances.txt dari folder speechAssets. - Tempel Lambda ARN di kolom “Endpoint”. Nonaktifkan account linking.
Langkah 7: Jalankan Skrip Raspberry Pi
Pindahkan raspberry.py ke Pi (melalui USB atau WinSCP). Jalankan dengan:
python3 raspberry.py
Langkah 8: (Opsional) Otomatis Start saat Boot
Buat skrip shell launcher.sh yang berisi:
#!/bin/bash sudo python3 /path/to/raspberry.py
Tambahkan pekerjaan cron untuk menjalankan launcher.sh saat boot:
@reboot /path/to/launcher.sh
Uji keterampilan di tab “Test” konsol pengembang Alexa. Jika semuanya dikonfigurasi dengan benar, Anda seharusnya dapat mengontrol Chromecast Anda dengan perintah suara.
Demo Video: Tonton di sini.