- Bahan yang indah:
- Bagian 1: Menyiapkan Raspberry Pi dengan SSH dan VNC
- Bagian 2: Siapkan Akun Pengembang Amazon Anda dan Konfigurasikan Layanan Alexa Voice di Raspberry Pi:
- Bagian 3: Menyiapkan PubNub dan IFTTT untuk Otomatisasi Rumah Alexa Pi :
- Bagian 3-2: Menyiapkan IFTTT untuk Amazon Alexa Service:
- Bagian 4: Koneksi perangkat keras dan Diagram Sirkuit:
- Bagian 5: Kode Python untuk Mengontrol LED:
Pernahkah Anda berpikir tentang speaker yang dapat dikontrol oleh suara Anda !!! Bagaimana jika kita dapat mengontrol peralatan rumah tangga kita dengan cara ini dan membuat peralatan tersebut lebih pintar? Asisten suara menjadi lebih populer saat kita menuju era sistem berbasis AI dan IoT. Anda telah mendengar tentang Google Assistant, Apple Siri, dan Amazon Alexa . Ini semua adalah sistem AI berbasis Suara, yang membuatnya berbeda satu sama lain adalah ekosistemnya, dan di sinilah Amazon Alexa paling menonjol. Google, Apple dan Amazon, semua perusahaan ini telah meluncurkan speaker pintar mereka tetapi Amazon adalah yang pertama kali memperkenalkan speaker pintar. Amazon echo, Echo Dot Spot, dll. Adalah speaker pintar yang tersedia di pasar.
Amazon menyediakan API untuk menggunakan layanan suaranya yang sangat populer, Alexa. Ini open source dan tersedia di Github. Selanjutnya Anda dapat menginstal atau mengintegrasikan Alexa pada perangkat khusus seperti Raspberry Pi dan mendapatkan fungsionalitas Amazon Echo lengkap di perangkat itu.
Dengan menggunakan layanan suara Alexa, kita dapat memutar musik, mendapatkan informasi tentang cuaca, memesan tiket dan banyak lagi. Yang harus Anda lakukan adalah 'meminta'. Dalam tutorial ini, kita akan melihat bagaimana kita dapat mengontrol Raspberry Pi GPIO menggunakan layanan Alexa Voice untuk menyalakan LED.
Bahan yang indah:
Persyaratan Hardware:
- Raspberry Pi 3 atau Raspberry Pi 2 Model B dan SD Card (8GB atau lebih)
- Speaker Eksternal dengan kabel AUX 3.5mm
- Semua Webcam atau Mikrofon USB 2.0
- Modul relai
- LED
Catatan: Webcam memiliki mikrofon inbuilt jadi, kami akan menggunakan ini sebagai pengganti mikrofon USB 2.0.
Aplikasi Perangkat Lunak dan Persyaratan Web:
- Daftarkan akun dengan Alexa Voice Services
- Daftarkan akun dengan PubNub
- Daftarkan akun dengan IFTTT
Kami juga berasumsi bahwa Raspberry pi Anda sudah diatur dengan OS Raspbian dan terhubung ke internet. Dengan ini, mari kita lanjutkan dengan tutorial. Jika Anda baru mengenal Raspberry Pi, lanjutkan ke Memulai dengan Raspberry pi terlebih dahulu.
Keseluruhan tutorial sebagian besar dibagi menjadi 5 bagian, yaitu sebagai berikut:
- Jika Anda tidak memiliki monitor maka kita harus mengatur Raspberry Pi dengan SSH dan VNC, periksa juga konektivitas Mikrofon USB.
- Siapkan Pengembang Amazon Anda dan instal Alexa di Raspberry Pi
- Menyiapkan PubNub dan IFTTT untuk Alexa Home Automation
- Koneksi perangkat keras
- Kode Python untuk Kontrol Alexa Pi GPIO
Jika Anda hanya ingin mengontrol LED dengan suara Anda, periksa juga proyek LED yang dikendalikan Suara berbasis Bluetooth.
Bagian 1: Menyiapkan Raspberry Pi dengan SSH dan VNC
Pertama kita akan menghubungkan Raspberry Pi dengan SSH dan VNC. Untuk mengikuti tutorial ini di situs web resmi Raspberry Pi, tautan diberikan di bawah ini.
Untuk SSH: tautan SSh
Untuk VNC: Link VNC
Jika Anda memiliki Monitor maka Anda dapat meninggalkan langkah ini dan langsung ke langkah 2 yaitu Menyiapkan Alexa Voice Service (Avs). Sebelum itu kita harus memeriksa konektivitas mic.
Memeriksa Mic Webcam dengan Raspberry Pi:
1. Buka terminal Raspberry Pi dan ketik perintah arecord -l. Ini akan menampilkan perangkat keras yang terhubung ke Raspberry Pi seperti gambar di bawah ini:
Kartu 1 adalah mikrofon webcam Anda yang akan kami gunakan. Jika tidak ditampilkan, webcam Anda mungkin rusak.
2. Sekarang, periksa apakah mikrofon berfungsi dengan menjalankan perintah rekam audio sebagai:
arecord /home/pi/Desktop/test.wav -D sysdefault: CARD = 1
3. Untuk memutar jenis audio yang direkam perintah ini:
omxplayer -p -o local /home/pi/Desktop/test.wav
Jika Anda telah menghubungkan Raspberry Pi dengan monitor menggunakan kabel HDMI maka output audio default adalah melalui speaker monitor Anda (jika ada speaker inbuilt di dalamnya). Jadi, untuk mengubahnya menjadi 3.5mm Anda harus mengetikkan perintah berikut:
sudo raspi-config dan masuk ke opsi Advance.
Pilih Audio dari daftar -> pilih Force 3.5mm -> pilih Ok dan Restart Raspberry Pi Anda.
Sekarang, Anda akan mendengar suara dari jack 3.5mm.
CATATAN: Jika Anda ingin menambah atau mengurangi kenyaringan suara input untuk mikrofon, ketik alsamixer di terminal. Pilih kartu suara dari terminal dengan menekan F6.
Tekan F4 untuk mengubah penguatan Mic dB dan atur sesuai keinginan.
Jika Anda memiliki mikrofon USB 2.0, maka langkah-langkah yang diikuti sama untuk memeriksa mikrofon. Di sini kami telah menggunakan Webcam untuk microcphone USB.
Bagian 2: Siapkan Akun Pengembang Amazon Anda dan Konfigurasikan Layanan Alexa Voice di Raspberry Pi:
Kami telah menjelaskan ini secara rinci dalam tutorial kami sebelumnya di mana kami telah membangun speaker pintar Amazon Echo. Di sini kami fokus untuk mengontrol Raspberry Pi GPIO dengan Alexa sehingga kami tidak menjelaskan keseluruhan proses lagi, jadi baca artikel sebelumnya dan siapkan Speaker Anda dengan layanan suara Alexa yang diinstal pada Raspberry pi Anda.
Untuk menguji Alexa, bangunkan dia dengan menyebutkan namanya! Lihat Video Demo yang Diberikan di akhir tutorial.
Anda dapat bertanya kepadanya tentang suhu kota Anda untuk memeriksa apakah berfungsi atau tidak.
Bagian 3: Menyiapkan PubNub dan IFTTT untuk Otomatisasi Rumah Alexa Pi :
Untuk mengontrol Raspberry Pi GPIO menggunakan Alexa Pi ini, kita membutuhkan bantuan PubNub python SDK dan IFTTT. Kami akan memberikan perintah kepada IFTTT melalui Alexa, dan PubNub memberi sinyal kepada RPi untuk menyalakan / mematikan LED. Jadi pertama kita akan install PubNub di Raspberry Pi.
Bagian 3-1: Menginstal PubNub Python SDK:
PubNub menyediakan API perpesanan untuk menerbitkan / berlangganan pesan apa pun di jaringan Global mereka. Di sini kami menggunakan IFTTT dan Alexa untuk mempublikasikan pesan di PubNub, untuk membuat Raspberry Pi GPIO rendah / tinggi. Pesan ini diterima oleh Raspberry Pi dan Pi akan menyalakan atau mematikan LED yang sesuai. Ikuti langkah-langkah di bawah ini untuk mengatur PubNub di Raspberry Pi:
Langkah 1: Buka terminal pada RPi Anda dan jalankan perintah berikut untuk menginstal SDK:
sudo pip install pubnub == 3.9.0
Instal versi 3.9.0 saja, versi lain tidak akan berfungsi dengan skrip python yang akan kita jalankan terakhir kali.
Langkah 2: Sekarang, buka PubNub dan masuk dengan kredensial Anda.
Langkah 3:. Dapatkan Publish dan Subscribe Key yang akan kami gunakan nanti.
Bagian 3-2: Menyiapkan IFTTT untuk Amazon Alexa Service:
IFTTT adalah layanan berbasis web gratis yang memungkinkan pengguna membuat rangkaian pernyataan bersyarat sederhana, yang disebut "resep", yang dipicu berdasarkan perubahan pada layanan web lain seperti Gmail, Facebook, Instagram, dan. IFTTT adalah singkatan dari “If This Then That”.
Untuk proyek ini, IFTTT digunakan untuk membuat Raspberry Pi GPIO LOW / HIGH berdasarkan perintah ucapan yang diterima oleh layanan Alexa yang berjalan pada RPi.
Ikuti langkah-langkah berikut untuk membuat Applet:
Langkah 1: - Masuk ke IFTTT dengan kredensial Anda atau Daftar jika Anda tidak memiliki akun di dalamnya.
Langkah 2: - Di My Applet, Klik New Applet
Langkah 3: - Klik + ini
Langkah 4: - Cari Amazon Alexa dan klik di atasnya, masuk dengan detail akun pengembang amazon Anda.
Langkah 5: - Pilih pemicu, Ucapkan frasa tertentu
Langkah 6: - Berikan " nyalakan lampu" sebagai frasa, klik Buat Pemicu.
Langkah 7: - Klik + itu
Langkah 8: - Cari Webhooks, klik di atasnya dan Pilih Buat Permintaan Web
Langkah 9: - Webhooks menyediakan Permintaan WEB REST, Gunakan tombol Publish dan Subscribe yang diperoleh dari PubNub dan ubah URL berikut.
http://pubsub.pubnub.com//publish/pub_key/sub_key/0/alexaTrigger/0/{"requester":"Alexa","trigger":"light","status":1}
Langkah 10: - Tempelkan URL yang diubah ke kotak teks URL.
Langkah 11: - Tetapkan Metode sebagai GET, Konten sebagai aplikasi / json dan klik simpan.
Langkah 12: - Ikuti langkah yang sama untuk membuat pemicu " matikan lampu " dan ubah URL menjadi berikut.
pubsub.pubnub.com//publish/pub_key/sub_key/0/alexaTrigger/0/{"requester":"Alexa","trigger":"light","status" target="_blank
Langkah 13: - Kami sekarang siap dengan semua komponen web untuk demo.
Bagian 4: Koneksi perangkat keras dan Diagram Sirkuit:
Untuk proyek ini, kami membutuhkan LED sederhana untuk tujuan pengujian. Di bawah ini adalah diagram rangkaian dan koneksi Hardware untuk mengontrol Raspberry Pi GPIO dengan Amazon Alexa.
Kami akan menggunakan GPIO18 dalam skrip python kami, jadi, sambungkan relai LED 18 Anda. Anda dapat mengubahnya dalam skrip python.
Bagian 5: Kode Python untuk Mengontrol LED:
Temukan Script Python lengkap di akhir tutorial ini.
Anda perlu mengedit kunci Pub dan Sub dengan kunci pubnub Anda dalam kode python.
# Inisialisasi Kunci Pubnub pub_key = "***************************" sub_key = "*********** ************* "
Sekarang jalankan Script
python alexaRpi.py
Sekarang kita siap untuk demo, Pastikan Anda menjalankan ketiga layanan dari Bagian 1 (tiga terminal) sebelum melanjutkan.
Untuk memberikan perintah apa pun, Anda perlu mengaktifkan layanan Alexa dengan memanggil "Alexa" setiap kali Anda ingin mengirim perintah. Anda akan mendengar suara bip. Setelah Anda mendengar bunyi bip, ucapkan “ Alexa Trigger Turn on the Light. Anda dapat melihat lampu menyala dalam beberapa saat. Dan kemudian jika Anda mengatakan " Alexa Trigger Matikan Lampu ", lampu harus MATI.
Itu dia…. Anda selanjutnya dapat menambahkan relai untuk mengontrol peralatan AC, bahkan Anda dapat mengontrol banyak peralatan dengan menggunakan lebih banyak relai dan lebih banyak pin GPIO dari Raspberry pi.
Cek kode lengkap dan Video Demonstrasi di bawah ini. Juga periksa semua Proyek Otomasi Rumah kami di sini.