Daftar Isi:
2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-13 06:57
MicroDot adalah 'tombol' Alexa buatan rumah yang dirancang untuk dihubungkan ke LattePanda atau Raspberry Pi, dengan Aplikasi Sampel Alexa diinstal. Ini adalah speaker kecil dengan aktivasi LED dan sentuhan/ucapan, dan sangat ideal untuk digunakan di desktop atau di dalam mobil.
*LattePanda untuk proyek ini disediakan oleh DFRobot
Langkah 1: Ikhtisar Sistem
PANDA LATTE
LattePanda adalah komputer Windows 10 kecil (seukuran Raspberry Pi) dengan Arduino bawaan untuk berinteraksi dengan dunia nyata. Ini benar-benar cukup bagus - dan merupakan pengganti yang baik untuk Raspberry Pi - terutama jika Anda (seperti saya) memiliki masalah dalam memahami Linux.
Saya telah menginstal Alexa Sample App ke Panda, dan telah mengimplementasikan mesin wake-word saya sendiri berdasarkan SDK pengenalan suara bawaan Windows.
MIKRODOT
MicroDot terdiri dari amplifier kecil dan speaker dengan panggangan peka sentuhan dan rangkaian LED biru/putih. MicroDot awalnya dirancang untuk ditempatkan di dasbor di mobil saya untuk memberikan solusi Alexa dalam mobil saya (untuk dipasangkan dengan proyek saya sebelumnya - stereo mobil berkemampuan Alexa). Selain memiliki opsi kata bangun, saya ingin aktivasi sentuh karena Alexa akan kesulitan mendengar kata bangun saya ketika musiknya keras! (Setelah diaktifkan, Panda akan mengirim sinyal ke stereo untuk mengecilkan volume saat Alexa mendengarkan/berbicara).
RASPBERRY PI
Bagi mereka yang lebih fasih dalam "Raspberry Pi", saya telah menjelaskan di akhir Instruksi ini cara menghubungkan MicroDot dengan Rapsberry Pi 3.
Langkah 2: Sirkuit MicroDot
BAGIAN
6 x 220R SMD Resistor2 x 470R SMD Resistor1 x 10uF SMD Capacitor1 x TTP223 Modul Sensor Sentuh (https://www.ebay.com/itm/192097635565)1 x Modul Amplifier 3W PAM8403 (https://www.ebay.com/ itm/221895096190)1 x 10K Single Linear Thumb Potensiometer (https://www.ebay.com/itm/401105807680)1 x 50pF Kapasitor Keramik3 x 3mm LED Biru3 x 3mm LED Putih1 x 1,7 inci 4ohm 3W Speaker1 x Kabel Hitam Tipis dari Earphone lama1 x Kabel Ekstensi USB Hitam Tipis 1m*
KONSTRUKSI
PCB MicroDot dibuat dengan metode besi pada toner pada papan satu sisi setebal 0,8 mm - pada ketebalan ini dapat dipotong secara kasar untuk dibentuk dengan gunting tajam dan kemudian dengan mudah disusun untuk dibentuk. Pasang semua komponen pemasangan permukaan terlebih dahulu.
Sebuah kawat perlu dihubungkan ke permukaan sentuh sensor, sehingga area kecil perlu dikikis untuk disolder. Saya menemukan bahwa dalam mode mentahnya, sensornya terlalu sensitif - berfungsi dengan baik, tetapi setelah dipasang di penutupnya sering salah dipicu karena kedekatannya dengan speaker logam. Saya membumikan speaker logam - yang agak membantu, tetapi saya akhirnya harus merujuk ke lembar data.
Lembar data TTP223 menyatakan bahwa Anda dapat menyesuaikan sensitivitas dengan menempatkan kapasitor (0 hingga 50pf) antara sensor sentuh dan ground. Sensor bekerja dengan baik dengan kapasitor 50pf. Anda dapat melihat penempatan ini pada gambar bagian selanjutnya.
Dua kabel digunakan untuk menghubungkan MicroDot ke Panda:- kabel hitam tipis dari sepasang earphone lama untuk menghubungkan audio- kabel USB tipis digunakan untuk menghubungkan ke GPIO (sensor sentuh/LED). Anda akan membutuhkan kabel dengan 6 konektor terpisah (5 internal + pelindung). *Hati-hati bahwa beberapa kabel USB murah tidak memiliki pin/pelindung arde yang terpisah, atau keduanya mungkin terhubung secara internal (periksa ini sebelum memotong kabel Anda dengan memastikan bahwa ada kontinuitas antara bagian logam luar jantan dan betina steker, dan bahwa tidak ada kontinuitas antara pin ground dan bagian logam luar).
Gunakan koneksi kabel USB: merah=+5v, perisai=GND, hitam=sensor sentuh, LED putih=putih, LED hijau=biru. dan tetap colokkan dan potong satu bagian panjang dan satu bagian pendek (katakanlah 200mm), dan sambungkan kedua ujung kabel bersama-sama. Dengan cara ini unit dapat dilepas. Pastikan Anda tidak mencolokkan perangkat USB apa pun ke dalamnya, atau mencolokkannya ke port USB biasa!
Langkah 3: Konstruksi MicroDot
BAGIAN CETAK 3D
Ada empat bagian cetak 3D dalam file zip terlampir:1. Cangkang MicroDot utama - dicetak dalam PLA2 hitam. Basis MicroDot - dicetak dalam PLA3 hitam. Cincin LED - dicetak dalam PLA putih (jelas atau tembus cahaya mungkin lebih baik untuk membantu menyebarkan cahaya lebih merata)4. Spacer PCB - warna apa saja - diapit di antara speaker dan PCB.
Baut dan mur M2 digunakan untuk mengencangkan alas ke cangkang. Tiga baut M2 harus dilebur ke dalam slot di bagian dalam cangkang. Ini cukup kecil, dan Anda mungkin perlu "menyolder" mereka di tempatnya dengan beberapa filamen tambahan.
LED ARRAY
LED putih dan biru dipasang dalam susunan secara bergantian seperti yang ditunjukkan pada gambar. Kabel ditekuk hingga 90 derajat pada bagian bawah LED dan kabel dilebur ke dalam cincin dengan besi solder panas (perhatikan polaritasnya di sini). Bagian bawah LED disusun ke bawah sehingga rata dengan permukaan cincin.
Katoda LED semuanya terhubung bersama dengan cincin kawat dan ini terhubung ke pin paling bawah dari header. Pin lain dari header harus bergantian biru/putih untuk setiap LED individu
MENYATAKANNYA
Panggangan dipotong dari dudukan kertas desktop (foto) dengan kawat yang disolder ke satu sisi. Ini dimasukkan ke dalam cangkang terlebih dahulu, kemudian susunan LED (ini harus dimasukkan pada sudut seperti yang ditunjukkan, dengan slot sejajar dengan salah satu tiang sekrup). Pembicara berikutnya (tempatkan selotip tipis di bagian atas untuk melindunginya dari tepi PCB). Kemudian spacer, dan PCB hanya duduk di atas. Kencangkan alasnya untuk menyatukan semuanya.
Saat mencolokkan kabel audio ke LattePanda, saya menemukan bahwa saya perlu menggunakan filter ground loop audio (https://www.ebay.com/itm/371801191297) untuk mendapatkan suara yang bagus. Perhatikan bahwa dalam foto saya menggunakan audio-out dari adaptor video HDMI-VGA saya, tetapi tidak masalah menggunakan jack output audio on-board.
Anda juga memerlukan mikrofon usb (https://www.ebay.com/itm/332148968227).
Langkah 4: LattePanda
MEMPERSIAPKAN
Panda hadir dalam model 2G/32G dan 4G/64G, dengan atau tanpa Lisensi Windows 10. Model yang saya gunakan adalah versi 2G/32G dengan Lisensi Windows 10:
Silakan lihat dokumentasi resmi untuk menyiapkan LattePanda Anda (https://docs.lattepanda.com) Tidak ada yang terlalu rumit di sini, tetapi perhatikan petunjuk untuk menyalakan Panda Anda (https://docs.lattepanda.com/ konten/memulai/kekuatan…).
Semuanya tampak bekerja pertama kali bagi saya (yang merupakan perubahan yang menyenangkan dari pengalaman Raspberry Pi saya).
Satu hal penting adalah Anda benar-benar membutuhkan semacam pendinginan untuk Panda. Saya menggunakan beberapa heatsink stick-on di bagian atas dan bawah (bagian bawah menjadi sangat panas).
Diagram ini merinci input dan output Arduino: https://docs.lattepanda.com/content/hardware/inputs… Kami akan menggunakan rangkaian konektor 3 pin di sisi kiri untuk terhubung ke MicroDot (D9, D10 dan D11), serta jack output audio.
Langkah 5: LattePanda - Instal Aplikasi Contoh Alexa
UNDUH
Aplikasi Sampel Alexa tersedia di sini:
github.com/alexa/alexa-avs-sample-app/
Tekan tombol Klon atau Unduh dan unduh sebagai.zip
Buat direktori pada c drive C:\ALEXA, dan ekstrak isi zip sehingga direktori zip yang disebut sampel berada langsung di direktori ALEXA (yaitu C:\ALEXA\samples\…)
MENGINSTAL
Instruksi lengkap resmi untuk cara menginstal di Windows ada di sini:
github.com/alexa/alexa-avs-sample-app/wiki…
Ada beberapa langkah, dan butuh sedikit waktu, tetapi saya menemukan bahwa dengan Windows semuanya berjalan lancar pertama kali.
Anda memerlukan editor teks yang bagus untuk mengedit beberapa file konfigurasi (Notepad tidak bagus karena file memiliki akhiran baris gaya Linux). Saya menggunakan Notepad++ yang tersedia di sini:
Beberapa catatan mengenai instruksi resmi:
Bagian 3 - Ketergantungan
Panda saya adalah 64 bit, jadi saya mengunduh semua versi 64 bit, tetapi jika Anda menginstal pada sistem 32 bit, Anda harus menggunakan versi 32 bit. Catatan: jangan campur dependensi versi 32 dan 64 bit.
Tautan yang ditampilkan untuk pemutar media VLC, akan membawa Anda ke versi 32 bit. Untuk mendapatkan versi 64 bit, buka tautan ini: https://www.videolan.org/vlc/download-windows.html dan pada tombol unduh, pilih panah, lalu Penginstal untuk versi 64bit.
Untuk instalasi JDK saya menggunakan versi:jdk-8u144-windows-x64Untuk nodejs saya menggunakan: Pemasang Windows (.msi) 64 bitUntuk Maven:Apache-maven-3.5.0-bin.zipUntuk OpenSSL saya menggunakan:Win64 OpenSSL v1.1.0f
Bagian 5 - Metode otentikasi
Pilih 5a - Server Nodejs. Jika Anda mendapatkan kesalahan saat menjalankan perintah npm, maka Anda perlu menambahkan direktori nodejs Anda ke variabel lingkungan jalur Anda (dijelaskan dalam petunjuk cara melakukannya).
Bagian 6 - Menjalankan aplikasi sampel
Saat mengedit file config.json, setel wakeWordAgentEnabled ke true, karena kami akan menginstal mesin kata bangun khusus di bagian berikutnya (mesin kata bangun yang disertakan dalam aplikasi contoh hanya berfungsi dengan Linux).
Jika Anda mendapatkan kesalahan saat menjalankan perintah mvn, maka Anda perlu menambahkan direktori maven\bin Anda ke variabel lingkungan jalur Anda.
Saat Anda menjalankan aplikasi, Anda akan mendapatkan GUI yang ditampilkan di tangkapan layar. Ketika Anda mengklik ikon Anda akan dapat berbicara dengan Alexa. Ini adalah aplikasi Alexa dasar - tetapi kami akan membutuhkan lebih dari ini!
Langkah selanjutnya adalah menginstal mesin kata bangun khusus sehingga Anda cukup mengatakan "Alexa" untuk mengaktifkan, dan juga memiliki opsi untuk menggunakan sensor sentuh melalui input Arduino. Kita juga perlu menjalankan aplikasi secara otomatis saat startup, dan menyalakan beberapa LED saat Alexa mendengarkan dan berbicara.
Langkah 6: LattePanda - Instal Custom WakeWord Engine
MESIN WAKEWORD
Mesin WakeWord memungkinkan Alexa dibangunkan oleh kata yang diucapkan (biasanya ''Alexa ), daripada harus mengklik tombol. Aplikasi sampel memiliki dua opsi untuk mesin WakeWord: Mesin kata bangun Sensory atau KITT. AI. implementasi untuk ini di aplikasi contoh, namun hanya berfungsi untuk Linux. Kedua mesin ini juga tunduk pada persyaratan lisensi tertentu.
Di sini saya akan menerapkan mesin kata bangun khusus yang didasarkan pada SDK pengenalan suara Windows 10 sendiri. Jadi ini juga bebas dari persyaratan lisensi tambahan.
INSTAL KETERGANTUNGAN
Platform Microsoft Speech - Runtime (Versi 11)https://www.microsoft.com/en-gb/download/details.a…x86_SpeechPlatformRuntime\SpeechPlatformRuntime.msi (32 bit) atau x64_SpeechPlatformRuntime\SpeechPlatformRuntime.msi (64 bit)
Microsoft Speech Platform - Bahasa Runtime (Versi 11)
Mesin WakeWord kustom saya ditulis dalam C# di Visual Studio 2017. Saya telah menyediakan executable final di sini dan juga kode sumbernya. Jika Anda ingin mengompilasinya sendiri, Anda juga memerlukan ini:
Microsoft Speech Platform - Perangkat Pengembangan Perangkat Lunak (SDK) (Versi 11) https://www.microsoft.com/en-gb/download/details….|x86_MicrosoftSpeechPlatformSDK\MicrosoftSpeechPlatformSDK.msi (32 bit) atau x64_MicrosoftSpeechPlatformSDK\MicrosoftSpeechPlatformSDK.msi 64 bit)
Masukkan WakeWordPanda.exe (dan alexa_run.bat) ke dalam direktori ALEXA. Program ini melakukan tugas-tugas berikut:- Mendengarkan kata bangun "Alexa"- Memantau sensor input sentuh- Mengontrol LED BIRU dan PUTIH
Perhatikan bahwa saya mengembangkan ini di komputer Windows 10 lain sehingga saya tidak perlu menginstal Visual Studio di LattePanda, karena saya tidak ingin menggunakan Gigabytes. Saya menghubungkan Arduino Uno yang diinstal dengan StandardFirmata (https://www.lattepanda.com/docs/#SetuptheArduino) ke komputer pengembangan sehingga saya juga dapat mengembangkan dengan input/output Arduino. Kode sumber Visual Studio juga dilampirkan jika Anda ingin memodifikasi dan/atau mengompilasinya sendiri.
MODIFIKASI KLIEN JAVA
Klien Java membutuhkan beberapa baris tambahan yang ditambahkan ke kode. Ini untuk mengaktifkan agar LED berfungsi dengan benar:
Saat Alexa mendengarkan, sinyal PAUSE_WAKE_WORD_ENGINE dikirim ke mesin WakeWord. Saya menggunakan sinyal ini untuk mengetahui kapan harus menyalakan BIRU (Alexa mendengarkan LED). Ketika sinyal RESUME_WAKE_WORD_ENGINE diterima, LED Biru mati, dan WHITE (LED berbicara Alexa) menyala. Kode tambahan mengirimkan sinyal RESUME_WAKE_WORD_ENGINE lain ketika Alexa berhenti berbicara - sehingga mesin WakeWord tahu kapan harus mematikan LED Putih.
Arahkan ke: C:\ALEXA\samples\javaclient\src\main\java\com\amazon\alexa\avs dan buka AVSController.java di editor teks Anda. Salin kode dari file Extra_Code.txt terlampir. Itu perlu dimasukkan di dua tempat:
1. Dalam fungsi public void onAlexaSpeechFinished() langsung setelah pernyataan: dependentDirectiveThread.unblock();
2. Dalam fungsi private void handleAudioPlayerDirective(Directive directive) tepat sebelum pernyataan: player.handleStop();
Saya juga telah mengatur ulang sinyal CONFIRM sehingga mesin WakeWord akan tahu jika Alexa telah merespons. Ini untuk membatalkan batas waktu 5 detik yang akan terjadi jika tidak ada respons. Salin kode dari Extra_Code2.txt dan masukkan di satu tempat:
1. Dalam functionpublic void onAlexaSpeechStarted() langsung setelah pernyataan dependenDirectiveThread.block();
Anda sekarang perlu mengkompilasi ulang Java Client. Buka prompt perintah dan arahkan ke C:\ALEXA\samples\javaclient Enter: mvn install untuk mengkompilasi ulang.
Jika Anda memulai Layanan Pendamping dan aplikasi Java Alexa seperti sebelumnya, dan kemudian juga klik dua kali WakeWordPanda.exe, tunggu hingga terhubung, dan Anda harus dapat mengaktifkan Alexa dengan mengatakan "Alexa".
MIKRODO
Jika Anda menyambungkan kabel 'USB' MicroDot ke LattePanda seperti yang ditunjukkan pada diagram, dan mencolokkan kabel audio, sekarang kabel tersebut akan berfungsi penuh. Mengucapkan kata bangun atau menyentuh panggangan akan mengaktifkan Alexa dan LED biru akan menyala. LED putih akan menyala saat Alexa merespons.
SETUP JALAN OTOMATIS
Alih-alih mengetik semua perintah secara manual untuk memulai semuanya, Anda dapat menggunakan skrip alexa_run.bat. Ini akan menunggu koneksi internet, dan kemudian menjalankan modul terpisah (layanan pendamping, klien java, mesin kata bangun).
Langkah terakhir adalah membuat semuanya berjalan secara otomatis saat startup:
1. Klik kanan pada auto-run.bat dan pilih create shortcut.2. Tekan ctrl+R dan ketik shell:startup. Ini akan membuka folder startup.3. Seret pintasan yang Anda buat ke folder startup.
Alexa sekarang akan berjalan otomatis saat startup (dibutuhkan sekitar 30 detik untuk inisialisasi setelah startup).
Langkah 7: MicroDot untuk Raspberry Pi
(Jika Anda ingin menggunakan Raspberry Pi 3 alih-alih LattePanda).
UNDUH
Unduh Aplikasi Sampel Alexa dari sini:
Tekan tombol Klon atau Unduh dan unduh sebagai.zip. Buka zip agar folder alexa-ava-sample-app ada di Desktop.
MENGINSTAL
Ikuti instruksi lengkap resmi di sini (catatan: atur agar folder alexa-ava-sample-app di Desktop):
github.com/alexa/alexa-avs-sample-app/wiki…
Ada banyak panduan untuk melakukan ini dengan Raspberry Pi di internet. Saya telah menginstal ini beberapa kali di Raspberry Pi, dan tidak ada waktu yang berjalan semulus menginstal di WIndows 10 (tidak mengherankan - Linux membuat saya setiap saat). Masalah utama yang saya temui adalah:
1. Membuat audio dan mikrofon berfungsi dengan baik. Lihat di sini https://github.com/alexa-pi/AlexaPi/wiki/Audio-set… jika Anda juga mengalami masalah ini.
2. Masalah dengan versi JDK. Lihat 4.3 di instruksi resmi, dan catatan di file pom.xml yang berbicara tentang mengganti versi saat menjalankan perintah mvn exec:exec (yaitu saya harus menambahkan sakelar ini -Dalpn-boot.version=8.1.6.v20151105). Perhatikan bahwa perintah ini termasuk dalam skrip startup saya (alexa_startup.sh).
3. Membuat mesin kata bangun Sensory berfungsi (https://github.com/Sensory/alexa-rpi)
Setelah Anda dapat menjalankan semuanya dengan perintah manual seperti yang dijelaskan dalam instruksi, lanjutkan dengan instalasi MicroDot.
KONEKSI MIKRODOT
Anda tidak dapat langsung memasang MicroDot ke GPIO karena akan menarik terlalu banyak arus. Anda memerlukan: 2x 2N3904 transisitor untuk menggerakkan resistor LED, 1x2K2 dan 1x3K3 untuk menurunkan tegangan dari sensor sentuh ke 3.3V (MicroDot akan diberi daya dari catu 5V). Lihat diagram terlampir. Anda mungkin ingin membuat PCB untuk ini, tetapi saya baru saja memasang komponen ini di bagian belakang colokan perempuan 8 pin.
MESIN BANGUN KUSTOM (SENTUH)
Buka zip konten folder zip terlampir ke dalam folder alexa-avs-sample-app. Ada dua file:wake.py - skrip python yang merupakan mesin bangun khusus (sentuh) untuk MicroDot alexa_autostart.sh - skrip untuk menjalankan semuanya. Klik kanan properti ini, dan pilih jalankan: siapa pun di tab izin.
Anda perlu menginstal python untuk menjalankan mesin bangun. Anda juga memerlukan perpustakaan GPIO (https://makezine.com/projects/tutorial-raspberry-p…) Ini harus sudah diinstal di versi terbaru Raspbian.
Untuk menjalankan semuanya, ketik terminal:cd /home/pi/Desktop/alexa-avs-sample-appsudo./alexa_startup.sh
SET UP AUTORUN
Untuk mengatur Alexa agar berjalan otomatis saat boot, buka terminal dan ketik:
cd /home/pi/.config/lxsession/LXDE-pisudo nano autostart
dan tambahkan baris dan simpan:
@/home/pi/Desktop/alexa-avs-sample-app/alexa_autostart.sh
Reboot dan aplikasi Alexa harus dijalankan secara otomatis.