Sadržaj:

"MicroDot" za LattePanda (ili Raspberry Pi): 7 koraka (sa slikama)
"MicroDot" za LattePanda (ili Raspberry Pi): 7 koraka (sa slikama)

Video: "MicroDot" za LattePanda (ili Raspberry Pi): 7 koraka (sa slikama)

Video:
Video: DataDot/MicroDot Part 1 ,what's it all about? Dekra Service Centre.#skyline #datadot #skylinegtx 2024, Novembar
Anonim
Image
Image

MicroDot je domaće Alexa 'dugme' dizajnirano za povezivanje sa LattePandom ili Raspberry Pi, sa instaliranom aplikacijom Alexa Sample. To je mali zvučnik sa LED diodama i aktiviranjem dodira/govora, a idealan je za upotrebu na radnoj površini ili u automobilu.

*LattePandu za ovaj projekt ljubazno je dostavio DFRobot

Korak 1: Pregled sistema

Pregled sistema
Pregled sistema

LATTE PANDA

LattePanda je mali (otprilike veličine Raspberry Pi) Windows 10 računar sa ugrađenim Arduinom za povezivanje sa stvarnim svetom. Zaista je sjajan - i dobra je zamjena za Raspberry Pi - pogotovo ako vi (poput mene) imate problema s razumijevanjem Linuxa.

Instalirao sam aplikaciju Alexa Sample App na Pandu i implementirao svoj vlastiti mehanizam za buđenje temeljen na Windows-ovom ugrađenom SDK-u za prepoznavanje govora.

MICRODOT

MicroDot se sastoji od malog pojačala i zvučnika sa roštiljem osjetljivim na dodir i plavo/bijelim LED nizom. MicroDot je prvobitno dizajniran da se stavi na komandnu tablu u mom automobilu kako bi pružio moje Alexa rešenje u automobilu (za uparivanje sa mojim prethodnim projektom-stereo za automobile sa omogućenom Alexa). Osim što sam imala opciju za buđenje, htjela sam i aktivaciju dodirom jer će Alexa teško čuti moju budnu riječ kada je muzika glasna! (Kada se aktivira, Panda će poslati signal stereo uređaju da smanji jačinu zvuka dok Alexa sluša/govori).

RASPBERRY PI

Za one koji bolje govore "Raspberry Pi", opisao sam na kraju ovog uputstva kako spojiti MicroDot sa Rapsberry Pi 3.

Korak 2: MicroDot krug

MicroDot krug
MicroDot krug
MicroDot krug
MicroDot krug
MicroDot krug
MicroDot krug

DIJELOVI

