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, Studeni
Anonim
Slika
Slika

MicroDot je domaći Alexa 'gumb' dizajniran za povezivanje s LattePandom ili Raspberry Pi, s 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 sustava

pregled sistema
pregled sistema

LATTE PANDA

LattePanda je malo (otprilike veličine Raspberry Pi) Windows 10 računalo s ugrađenim Arduinom za povezivanje sa stvarnim svijetom. 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.

MIKRODOT

MicroDot se sastoji od malog pojačala i zvučnika s roštiljem osjetljivim na dodir i plavo/bijelim LED nizom. MicroDot je izvorno dizajniran za postavljanje na crticu u mom automobilu kako bi pružio moje Alexa rješenje u automobilu (za uparivanje s mojim prethodnim projektom-stereo za automobile s omogućenom Alexa). Osim što sam imao opciju wake-word, htio sam i aktivaciju dodirom jer će Alexa teško čuti moju budnu riječ kad glazba bude glasna! (Nakon što se aktivira, Panda će poslati signal stereou da smanji glasnoću dok Alexa sluša/govori).

MALINA PI

Za one koji bolje govore "Raspberry Pi", opisao sam na kraju ovog uputstva kako spojiti MicroDot s 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 linearni potenciometar s velikim palcem (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 diode 1 x 1,7 inčni 4ohm 3W zvučnik 1 x tanki crni kabel stare slušalice1 x tanki crni 1m USB produžni kabel*

IZGRADNJA

MicroDot PCB izrađen je metodom glačanja na toneru na jednostranoj ploči debljine 0,8 mm - pri ovoj debljini može se grubo izrezati oštrim škarama, a 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 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 na kraju sam se morao pozvati na podatkovnu tablicu.

Tehnički list TTP223 navodi da osjetljivost možete prilagoditi 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 spajanje MicroDota na Pandu koriste se dva kabela:- tanki crni kabel iz starih par slušalica za povezivanje zvuka- za spajanje na GPIO (osjetnik na dodir/LED diode) upotrijebljen je tanki USB kabel. Trebat će vam kabel sa 6 zasebnih priključaka (5 unutarnjih + štit). *Pazite da neki jeftini USB kabeli nemaju zasebnu iglu za uzemljenje/oklop, ili se ova dva mogu spojiti iznutra (provjerite to prije rezanja kabela i provjerite postoji li kontinuitet između vanjskih metalnih dijelova muškog i ženskog dijela 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 odrežete 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 te 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 nikakve stvarne USB uređaje ili ih uključite u običan USB priključak!

Korak 3: MicroDot konstrukcija

MicroDot konstrukcija
MicroDot konstrukcija
MicroDot konstrukcija
MicroDot konstrukcija
MicroDot konstrukcija
MicroDot konstrukcija
MicroDot konstrukcija
MicroDot konstrukcija

3D TISKANI DIJELOVI

U priloženoj zip datoteci nalaze se četiri 3D ispisana dijela: 1. Glavna MicroDot ljuska - tiskana u crnoj boji PLA2. MicroDot baza - tiskana u crnoj boji PLA3. LED prsten - otisnut bijelim PLA (prozirno ili prozirno može biti bolje za ravnomjernije raspršivanje svjetla) 4. Razmaknica za PCB - bilo koje boje - smještena 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 s unutarnje strane ljuske. Oni su prilično mali i možda ćete ih morati "lemiti" na mjesto s dodatnom niti.

LED NIZ

Bijela i plava LED dioda montirane su u nizu naizmjence kako je prikazano na slikama. Kablovi se savijaju za 90 stupnjeva u odnosu na dno LED -a, a vodiči se tope u prsten vrućim lemilicom (imajte na umu 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, a one se spajaju s najnižim pinom zaglavlja. Ostali pinovi zaglavlja moraju biti naizmjenično plavo/bijeli za svaku pojedinačnu LED

ZAJEDNO

Roštilj je izrezan s držača za stolni papir (na slici) žicom zalemljenom na jedan rub. To se najprije umetne u omotač, zatim LED niz (ovo se mora umetnuti pod kutom kako je prikazano, s utorom poravnanim 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.

Kad sam priključio audio kabel u LattePandu, otkrio sam da moram upotrijebiti audio filtar uzemljenja (https://www.ebay.com/itm/371801191297) da bih dobio dobar zvuk. Imajte na umu da na fotografijama koristim audio izlaz svog HDMI-VGA video adaptera, ali dobro je 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 modelima 2G/32G i 4G/64G, sa ili bez licence za Windows 10. Model koji sam koristio je verzija 2G/32G s 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).

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… Za povezivanje na MicroDot (D9, D10 koristit ćemo niz 3-pinskih konektora na lijevoj strani) 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

PREUZIMANJE DATOTEKA

Aplikacija Alexa Sample dostupna je ovdje:

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

Pritisnite gumb Clone ili Download i preuzmite kao.zip

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

UGRADNJA

Službene potpune upute za instalaciju 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 redaka u stilu Linux -a). Koristio sam Notepad ++ koji je dostupan ovdje:

Nekoliko napomena u vezi službenih uputa:

3. dio - Ovisnosti

Moja Panda je 64 -bitna, pa sam preuzeo sve 64 -bitne verzije, ali ako instalirate na 32 -bitni sustav, 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 na 32 -bitnu verziju. Da biste dobili 64-bitnu verziju, idite na ovu vezu: https://www.videolan.org/vlc/download-windows.html i na gumbu 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 koristio sam: Win64 OpenSSL v1.1.0f

Dio 5 - Metoda provjere autentičnosti

Odaberite 5a - Nodejs poslužitelj. Ako dobijete pogrešku prilikom izvođenja naredbe npm, tada morate dodati svoj direktorij nodejs u varijablu okruženja puta (objašnjeno je u uputama kako to učiniti).

6. dio - Pokretanje ogledne 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 pogrešku pri izvođenju naredbe mvn, tada morate dodati svoj maven / bin direktorij u varijablu okruženja puta.

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

Sljedeći koraci bit će instaliranje prilagođenog mehanizma za buđenje riječi tako da možete samo 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 gumb. Primjer aplikacije ima dvije mogućnosti za WakeWord engine: Sensory ili KITT. AI wake word engine. implementacija za njih u primjeru aplikacije funkcionira samo za Linux. Oba 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 sustavu Windows 10. Dakle, ovo također nema nikakvih dodatnih licencnih zahtjeva.

UGRADNJA ZAVISNOSTI

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

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 izvršava sljedeće zadatke:- Sluša riječ za buđenje '' Alexa ''- Nadzire senzor unosa dodirom- Upravlja plavim i bijelim LED-ima

Imajte na umu da sam ovo razvio na drugom računalu sa sustavom Windows 10 tako da nisam morao instalirati Visual Studio na LattePandu jer nisam želio koristiti Gigabajte. Spojio sam Arduino Uno instaliran sa StandardFirmatom (https://www.lattepanda.com/docs/#SetuptheArduino) na razvojno računalo kako bih se mogao razvijati i s Arduino ulazima/izlazima. Izvorni kôd Visual Studija također je priložen ako ga želite sami izmijeniti i/ili kompajlirati.

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 šalje se u mehanizam WakeWord. Koristio sam ovaj signal da znam kada trebam upaliti PLAVU (Alexa slušalicu koja sluša). Kad se primi signal RESUME_WAKE_WORD_ENGINE, plava LED dioda se isključuje, a uključuje se BIJELA (LED koja govori Alexa). Dodatni kôd šalje još jedan signal RESUME_WAKE_WORD_ENGINE kada Alexa prestane govoriti - tako da WakeWord motor zna kada treba isključiti bijelu LED.

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 () izravno iza izraza: dependencyDirectiveThread.unblock ();

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

Također sam ponovno namjestio CONFIRM signal kako bi WakeWord engine znao je li Alexa odgovorila. Time se poništava istek od 5 sekundi koji ć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 Client. 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 do sada, a zatim dvaput kliknite WakeWordPanda.exe, pričekajte da se poveže, a zatim biste trebali moći aktivirati Alexa izgovarajući "Alexa".

MIKRODOT

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 uključiti. Bijele LED diode trebale bi se upaliti dok Alexa reagira.

POSTAVKA AUTO POKRENI

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

Zadnji korak je da se sve pokrene automatski pri pokretanju:

1. Desnom tipkom miša kliknite auto-run.bat i odaberite stvoriti prečac.2. Pritisnite ctrl+R i upišite shell: startup. Ovo će otvoriti mapu za pokretanje.3. Povucite prečac koji ste stvorili u mapu za pokretanje.

Alexa će se sada automatski pokrenuti pri pokretanju (potrebno je oko 30 sekundi za inicijalizaciju 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).

PREUZIMANJE DATOTEKA

Aplikaciju Alexa Sample preuzmite odavde:

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

UGRADNJA

Slijedite ovdje službene potpune upute (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 s 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 s kojima sam se susreo bili su:

1. Pravilno funkcioniranje zvuka i mikrofona. Ovdje pogledajte https://github.com/alexa-pi/AlexaPi/wiki/Audio-set… ako i vi imate ovih problema.

2. Problemi s 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 pogona Sensory wake word (https://github.com/Sensory/alexa-rpi)

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

MICRODOT POVEZIVANJE

Ne možete izravno 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 s 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 ovome i odaberite izvršiti: bilo tko na kartici dopuštenja.

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 sustav i aplikacija Alexa trebala bi se automatski pokrenuti.

Preporučeni: