Isi kandungan:

"MicroDot" untuk LattePanda (atau Raspberry Pi): 7 Langkah (dengan Gambar)
"MicroDot" untuk LattePanda (atau Raspberry Pi): 7 Langkah (dengan Gambar)

Video: "MicroDot" untuk LattePanda (atau Raspberry Pi): 7 Langkah (dengan Gambar)

Video:
Video: [MLAB.VN - Học MicroPython] Lập trình LED Button trên ESP8266 với MicroPython #Shorts 2024, November
Anonim
Imej
Imej

MicroDot adalah Alexa 'butang' buatan rumah yang direka untuk disambungkan ke LattePanda atau Raspberry Pi, dengan Aplikasi Alexa Sample dipasang. Ia adalah pembesar suara kecil dengan pengaktifan LED dan sentuhan / pertuturan, dan sangat sesuai untuk digunakan di desktop atau di dalam kereta.

* LattePanda untuk projek ini disediakan oleh DFRobot

Langkah 1: Gambaran Keseluruhan Sistem

Gambaran keseluruhan sistem
Gambaran keseluruhan sistem

PANDA TERKINI

LattePanda adalah komputer Windows 10 kecil (seukuran Raspberry Pi) dengan Arduino bawaan untuk berinteraksi dengan dunia nyata. Ini benar-benar bagus - dan merupakan pengganti yang baik untuk Raspberry Pi - terutamanya jika anda (seperti saya) menghadapi masalah untuk menangani Linux.

Saya telah memasang Aplikasi Alexa Sample ke Panda, dan telah menggunakan mesin bangun-bangun sendiri berdasarkan SDK pengenalan pertuturan terbina dalam Windows.

MIKRODOT

MicroDot terdiri daripada penguat dan pembesar suara kecil dengan gril sensitif sentuhan dan susunan LED biru / putih. MicroDot pada mulanya dirancang untuk diletakkan di dash di kereta saya untuk memberikan penyelesaian Alexa di dalam kereta saya (untuk dipadankan dengan projek saya sebelumnya - stereo kereta berkemampuan Alexa). Serta mempunyai pilihan kata bangun, saya mahukan pengaktifan sentuhan kerana Alexa akan sukar mendengar kata bangun ketika muziknya nyaring! (Setelah diaktifkan, Panda akan menghantar isyarat ke stereo untuk mengurangkan kelantangan semasa Alexa sedang mendengar / bercakap).

PAI RASPBERI

Bagi mereka yang lebih fasih dalam "Raspberry Pi", saya telah menerangkan di akhir ini Instructable bagaimana untuk menghubungkan MicroDot dengan Rapsberry Pi 3.

Langkah 2: Litar MicroDot

Litar MicroDot
Litar MicroDot
Litar MicroDot
Litar MicroDot
Litar MicroDot
Litar MicroDot

BAHAGIAN