6 x 220R SMD otpornici 2 x 470R SMD otpornici 1 x 10uF SMD kondenzator 1 x TTP223 modul osjetnika na dodir (https://www.ebay.com/itm/192097635565)1 x PAM8403 3W pojačalo (https://www.ebay.com/ itm/221895096190) 1 x 10K pojedinačni linearni potenciometar za velike palce (https://www.ebay.com/itm/401105807680)1 x 50pF keramički kondenzator 3 x 3 mm plave LED diode 3 x 3 mm bijele LED diode1 x 1,7 inča 4ohm 3W zvučnik 1 x tanki crni kabel stare slušalice1 x tanki crni 1m USB produžni kabel*

GRAĐEVINARSTVO

MicroDot PCB je izrađen metodom peglanja na toneru na jednostranoj ploči debljine 0,8 mm - pri ovoj debljini može se grubo izrezati oštrim škarama i zatim lako oblikovati. Prvo montirajte sve komponente za površinsko montiranje.

Žica mora biti spojena na dodirnu površinu senzora, pa je potrebno malom površinom sastrugati za lemljenje. Otkrio sam da je u svom sirovom načinu rada senzor bio previše osjetljiv - radio je dobro, ali nakon što je postavljen u kućište često se lažno aktivirao zbog blizine metalnog zvučnika. Uzemljio sam metalni zvučnik - što je donekle pomoglo, ali sam se na kraju morao obratiti na podatkovnu tablicu.

List s podacima o TTP223 navodi da osjetljivost možete podesiti postavljanjem kondenzatora (0 do 50 pf) između osjetnika dodira i mase. Senzor je dobro radio s kondenzatorom od 50 pf. Položaj ovoga možete vidjeti na slici sljedećeg odjeljka.

Za povezivanje MicroDot-a s Pandom koriste se dva kabela:- tanki crni kabel iz starih par slušalica za povezivanje zvuka- tanki USB kabel je korišten za spajanje na GPIO (senzor dodira/LED diode). Trebat će vam kabel sa 6 zasebnih konektora (5 unutrašnjih + štit). *Pazite da neki jeftini USB kabeli nemaju zasebnu iglu za uzemljenje/oklop, ili se ova dva mogu spojiti interno (provjerite ovo prije rezanja kabela tako da provjerite postoji li kontinuitet između vanjskih metalnih dijelova muškog i ženskog spoja utikači i da nema kontinuiteta između uzemljenja i vanjskih metalnih dijelova).

Upotrijebite priključke USB kabela: crveno =+5v, štit = GND, crno = osjetnik na dodir, bijelo = bijele LED diode, zeleno = plave LED diode. Umjesto da samo prekinete mops i snažno ga ožičite, možda ćete htjeti učiniti ono što sam ja učinio i držite utikače na mjestu i odrežite jedan dugi dio i jedan kratki (recimo 200 mm) dio te spojite dva kraja kabela zajedno. Na ovaj način jedinica se može odvojiti. Samo pazite da u njega ne priključite nijedan stvarni USB uređaj ili ga uključite u uobičajeni USB priključak!

Korak 3: Konstrukcija MicroDot -a

MicroDot Construction
MicroDot Construction
MicroDot Construction
MicroDot Construction
MicroDot Construction
MicroDot Construction
MicroDot Construction
MicroDot Construction

3D ŠTAMPANI DIJELOVI

U priloženoj zip datoteci nalaze se četiri 3D štampana dijela: 1. Glavna MicroDot ljuska - štampana u crnoj boji PLA2. MicroDot baza - štampana u crnoj boji PLA3. LED prsten - odštampan u bijeloj boji PLA (prozirna ili prozirna može biti bolje za ravnomjernije raspršivanje svjetla) 4. Odstojnik za PCB - bilo koje boje - smješten između zvučnika i PCB -a.

Vijci i matice M2 koriste se za pričvršćivanje baze na ljusku. Tri vijka M2 potrebno je otopiti u utore na unutrašnjoj strani ljuske. Oni su prilično mali i možda ćete ih morati "lemiti" s dodatnom niti.

LED NIZ

Bijela i plava LED dioda montirane su u niz naizmjenično kako je prikazano na slikama. Kablovi se savijaju za 90 stepeni u odnosu na dno LED diode, a vodiči se topljenom lemilicom rastope u prsten (obratite pažnju na polaritet ovdje). Donji dio LED dioda spušten je prema dolje tako da su ravni s površinom prstena.

Sve katode LED dioda povezane su prstenom žice i one se spajaju s najnižim pinom zaglavlja. Ostali pinovi zaglavlja moraju biti naizmjenično plavo/bijeli za svaku pojedinačnu LED diodu

ZAJEDNO

Roštilj je izrezan s držača za stolni papir (na slici) žicom zalemljenom na jedan rub. Ovo se prvo ubacuje u omotač, zatim LED niz (ovo mora biti umetnuto pod kutom kako je prikazano, s utorom poravnatim s jednim od stupova vijaka). Zvučnik je sljedeći (postavite tanku traku oko vrha kako biste ga izolirali od ruba PCB -a). Zatim odstojnik, a PCB samo sjedi na vrhu. Pričvrstite bazu da sve ostane zajedno.

Kada sam priključio audio kabel u LattePandu, otkrio sam da moram koristiti filter uzemljenja za audio (https://www.ebay.com/itm/371801191297) da dobijem dobar zvuk. Imajte na umu da na fotografijama koristim audio izlaz svog HDMI-VGA video adaptera, ali je dobro koristiti ugrađenu audio izlaznu utičnicu.

Trebat će vam i USB mikrofon (https://www.ebay.com/itm/332148968227).

Korak 4: LattePanda

LattePanda
LattePanda
LattePanda
LattePanda

POSTAVITI

Panda dolazi u 2G/32G i 4G/64G modelima, sa ili bez Windows 10 licence. Model koji sam koristio je verzija 2G/32G sa licencom Windows 10:

Molimo pogledajte službenu dokumentaciju za postavljanje vaše LattePande (https://docs.lattepanda.com) Ovdje nema ništa previše komplicirano, ali imajte na umu upute za uključivanje vaše Pande (https://docs.lattepanda.com/ content/getStarted/powe …).

Činilo mi se da mi sve funkcionira prvi put (što je lijepa promjena u odnosu na moja iskustva s Raspberry Pi -om).

Jedna važna stvar je da vam zaista treba neka vrsta hlađenja za Pandu. Koristio sam neke ljepljive hladnjake na vrhu i na dnu (donja strana se posebno zagrijava).

Ovaj dijagram detaljno opisuje Arduino ulaze i izlaze: https://docs.lattepanda.com/content/hardware/inputs… Koristit ćemo niz od 3 pinska konektora na lijevoj strani za povezivanje na MicroDot (D9, D10 i D11), kao i izlaznu audio priključnicu.

Korak 5: LattePanda - Instalirajte Alexa Sample App

LattePanda - Instalirajte Alexa Sample App
LattePanda - Instalirajte Alexa Sample App

SKINUTI

Aplikacija Alexa Sample dostupna je ovdje:

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

Pritisnite dugme Clone ili Download i preuzmite kao.zip

Napravite direktorij na c pogonu C: / ALEXA i izdvojite sadržaj zip -a tako da zip -direktorij zvani uzorci sjedi izravno u ALEXA direktoriju (tj. C: / ALEXA / uzorci …)

INSTALIRANJE

Zvanična potpuna uputstva o tome kako se instalira na Windows nalaze se ovdje:

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

Postoji nekoliko koraka i potrebno je malo vremena, ali otkrio sam da je s Windowsima prvi put sve prošlo glatko.

Za uređivanje nekih konfiguracijskih datoteka trebat će vam dobar uređivač teksta (Notepad nije dobar jer datoteke imaju završetke linija u stilu Linux -a). Koristio sam Notepad ++ koji je dostupan ovdje:

Nekoliko napomena u vezi službenih uputstava:

Dio 3 - Zavisnosti

Moja Panda je 64 -bitna, pa sam preuzeo sve 64 -bitne verzije, ali ako instalirate na 32 -bitni sistem, morat ćete koristiti 32 -bitne verzije. Napomena: nemojte miješati 32 i 64 bitne verzije ovisnosti.

Veza prikazana za VLC media player odvest će vas do 32 -bitne verzije. Da biste dobili 64-bitnu verziju, idite na ovu vezu: https://www.videolan.org/vlc/download-windows.html i na dugmetu za preuzimanje odaberite strelicu, a zatim Installer za 64-bitnu verziju.

Za instalaciju JDK-a koristio sam verziju: jdk-8u144-windows-x64Za nodejs sam koristio: Windows Installer (.msi) 64 bit Za Maven: apache-maven-3.5.0-bin.zipZa OpenSSL sam koristio: Win64 OpenSSL v1.1.0f

Dio 5 - Metoda provjere autentičnosti

Odaberite 5a - Nodejs server. Ako dobijete grešku pri izvođenju naredbe npm, tada morate dodati svoj direktorij nodejs u varijablu okruženja putanje (objašnjeno je u uputama kako to učiniti).

6. dio - Pokretanje primjera aplikacije

Prilikom uređivanja datoteke config.json postavite wakeWordAgentEnabled na true jer ćemo u sljedećem odjeljku instalirati prilagođeni mehanizam za buđenje riječi (mehanizam za buđenje riječi uključen u oglednu aplikaciju radi samo s Linuxom).

Ako dobijete grešku pri izvođenju mvn naredbe, tada morate dodati svoj maven / bin direktorij u varijablu okruženja putanje.

Kada pokrenete aplikaciju, trebali biste vidjeti GUI prikazan na snimci zaslona. Kada kliknete na ikonu, moći ćete razgovarati s Alexa. Ovo je osnovna Alexa aplikacija - ali trebat će nam više od ovoga!

Sljedeći koraci bit će instaliranje prilagođenog mehanizma za buđenje riječi tako da samo možete reći "Alexa" za aktiviranje, a također imate mogućnost korištenja senzora dodira putem Arduino ulaza. Također moramo omogućiti automatsko pokretanje aplikacije pri pokretanju i upaliti neke LED diode dok Alexa sluša i priča.

Korak 6: LattePanda - Instalirajte prilagođeni WakeWord Engine

LattePanda - Instalirajte prilagođeni WakeWord Engine
LattePanda - Instalirajte prilagođeni WakeWord Engine

MOTOR WAKEWORD

WakeWord engine omogućuje da Alexa probudi izgovorena riječ (obično '' Alexa ''), umjesto da mora pritisnuti dugme. Primjer aplikacije ima dvije opcije za WakeWord engine: Sensory ili KITT. AI wake word engine. implementacija za njih u primjeru aplikacije funkcionira samo za Linux. Oba ova motora također podliježu određenim licencnim zahtjevima.

Ovdje ću implementirati prilagođeni mehanizam za buđenje riječi koji se temelji na vlastitom SDK -u za prepoznavanje govora u sistemu Windows 10. Dakle, i ovo je bez ikakvih dodatnih licencnih zahtjeva.

UGRADNJA ZAVISNOSTI

Microsoft Speech Platform - Runtime (verzija 11) https://www.microsoft.com/en-gb/download/details.a…x86_SpeechPlatformRuntime\SpeechPlatformRuntime.msi (32 bit) ili x64_SpeechPlatformRuntime / SpeechPlatformRuntime.msi (64)

Microsoft govorna platforma-jezici za vrijeme izvođenja (verzija 11)

Moj prilagođeni WakeWord engine napisan je na C# u Visual Studio 2017. Ovdje sam dostavio konačnu izvršnu datoteku, kao i izvorni kod. Ako ga želite sami sastaviti, trebat će vam i ovo:

Microsoft govorna platforma - Komplet za razvoj softvera (SDK) (verzija 11) https://www.microsoft.com/en-gb/download/details….|x86_MicrosoftSpeechPlatformSDK\MicrosoftSpeechPlatformSDK.msi (32 bit) ili x64_MicrosoftSpeechPlatformSDK / MicrosoftSpeech 64 bit)

Stavite WakeWordPanda.exe (i alexa_run.bat) u direktorij ALEXA. Ovaj program obavlja sljedeće zadatke:- Sluša riječ „Alexa“za buđenje- Nadzire senzor za unos dodirom- Kontrolira PLAVE I BIJELE LED diode

Imajte na umu da sam ovo razvio na drugom računaru sa sustavom Windows 10 tako da nisam morao instalirati Visual Studio na LattePandu jer nisam htio koristiti gigabajte. Povezao sam Arduino Uno instaliran sa StandardFirmatom (https://www.lattepanda.com/docs/#SetuptheArduino) na razvojno računalo kako bih mogao razvijati i sa Arduino ulazima/izlazima. Izvorni kôd Visual Studija je takođe priložen ako želite sami da ga izmenite i/ili kompajlirate.

IZMJENITE JAVNOG KLIJENTA

Java klijentu je potrebno dodati nekoliko dodatnih redaka kodu. Ovo je potrebno za omogućavanje ispravnog rada LED dioda:

Dok Alexa sluša, signal PAUSE_WAKE_WORD_ENGINE se šalje na WakeWord engine. Koristio sam ovaj signal da znam kada da upalim PLAVU (Alexa slušalica koja sluša). Kada se primi signal RESUME_WAKE_WORD_ENGINE, plava LED dioda se isključuje, a BIJELA (LED koja govori Alexa) se uključuje. Dodatni kôd šalje još jedan signal RESUME_WAKE_WORD_ENGINE kada Alexa prestane govoriti - tako da WakeWord engine zna kada treba isključiti bijelu LED diodu.

Idite na: C: / ALEXA / uzorci / javaclient / src / main / java / com / amazon / alexa / avs i otvorite AVSController.java u uređivaču teksta. Kopirajte kôd iz priložene datoteke Extra_Code.txt. Potrebno ga je umetnuti na dva mjesta:

1. U funkciji public void onAlexaSpeechFinished () neposredno nakon izraza: dependencyDirectiveThread.unblock ();

2. U funkciji private void handleAudioPlayerDirective (Direktiva direktiva) neposredno prije izraza: player.handleStop ();

Takođe sam ponovo namjenio signal POTVRDI kako bi WakeWord engine znao je li Alexa odgovorila. Ovim se poništava vremensko ograničenje od 5 sekundi koje će nastupiti ako nema odgovora. Kopirajte kôd iz Extra_Code2.txt i umetnite ga na jedno mjesto:

1. U funkciji public void onAlexaSpeechStarted () izravno nakon izraza dependDirectiveThread.block ();

Sada morate ponovno kompajlirati Java klijenta. Otvorite naredbeni redak i idite na C: / ALEXA / uzorci / javaclient Unesite: mvn install za ponovno kompajliranje.

Ako pokrenete Companion Service i Java Alexa aplikaciju kao i prije, a zatim dvaput kliknete na WakeWordPanda.exe, pričekate da se poveže, a zatim biste trebali moći aktivirati Alexa izgovarajući "Alexa".

MICRODOT

Ako spojite 'USB' kabel MicroDota na LattePandu kao što je prikazano na dijagramu, i uključite audio kabel, sada bi trebao biti potpuno funkcionalan. Izgovaranje riječi za buđenje ili dodirivanje roštilja trebali bi aktivirati Alexa i plava LED dioda bi se trebala upaliti. Bijele LED diode trebale bi se upaliti dok Alexa odgovori.

SETUP AUTO RUN

Umjesto ručnog upisivanja svih naredbi za pokretanje, možete koristiti skriptu alexa_run.bat. Ovo će čekati internetsku vezu, a zatim pozvati zasebne module (prateća usluga, java klijent, mehanizam za buđenje riječi).

Zadnji korak je da se sve pokrene automatski pri pokretanju:

1. Desnim tasterom miša kliknite na auto-run.bat i izaberite kreiraj prečicu.2. Pritisnite ctrl+R i upišite shell: startup. Ovo će otvoriti mapu za pokretanje.3. Prevucite prečicu koju ste kreirali u fasciklu za pokretanje.

Alexa će se sada automatski pokrenuti pri pokretanju (potrebno je 30-ak sekundi da se pokrene nakon pokretanja).

Korak 7: MicroDot za Raspberry Pi

MicroDot za Raspberry Pi
MicroDot za Raspberry Pi
MicroDot za Raspberry Pi
MicroDot za Raspberry Pi

(Ako želite koristiti Raspberry Pi 3 umjesto LattePande).

SKINUTI

Preuzmite Alexa Sample aplikaciju odavde:

Pritisnite dugme Clone ili Download i preuzmite kao.zip. Raspakirajte tako da se fascikla alexa-ava-sample-app nalazi na radnoj površini.

INSTALIRANJE

Slijedite ovdje službena potpuna uputstva (napomena: postavite tako da mapa alexa-ava-sample-app na radnoj površini):

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

Postoji mnogo vodiča za to pomoću Raspberry Pi na Internetu. Instalirao sam ovo nekoliko puta na Raspberry Pi, ali niti jednom nije prošlo tako glatko kao instalacija na WIndows 10 (ne čudi - Linux me svaki put dobije). Glavni problemi na koje sam naišao su:

1. Omogućavanje ispravnog rada zvuka i mikrofona. Ovdje pogledajte https://github.com/alexa-pi/AlexaPi/wiki/Audio-set… ako i vi imate ovih problema.

2. Problemi sa verzijom JDK. Pogledajte 4.3 u službenim uputama i napomenu u pom.xml datoteci koja govori o nadjačavanju verzije prilikom izvršavanja naredbe mvn exec: exec (tj. Morao sam dodati ovaj prekidač -Dalpn -boot.version = 8.1.6.v20151105). Imajte na umu da je ova naredba uključena u moju skriptu za pokretanje (alexa_startup.sh).

3. Pokretanje Sensory wake word engine-a (https://github.com/Sensory/alexa-rpi)

Nakon što sve pokrenete pomoću ručnih naredbi kako je navedeno u uputama, nastavite s instalacijom MicroDot -a.

MICRODOT CONNECTION

Ne možete direktno priključiti MicroDot na GPIO jer će izvući previše struje. Trebat će vam: 2x 2N3904 tranzistora za pogon LED dioda, 1x2K2 i 1x3K3 otpornici za pad napona sa osjetnika na dodir na 3,3 V (MicroDot će se napajati iz 5V napajanja). Pogledajte priloženi dijagram. Možda biste za to htjeli napraviti PCB, ali upravo sam montirao ove komponente na stražnju stranu 8 -polnog ženskog utikača.

PRILAGOĐENI WAKE MOTOR (DODIR)

Raspakirajte sadržaj priložene zip mape u mapu alexa-avs-sample-app. Postoje dvije datoteke: wake.py - python skripta koja je prilagođeni (touch) mehanizam za buđenje za MicroDot alexa_autostart.sh - skripta za pokretanje svega. Desnom tipkom miša kliknite svojstva na ovo i odaberite izvršiti: bilo tko na kartici dozvole.

Za pokretanje mehanizma za buđenje trebat će vam instaliran python. Trebat će vam i biblioteka GPIO (https://makezine.com/projects/tutorial-raspberry-p…) Oni bi već trebali biti instalirani u najnovijoj verziji Raspbiana.

Da biste pokrenuli sve, upišite u terminal: cd/home/pi/Desktop/alexa-avs-sample-appsudo./alexa_startup.sh

POSTAVITE AUTORUN

Da biste postavili Alexa da se automatski pokreće pri pokretanju, otvorite terminal i upišite:

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

i dodajte redak i spremite:

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

Ponovo pokrenite sistem i aplikacija Alexa trebala bi se automatski pokrenuti.

Preporučuje se: