- Bahan Peribadi:
- Bahagian 1: Menyiapkan Raspberry Pi dengan SSH dan VNC
- Bahagian 2: Sediakan Akaun Pembangun Amazon Anda dan Konfigurasikan Perkhidmatan Suara Alexa di Raspberry Pi:
- Bahagian 3: Menyiapkan PubNub dan IFTTT untuk Automasi Rumah Alexa Pi :
- Bahagian 3-2: Menyiapkan IFTTT untuk Perkhidmatan Amazon Alexa:
- Bahagian 4: Sambungan perkakasan dan Litar Diagram:
- Bahagian 5: Kod Python untuk Mengawal LED:
Pernahkah anda memikirkan pembesar suara yang boleh dikawal oleh suara anda !!! Bagaimana jika kita dapat mengawal perkakas rumah kita dengan cara ini dan menjadikan perkakas ini lebih pintar? Pembantu suara menjadi lebih popular ketika kita menuju era sistem berasaskan AI dan IoT. Anda pernah mendengar mengenai Pembantu Google, Apple Siri dan Amazon Alexa . Ini semua adalah sistem AI berasaskan suara, yang menjadikannya berbeza antara satu sama lain adalah ekosistem mereka, dan di sinilah Amazon Alexa paling menonjol. Google, Apple dan Amazon, semua syarikat ini sudah melancarkan pembesar suara pintar mereka tetapi Amazon pertama kali memperkenalkan pembesar suara pintar. Amazon echo, Echo Dot Spot, dan lain-lain adalah pembesar suara pintar yang boleh didapati di pasaran.
Amazon menyediakan API untuk menggunakan perkhidmatan suaranya yang sangat popular, Alexa. Ia adalah sumber terbuka dan terdapat di Github. Selanjutnya anda boleh memasang atau mengintegrasikan Alexa pada peranti tersuai seperti Raspberry Pi dan mendapatkan fungsi Amazon Echo sepenuhnya dalam peranti tersebut.
Dengan menggunakan perkhidmatan suara Alexa, kami dapat memainkan muzik, mendapatkan maklumat mengenai cuaca, menempah tiket dan banyak lagi. Yang mesti anda buat hanyalah 'bertanya'. Dalam tutorial ini, kita akan melihat bagaimana kita dapat mengawal Raspberry Pi GPIO menggunakan perkhidmatan Alexa Voice untuk menyalakan LED.
Bahan Peribadi:
Keperluan Perkakasan:
- Kad Raspberry Pi 3 atau Raspberry Pi 2 Model B dan SD (8GB atau lebih)
- Pembesar suara luaran dengan kabel AUX 3.5mm
- Mana-mana Webcam atau Mikrofon USB 2.0
- Modul geganti
- LED
Catatan: Kamera web mempunyai mikrofon terbina dalam, jadi kami akan menggunakannya sebagai ganti mikrofon USB 2.0.
Aplikasi Perisian dan Keperluan Web:
- Daftarkan akaun dengan Alexa Voice Services
- Daftarkan akaun dengan PubNub
- Daftarkan akaun dengan IFTTT
Kami juga menganggap bahawa Raspberry pi anda sudah disiapkan dengan OS Raspbian dan disambungkan ke internet. Dengan ini, mari kita lanjutkan dengan tutorial. Sekiranya anda baru menggunakan Raspberry Pi, mulailah Memulakan Raspberry pi terlebih dahulu.
Keseluruhan tutorial ini terbahagi kepada 5 bahagian, seperti berikut:
- Sekiranya anda tidak mempunyai monitor maka kami harus menyiapkan Raspberry Pi dengan SSH dan VNC, periksa juga sambungan Mikrofon USB.
- Siapkan Pembangun Amazon Anda dan pasang Alexa di Raspberry Pi
- Menyiapkan PubNub dan IFTTT untuk Automasi Rumah Alexa
- Sambungan perkakasan
- Kod Python untuk Alexa Pi GPIO Control
Sekiranya anda hanya mahu mengawal LED dengan suara anda, periksa juga projek LED kawalan suara berasaskan Bluetooth kami.
Bahagian 1: Menyiapkan Raspberry Pi dengan SSH dan VNC
Pertama, kami akan menghubungkan Raspberry Pi dengan SSH dan VNC. Untuk mengikuti tutorial ini di laman web Raspberry Pi rasmi, pautan diberikan di bawah.
Untuk pautan SSH: SSh
Untuk pautan VNC: VNC
Sekiranya anda mempunyai Monitor, anda boleh meninggalkan langkah ini dan terus ke langkah 2 iaitu Menyiapkan Perkhidmatan Suara Alexa (Avs). Sebelum itu kita harus memeriksa kesambungan mikrofon.
Memeriksa Mic Webcam dengan Raspberry Pi:
1. Buka terminal Raspberry Pi dan ketik perintah arecord -l. Ini akan memaparkan peranti perkakasan yang disambungkan ke Raspberry Pi seperti gambar di bawah:
Kad 1 adalah mikrofon webcam anda yang akan kami gunakan. Sekiranya tidak dipaparkan, kamera web anda mungkin rosak.
2. Sekarang, periksa apakah mikrofon berfungsi dengan menjalankan perintah audio rakaman sebagai:
arecord /home/pi/Desktop/test.wav -D sysdefault: KAD = 1
3. Untuk memainkan jenis audio yang dirakam arahan ini:
omxplayer -p -o tempatan /home/pi/Desktop/test.wav
Sekiranya anda telah menyambungkan Raspberry Pi dengan monitor menggunakan kabel HDMI, maka output audio secara lalai adalah melalui pembesar suara monitor anda (jika terdapat pembesar suara terbina dalam) Oleh itu, untuk menukarnya menjadi 3.5mm, anda perlu memasukkan arahan berikut:
sudo raspi-config dan pergi ke pilihan Advance.
Pilih Audio dari senarai -> pilih Force 3.5mm -> pilih Ok dan Restart anda Raspberry Pi.
Sekarang, anda seharusnya mendengar suara dari bicu 3.5mm.
CATATAN: Sekiranya anda ingin menambah atau mengurangkan kekuatan suara input untuk mikrofon, ketik alsamixer di terminal. Pilih kad suara dari terminal dengan menekan F6.
Tekan F4 untuk menukar keuntungan Mic dB dan tetapkannya seperti yang anda mahukan.
Sekiranya anda mempunyai mikrofon USB 2.0 maka langkah yang diikuti adalah sama untuk memeriksa mikrofon. Di sini kami telah menggunakan Webcam untuk mikrokphone USB.
Bahagian 2: Sediakan Akaun Pembangun Amazon Anda dan Konfigurasikan Perkhidmatan Suara Alexa di Raspberry Pi:
Kami telah menerangkannya secara terperinci dalam tutorial sebelumnya di mana kami telah membina pembesar suara pintar Amazon Echo. Berikut adalah fokus untuk mengendalikan Raspberry Pi GPIO dengan Alexa sehingga kami tidak menjelaskan keseluruhan prosesnya lagi, jadi baca artikel sebelumnya dan siapkan Pembesar suara anda dengan perkhidmatan suara Alexa yang dipasang pada Raspberry pi anda.
Untuk menguji Alexa, bangunkan dia dengan menyebut namanya! Lihat Video Demo yang Diberikan pada akhir tutorial.
Anda boleh bertanya kepadanya mengenai suhu bandar anda untuk memastikan ia berfungsi atau tidak.
Bahagian 3: Menyiapkan PubNub dan IFTTT untuk Automasi Rumah Alexa Pi :
Untuk mengawal Raspberry Pi GPIO menggunakan Alexa Pi ini, kami memerlukan bantuan PubNub python SDK dan IFTTT. Kami akan memberikan arahan kepada IFTTT melalui Alexa, dan PubNub memberi isyarat kepada RPi untuk menghidupkan / mematikan LED. Oleh itu, kami akan memasang PubNub pada Raspberry Pi terlebih dahulu.
Bahagian 3-1: Memasang SDN PubNub Python:
PubNub menyediakan API pemesejan untuk menerbitkan / melanggan sebarang mesej di rangkaian Global mereka. Di sini kita menggunakan IFTTT dan Alexa untuk menerbitkan mesej di PubNub, untuk menjadikan Raspberry Pi GPIO rendah / tinggi. Mesej ini diterima oleh Raspberry Pi dan Pi akan menghidupkan atau mematikan LED dengan sewajarnya. Ikuti langkah-langkah di bawah untuk menyediakan PubNub di Raspberry Pi:
Langkah 1: Buka terminal pada RPi anda dan jalankan arahan berikut untuk memasang SDK:
sudo pip pasang pubnub == 3.9.0
Pasang versi 3.9.0 sahaja, versi lain tidak akan berfungsi dengan skrip python yang akan kita jalankan terakhir.
Langkah 2: Sekarang, pergi ke PubNub dan log masuk dengan bukti kelayakan anda.
Langkah 3:. Dapatkan Kunci Terbitkan dan Langgan yang akan kami gunakan di kemudian hari.
Bahagian 3-2: Menyiapkan IFTTT untuk Perkhidmatan Amazon Alexa:
IFTTT adalah perkhidmatan berasaskan web percuma yang membolehkan pengguna membuat rantai pernyataan bersyarat sederhana, yang disebut "resipi", yang dipicu berdasarkan perubahan pada perkhidmatan web lain seperti Gmail, Facebook, Instagram, dan. IFTTT adalah singkatan dari "Jika Ini Kemudian Itu".
Untuk projek ini, IFTTT digunakan untuk membuat Raspberry Pi GPIO RENDAH / TINGGI berdasarkan arahan ucapan yang diterima oleh perkhidmatan Alexa yang berjalan di RPi.
Ikuti langkah-langkah ini untuk membuat Applet:
Langkah 1: - Log masuk ke IFTTT dengan bukti kelayakan anda atau Daftar sekiranya anda tidak mempunyai akaun.
Langkah 2: - Pada Applet Saya, Klik pada Applet Baru
Langkah 3: - Klik + ini
Langkah 4: - Cari Amazon Alexa dan klik padanya, log masuk dengan maklumat akaun pembangun amazon anda.
Langkah 5: - Pilih pencetus, Katakan frasa tertentu
Langkah 6: - Sediakan " nyalakan lampu" sebagai frasa, klik Buat Pencetus.
Langkah 7: - Klik + itu
Langkah 8: - Cari Webhooks, klik padanya dan Pilih Buat Permintaan Web
Langkah 9: - Webhooks menyediakan Permintaan WEB REST, Gunakan kunci 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"assign}
Langkah 10: - Tampal URL yang diubah suai ke kotak teks URL.
Langkah 11: - Tetapkan Kaedah sebagai GET, Kandungan sebagai aplikasi / json dan klik simpan.
Langkah 12: - Ikuti langkah yang sama untuk membuat pemicu untuk " matikan lampu " dan ubah URL menjadi berikut.
pubsub.pubnub.com//publish/pub_key/sub_key/0/alexaTrigger/0/{"requester":"Alexa","trigger":"light","status":0
Langkah 13: - Kami kini siap dengan semua komponen web untuk demo.
Bahagian 4: Sambungan perkakasan dan Litar Diagram:
Untuk projek ini, kami memerlukan LED sederhana untuk tujuan ujian. Berikut adalah rajah litar dan sambungan Perkakasan untuk mengawal Raspberry Pi GPIO dengan Amazon Alexa.
Kami akan menggunakan GPIO18 dalam skrip python kami, jadi, sambungkan relay LED 18. anda. Anda boleh mengubahnya dalam skrip python.
Bahagian 5: Kod Python untuk Mengawal LED:
Cari Skrip Python yang lengkap di akhir tutorial ini.
Anda perlu mengedit kekunci Pub dan Sub dengan kunci pubnub anda dalam kod python.
# Memulakan Kekunci Pubnub pub_key = "***************************" sub_key = "*********** ************* "
Sekarang jalankan Skrip
python alexaRpi.py
Sekarang kita sudah siap untuk demo, Pastikan anda menjalankan ketiga-tiga perkhidmatan dari Bahagian 1 (tiga terminal) sebelum meneruskan.
Untuk memberi arahan apa pun, anda perlu membangunkan perkhidmatan Alexa dengan memanggil "Alexa" setiap kali anda ingin menghantar arahan. Anda akan mendengar bunyi bip. Sebaik sahaja anda mendengar bunyi bip, ucapkan “ Alexa Trigger Hidupkan Lampu. "Anda dapat melihat cahaya menyala dalam beberapa saat. Dan jika anda mengatakan " Alexa Trigger Matikan Lampu ", lampu harus dimatikan.
Itu sahaja…. Anda boleh menambahkan geganti untuk mengawal perkakas AC, malah anda dapat mengawal banyak peralatan dengan menggunakan lebih banyak geganti dan lebih banyak pin GPIO Raspberry pi.
Lihat kod lengkap dan Video Demonstrasi di bawah. Lihat juga semua Projek Automasi Rumah kami di sini.