6 x 220R Resistor SMD2 x 470R Resistor SMD1 x 10uF SMD Capacitor1 x Modul Sensor Sentuh TTP223 (https://www.ebay.com/itm/192097635565)1 x Modul Penguat 3W PAM8403 (https://www.ebay.com/ itm / 221895096190) 1 x 10K Potensiometer Thumb Linear Tunggal (https://www.ebay.com/itm/401105807680)1 x 50pF Kapasitor Seramik3 x 3mm LED Biru3 x 3mm LED Putih1 x 1.7 inci 4ohm 3W Pembesar suara1 x Kabel Hitam Tipis dari Earphone lama 1 x Kabel Sambungan USB 1m Hitam Tipis *

PEMBINAAN

MicroDot PCB dibuat dengan kaedah besi pada toner pada papan satu sisi tebal 0,8 mm - pada ketebalan ini, ia dapat dipotong secara kasar untuk membentuk dengan gunting yang tajam dan kemudian dengan mudah diajukan ke bentuk. Pasang semua komponen pelekap permukaan terlebih dahulu.

Kawat perlu disambungkan ke permukaan sentuhan sensor, jadi kawasan kecil perlu dikikis untuk dipateri. Saya dapati bahawa dalam mod mentahnya, sensor terlalu sensitif - ia berfungsi dengan baik, tetapi setelah dipasang di kandang, ia sering dipicu salah kerana berdekatan dengan pembesar suara logam. Saya membumikan pembesar suara logam - yang sedikit membantu, tetapi akhirnya saya harus merujuk kepada lembaran data.

Lembar data TTP223 menyatakan bahawa anda dapat menyesuaikan kepekaan dengan meletakkan kapasitor (0 hingga 50pf) antara sensor sentuh dan tanah. Sensor berfungsi dengan baik dengan kapasitor 50pf. Anda dapat melihat penempatan ini dalam gambar bahagian seterusnya.

Dua kabel digunakan untuk menghubungkan MicroDot ke Panda: - kabel hitam nipis dari sepasang fon telinga lama untuk menyambungkan audio - kabel USB nipis digunakan untuk menyambung ke GPIO (sensor sentuh / LED). Anda memerlukan kabel dengan 6 penyambung berasingan (5 dalaman + perisai). * Berhati-hatilah bahawa beberapa kabel USB yang murah tidak mempunyai pin / pelindung tanah yang terpisah, atau kedua kabel ini boleh disambungkan secara dalaman (periksa ini sebelum memotong kabel anda dengan memastikan bahawa terdapat kesinambungan antara bahagian logam luar lelaki dan wanita palam, dan bahawa tidak ada kesinambungan antara pin ground dan bahagian logam luar).

Gunakan sambungan kabel USB: merah = + 5v, perisai = GND, hitam = sensor sentuh, putih = LED putih, hijau = LED biru. Daripada hanya memotong pug dan memasang kabel, anda mungkin mahu melakukan apa yang saya buat dan terus pasang dan potong satu bahagian panjang dan satu bahagian pendek (katakanlah 200mm), dan pasangkan kedua hujung kabel bersama-sama. Dengan cara ini unit boleh dilepas. Pastikan anda tidak memasang sebarang peranti USB sebenar ke dalamnya, atau pasangkannya ke port USB biasa!

Langkah 3: Pembinaan MicroDot

Pembinaan MicroDot
Pembinaan MicroDot
Pembinaan MicroDot
Pembinaan MicroDot
Pembinaan MicroDot
Pembinaan MicroDot
Pembinaan MicroDot
Pembinaan MicroDot

BAHAGIAN CETAKAN 3D

Terdapat empat bahagian bercetak 3D dalam fail zip yang dilampirkan: 1. Shell MicroDot utama - dicetak dalam PLA2 hitam. Pangkalan MicroDot - dicetak dalam PLA3 hitam. Cincin LED - dicetak dalam PLA putih (jelas atau lut mungkin lebih baik untuk membantu menyebarkan cahaya dengan lebih sekata) 4. PCB spacer - warna apa pun - diapit antara pembesar suara dan PCB.

Baut dan mur M2 digunakan untuk memautkan pangkal ke shell. Tiga baut M2 perlu dicairkan ke dalam slot di bahagian dalam cangkang. Ini agak kecil, dan anda mungkin perlu '' solder '' di tempatnya dengan beberapa filamen tambahan.

ARRAY LED

LED putih dan biru dipasang dalam susunan bergantian seperti yang ditunjukkan dalam gambar. Sokongan dibengkokkan hingga 90 darjah ke bahagian bawah LED dan plumbum dicairkan ke dalam gelang dengan besi pematerian panas (perhatikan kekutuban di sini). Bahagian bawah LED dipasang ke bawah sehingga rata ke permukaan gelang.

Katod LED semuanya disambungkan bersama dengan cincin dawai dan ini disambungkan ke pin header yang paling rendah. Pin pengepala yang lain mestilah berwarna biru / putih bergantian untuk setiap LED individu

MENGEJUTKANNYA BERSAMA

Pemanggang dipotong dari pemegang kertas desktop (gambar) dengan wayar yang disolder ke satu tepi. Ini dimasukkan ke dalam cangkang terlebih dahulu, kemudian susunan LED (ini mesti dimasukkan pada sudut seperti yang ditunjukkan, dengan slot sejajar dengan salah satu tiang skru). Pembesar suara berada di sebelahnya (letakkan beberapa pita nipis di bahagian atas untuk melindungi dari tepi PCB). Kemudian spacer, dan PCB hanya duduk di atas. Skru alas ke atas untuk menyatukannya.

Semasa memasang kabel audio ke LattePanda, saya mendapati bahawa saya perlu menggunakan penapis gelung ground audio (https://www.ebay.com/itm/371801191297) untuk mendapatkan suara yang baik. Perhatikan bahawa dalam foto saya menggunakan audio-out dari penyesuai video HDMI-VGA saya, tetapi tidak mengapa menggunakan jack output audio on-board.

Anda juga memerlukan mikrofon usb (https://www.ebay.com/itm/332148968227).

Langkah 4: LattePanda

LattePanda
LattePanda
LattePanda
LattePanda

PENYEDIAAN

Panda hadir dalam model 2G / 32G dan 4G / 64G, dengan atau tanpa Lesen Windows 10. Model yang saya gunakan ialah versi 2G / 32G dengan Lesen Windows 10:

Lihat dokumentasi rasmi untuk menyelesaikan LattePanda anda (https://docs.lattepanda.com) Tidak ada yang terlalu rumit di sini, tetapi perhatikan arahan untuk menghidupkan Panda anda (https://docs.lattepanda.com/ kandungan / getStarted / powe…).

Segala-galanya nampaknya berfungsi untuk pertama kalinya bagi saya (yang merupakan perubahan baik dari pengalaman Raspberry Pi saya).

Satu perkara penting ialah anda sangat memerlukan sejenis penyejuk untuk Panda. Saya menggunakan beberapa heatsink di bahagian atas dan bawah (bahagian bawah menjadi sangat panas).

Gambar rajah ini memperincikan input dan output Arduino: https://docs.lattepanda.com/content/hardware/inputs… Kami akan menggunakan susunan penyambung 3 pin di sebelah kiri untuk menyambung ke MicroDot (D9, D10 dan D11), serta jack output audio.

Langkah 5: LattePanda - Pasang Aplikasi Contoh Alexa

LattePanda - Pasang Aplikasi Contoh Alexa
LattePanda - Pasang Aplikasi Contoh Alexa

MUAT TURUN

Aplikasi Alexa Sample boleh didapati di sini:

github.com/alexa/alexa-avs-sample-app/

Tekan butang Klon atau Muat turun dan muat turun sebagai.zip

Buat direktori pada pemacu c C: / ALEXA, dan ekstrak kandungan zip sehingga direktori zip yang disebut sampel berada langsung di direktori ALEXA (iaitu C: / ALEXA / samples \…)

MEMASANG

Arahan penuh rasmi untuk memasang di Windows ada di sini:

github.com/alexa/alexa-avs-sample-app/wiki…

Terdapat beberapa langkah, dan memerlukan sedikit masa, tetapi saya dapati dengan Windows semuanya berjalan lancar pada kali pertama.

Anda memerlukan editor teks yang baik untuk mengedit beberapa fail konfigurasi (Notepad tidak bagus kerana failnya mempunyai hujung baris gaya Linux). Saya menggunakan Notepad ++ yang terdapat di sini:

Beberapa nota mengenai arahan rasmi:

Bahagian 3 - Kebergantungan

Panda saya adalah 64 bit, jadi saya memuat turun semua versi 64 bit, tetapi jika anda memasang pada sistem 32 bit, anda perlu menggunakan versi 32 bit. Catatan: jangan campurkan versi dependensi 32 dan 64 bit.

Pautan yang ditunjukkan untuk pemain media VLC, akan membawa anda ke versi 32 bit. Untuk mendapatkan versi 64 bit, pergi ke pautan ini: https://www.videolan.org/vlc/download-windows.html dan pada butang muat turun, pilih anak panah, dan kemudian Pemasang untuk versi 64bit.

Untuk pemasangan JDK saya menggunakan versi: jdk-8u144-windows-x64 Untuk nodejs yang saya gunakan: Windows Installer (.msi) 64 bit For Maven: apache-maven-3.5.0-bin.zip Untuk OpenSSL saya gunakan: Win64 OpenSSL v1.1.0f

Bahagian 5 - Kaedah pengesahan

Pilih pelayan 5a - Nodejs. Sekiranya anda mendapat ralat menjalankan perintah npm, maka anda perlu menambahkan direktori nodejs anda ke pemboleh ubah persekitaran jalan anda (dijelaskan dalam arahan bagaimana melakukan ini).

Bahagian 6 - Menjalankan aplikasi sampel

Semasa mengedit file config.json, tetapkan bangunWordAgentEnabled ke true, kerana kami akan memasang mesin bangun bangun khusus di bahagian seterusnya (mesin kata bangun yang disertakan dalam aplikasi contoh hanya berfungsi dengan Linux).

Sekiranya anda mendapat ralat semasa menjalankan perintah mvn, maka anda perlu menambahkan direktori maven / bin ke pemboleh ubah persekitaran jalan anda.

Semasa anda menjalankan aplikasi, anda seharusnya mendapat GUI yang ditunjukkan dalam tangkapan skrin. Apabila anda mengklik ikon anda akan dapat bercakap dengan Alexa. Ini adalah aplikasi asas Alexa - tetapi kami memerlukan lebih daripada ini!

Langkah seterusnya adalah memasang mesin bangun-bangun khusus sehingga anda hanya dapat mengatakan "Alexa" untuk mengaktifkan, dan juga mempunyai pilihan untuk menggunakan sensor sentuh melalui input Arduino. Kita juga perlu membuat aplikasi berjalan secara automatik semasa memulakan, dan menyalakan beberapa LED ketika Alexa sedang mendengar dan bercakap.

Langkah 6: LattePanda - Pasang Custom WakeWord Engine

LattePanda - Pasang Custom WakeWord Engine
LattePanda - Pasang Custom WakeWord Engine

KEJURUTERAAN WAKEWORD

Enjin WakeWord membolehkan Alexa terjaga oleh kata yang diucapkan (biasanya "Alexa"), bukannya perlu mengklik butang. Aplikasi sampel mempunyai dua pilihan untuk mesin WakeWord: Mesin kata bangun Sensory atau KITT. AI. implementasi untuk ini dalam aplikasi sampel, bagaimanapun, hanya berfungsi untuk Linux. Kedua-dua enjin ini juga dikenakan syarat pelesenan tertentu.

Di sini saya akan melaksanakan enjin kata bangun khas yang berdasarkan SDK pengenalan ucapan Windows 10 sendiri. Jadi ini juga bebas daripada syarat lesen tambahan.

PASANGKAN DEPENDENSI

Microsoft Speech Platform - 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)

Platform Ucapan Microsoft - Runtime Languages (Versi 11)

Enjin WakeWord tersuai saya ditulis dalam C # di Visual Studio 2017. Saya telah membekalkan akhir yang boleh dilaksanakan di sini dan juga kod sumber. Sekiranya anda ingin menyusunnya sendiri, maka anda juga memerlukannya:

Platform Ucapan Microsoft - Kit Pembangunan Perisian (SDK) (Versi 11) https://www.microsoft.com/en-gb/download/details….|x86_MicrosoftSpeechPlatformSDK\MicrosoftSpeechPlatformSDK.msi (32 bit) atau x64_MicrosoftSpeechPlatformSDK / MicrosoftSpeech 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- Mengawal LED BLUE dan WHITE

Perhatikan bahawa saya mengembangkan ini pada komputer Windows 10 yang lain sehingga saya tidak perlu memasang Visual Studio di LattePanda, kerana saya tidak mahu menggunakan Gigabytes. Saya menyambungkan Arduino Uno yang dipasang dengan StandardFirmata (https://www.lattepanda.com/docs/#SetuptheArduino) ke komputer pengembangan sehingga saya juga dapat mengembangkan dengan input / output Arduino. Kod sumber Visual Studio juga dilampirkan jika anda ingin mengubah dan / atau menyusunnya sendiri.

UBAH PELANGGAN JAVA

Pelanggan Java memerlukan beberapa baris tambahan yang ditambahkan pada kod. Ini untuk membolehkan LED berfungsi dengan betul:

Semasa Alexa mendengar, isyarat PAUSE_WAKE_WORD_ENGINE dihantar ke mesin WakeWord. Saya menggunakan isyarat ini untuk mengetahui bila hendak menghidupkan BIRU (Alexa mendengar LED). Apabila isyarat RESUME_WAKE_WORD_ENGINE diterima, LED Biru mati, dan PUTIH (LED bercakap Alexa) menyala. Kod tambahan menghantar isyarat RESUME_WAKE_WORD_ENGINE yang lain apabila Alexa berhenti bercakap - supaya mesin WakeWord tahu kapan harus mematikan LED Putih.

Navigasi ke: C: / ALEXA / samples / javaclient / src / main / java / com / amazon / alexa / avs dan buka AVSController.java dalam penyunting teks anda. Salin kod dari fail Extra_Code.txt yang dilampirkan. Ia perlu dimasukkan di dua tempat:

1. Dalam fungsi awam tidak berlaku padaAlexaSpeechFinished () tepat selepas pernyataan: dependDirectiveThread.unblock ();

2. Dalam fungsi private void handleAudioPlayerDirective (Arahan arahan) secara langsung sebelum pernyataan: player.handleStop ();

Saya juga telah memilih semula isyarat CONFIRM supaya mesin WakeWord akan mengetahui apakah Alexa telah bertindak balas. Ini untuk membatalkan tamat masa 5 saat yang akan berlaku sekiranya tidak ada tindak balas. Salin kod dari Extra_Code2.txt dan masukkan di satu tempat:

1. Dalam functionpublic void onAlexaSpeechStarted () tepat selepas pernyataan bergantungDirectiveThread.block ();

Anda kini perlu menyusun semula Java Client. Buka command prompt dan arahkan ke C: / ALEXA / samples / javaclient Enter: mvn install untuk mengompilasi semula.

Sekiranya anda memulakan aplikasi Companion Service dan Java Alexa seperti sebelumnya, dan kemudian juga klik dua kali pada WakeWordPanda.exe, tunggu sehingga ia tersambung, dan kemudian anda seharusnya dapat mengaktifkan Alexa dengan mengatakan "Alexa".

MIKRODOT

Sekiranya anda menyambungkan kabel 'USB' MicroDot ke LattePanda seperti yang ditunjukkan dalam gambar rajah, dan memasang kabel audio, ia sekarang harus berfungsi sepenuhnya. Mengucapkan kata bangun atau menyentuh panggangan harus mengaktifkan Alexa dan LED biru harus menyala. LED putih harus menyala ketika Alexa bertindak balas.

SIAPKAN AUTO RUN

Daripada mengetik semua arahan secara manual untuk memulakan semuanya, anda boleh menggunakan skrip alexa_run.bat. Ini akan menunggu sambungan internet, dan kemudian menggunakan modul yang berasingan (khidmat pendamping, klien java, mesin bangun kata).

Langkah terakhir adalah menjadikan semuanya berjalan secara automatik semasa memulakan:

1. Klik kanan pada auto-run.bat dan pilih buat jalan pintas.2. Tekan ctrl + R dan taipkan shell: permulaan. Ini akan membuka folder permulaan.3. Seret jalan pintas yang anda buat ke folder permulaan.

Alexa kini akan dijalankan secara automatik pada permulaan (memerlukan 30 saat atau lebih untuk memulakannya selepas permulaan).

Langkah 7: MicroDot untuk Raspberry Pi

MicroDot untuk Raspberry Pi
MicroDot untuk Raspberry Pi
MicroDot untuk Raspberry Pi
MicroDot untuk Raspberry Pi

(Sekiranya anda ingin menggunakan Raspberry Pi 3 dan bukannya LattePanda).

MUAT TURUN

Muat turun Aplikasi Contoh Alexa dari sini:

Tekan butang Klon atau Muat turun dan muat turun sebagai.zip. Buka zip sehingga folder alexa-ava-sample-app ada di Desktop.

MEMASANG

Ikuti arahan penuh rasmi di sini (nota: persediaan supaya folder aplikasi alexa-ava-sample di Desktop):

github.com/alexa/alexa-avs-sample-app/wiki…

Terdapat banyak panduan untuk melakukan ini dengan Raspberry Pi di interne. Saya telah memasangkannya beberapa kali di Raspberry Pi, dan tidak ada masa yang berjalan lancar seperti memasang di WIndows 10 (tidak menghairankan - Linux mendapat saya setiap masa). Masalah utama yang saya hadapi adalah:

1. Mendapatkan audio dan mikrofon berfungsi dengan betul. Lihat di sini https://github.com/alexa-pi/AlexaPi/wiki/Audio-set… jika anda juga mempunyai masalah ini.

2. Masalah dengan versi JDK. Lihat 4.3 dalam arahan rasmi, dan nota dalam fail pom.xml yang membincangkan mengenai penggantian versi semasa menjalankan perintah mvn exec: exec (iaitu saya harus menambahkan suis ini -Dalpn-boot.version = 8.1.6.v20151105). Perhatikan bahawa arahan ini termasuk dalam skrip permulaan saya (alexa_startup.sh).

3. Mendapatkan enjin kata bangun Sensori berfungsi (https://github.com/Sensory/alexa-rpi)

Setelah anda dapat menjalankannya dengan perintah manual seperti yang digariskan dalam arahan, teruskan dengan pemasangan MicroDot.

Sambungan MICRODOT

Anda tidak boleh melampirkan MicroDot secara langsung ke GPIO kerana terlalu banyak arus. Anda memerlukan: transistor 2x 2N3904 untuk menggerakkan perintang LED, 1x2K2 dan 1x3K3 untuk menurunkan voltan dari sensor sentuh ke 3.3V (MicroDot akan digerakkan dari bekalan 5V). Rujuk gambar rajah yang dilampirkan. Anda mungkin mahu membuat PCB untuk ini, tetapi saya baru sahaja memasang komponen ini di bahagian belakang palam wanita 8 pin.

ENGINE WAKE KASTAM (SENTUH)

Buka zip folder zip yang dilampirkan ke dalam folder aplikasi alexa-avs-sample. Terdapat dua fail: wake.py - skrip python yang merupakan mesin bangun (sentuhan) khas untuk MicroDot alexa_autostart.sh - skrip untuk menjalankan semuanya. Klik kanan sifat ini, dan pilih laksanakan: sesiapa sahaja di tab kebenaran.

Anda perlu memasang python untuk menjalankan mesin bangun. Anda juga memerlukan perpustakaan GPIO (https://makezine.com/projects/tutorial-raspberry-p…) Ini semestinya sudah dipasang dalam versi terbaru Raspbian.

Untuk menjalankan semuanya, ketik ke terminal: cd / home / pi / Desktop / alexa-avs-sample-appsudo./alexa_startup.sh

SIAPKAN AUTORUN

Untuk menyediakan Alexa agar dijalankan secara automatik semasa boot, buka terminal dan ketik:

cd /home/pi/.config/lxsession/LXDE-pisudo nano autostart

dan tambahkan baris dan simpan:

@ / rumah / pi / Desktop / alexa-avs-sample-app / alexa_autostart.sh

Reboot dan aplikasi Alexa harus dijalankan secara automatik.

Disyorkan: