Kazalo:

"MicroDot" za LattePanda (ali Raspberry Pi): 7 korakov (s slikami)
"MicroDot" za LattePanda (ali Raspberry Pi): 7 korakov (s slikami)

Video: "MicroDot" za LattePanda (ali Raspberry Pi): 7 korakov (s slikami)

Video:
Video: 마이크로닷 Microdot - Goal (feat. Times x Two) Official M/V 2024, Maj
Anonim
Slika
Slika

MicroDot je domači Alexa gumb, ki je zasnovan za povezavo z LattePando ali Raspberry Pi z nameščeno aplikacijo Alexa Sample. Je majhen zvočnik z LED diodami in aktivacijo na dotik/govor ter je idealen za uporabo na namizju ali v avtomobilu.

*LattePando za ta projekt je priskrbel DFRobot

1. korak: Pregled sistema

Pregled sistema
Pregled sistema

LATTE PANDA

LattePanda je majhen (približno velikosti Raspberry Pi) računalnik z operacijskim sistemom Windows 10 z vgrajenim Arduinom za povezavo z resničnim svetom. Res je precej čudovit - in je dobra zamenjava za Raspberry Pi - še posebej, če imate (tako kot jaz) težave pri razumevanju Linuxa.

Na Pando sem namestil aplikacijo Alexa Sample App in uvedel lasten mehanizem za bujenje besed, ki temelji na vgrajenem SDK za prepoznavanje govora v sistemu Windows.

MICRODOT

MicroDot je sestavljen iz majhnega ojačevalnika in zvočnika z žarom, občutljivim na dotik, in modro/belo LED diodo. MicroDot je bil prvotno zasnovan za namestitev na armaturno ploščo v mojem avtomobilu, da bi zagotovil mojo rešitev Alexa v avtomobilu (za povezavo z mojim prejšnjim projektom-stereo sistemom za avtomobile Alexa). Poleg tega, da sem imel možnost budne besede, sem želel aktiviranje na dotik, ker bo Alexa težko slišala mojo budno besedo, ko bo glasba glasna! (Ko je Panda aktivirana, bo Panda poslala signal v stereo, da zmanjša glasnost, medtem ko Alexa posluša/govori).

MALINA PI

Za tiste, ki bolj obvladajo "Raspberry Pi", sem na koncu tega navodila opisal, kako povezati MicroDot z Rapsberry Pi 3.

2. korak: Vezje MicroDot

Vezje MicroDot
Vezje MicroDot
Vezje MicroDot
Vezje MicroDot
Vezje MicroDot
Vezje MicroDot

DELI

6 x 220R SMD upori 2 x 470R SMD upori 1 x 10uF SMD kondenzator 1 x TTP223 modul senzorja na dotik (https://www.ebay.com/itm/192097635565)1 x PAM8403 3W ojačevalni modul (https://www.ebay.com/ itm/221895096190) 1 x 10K enosmerni linearni potenciometer (https://www.ebay.com/itm/401105807680)1 x 50pF keramični kondenzator 3 x 3 mm modri LED 3 x 3 mm bele LED 1 x 1,7 palčni 4ohm 3W zvočnik 1 x tanek črni kabel stare slušalke 1 x tanki črni 1m USB podaljšek*

GRADNJA

PCB MicroDot je bil izdelan z metodo železa na tonerju na enostranski plošči debeline 0,8 mm - pri tej debelini ga je mogoče z ostrimi škarjami grobo razrezati in nato enostavno oblikovati. Najprej namestite vse komponente za površinsko montažo.

Na površino na dotik senzorja je treba priključiti žico, zato je treba majhno površino postrgati za spajkanje. Ugotovil sem, da je bil senzor v surovem načinu preveč občutljiv - deloval je dobro, ko pa so ga namestili v ohišje, se je zaradi bližine kovinskega zvočnika pogosto sprožil lažno. Ozemljil sem kovinski zvočnik - kar je nekoliko pomagalo, vendar sem se moral na koncu sklicevati na podatkovni list.

V podatkovnem listu TTP223 je navedeno, da lahko občutljivost prilagodite tako, da med senzor na dotik in maso postavite kondenzator (0 do 50 pf). Senzor je dobro deloval s 50pf kondenzatorjem. Lego tega lahko vidite na sliki naslednjega razdelka.

Za priključitev MicroDota na Pando se uporabljata dva kabla:- tanek črni kabel iz starih slušalk za priključitev zvoka- za povezavo z GPIO (senzor na dotik/LED) je bil uporabljen tanek kabel USB. Potrebovali boste kabel s 6 ločenimi priključki (5 notranjih + ščit). *Pazite, da nekateri poceni kabli USB nimajo ločenega ozemljitvenega zatiča/ščita ali pa sta oba lahko notranje povezana (to preverite, preden prerežete kabel in se prepričajte, da med zunanjimi kovinskimi deli moškega in ženskega dela obstaja neprekinjenost čepov in da med ozemljitvenim zatičem in zunanjimi kovinskimi deli ni neprekinjenosti).

Uporabite priključke kabla USB: rdeča =+5V, ščit = GND, črna = senzor na dotik, bela = bele LED, zelena = modra LED. Namesto da samo odrežete mopsa in ga ožičite, boste morda želeli narediti to, kar sem storil in držite vtikače ter prerežite en dolg in en kratek (recimo 200 mm) odsek ter dva konca kabla priključite skupaj. Na ta način je enota odstranljiva. Pazite le, da vanj ne priključite nobenih dejanskih naprav USB ali jih priključite v običajna vrata USB!

3. korak: Konstrukcija MicroDot

Konstrukcija MicroDot
Konstrukcija MicroDot
Konstrukcija MicroDot
Konstrukcija MicroDot
Konstrukcija MicroDot
Konstrukcija MicroDot
Konstrukcija MicroDot
Konstrukcija MicroDot

3D TISKANI DELI

V priloženi zip datoteki so štirje 3D natisnjeni deli: 1. Glavna lupina MicroDot - natisnjena v črni barvi PLA2. MicroDot baza - natisnjena v črni barvi PLA3. LED obroč - natisnjen v beli barvi PLA (prozorna ali prosojna za bolj enakomerno razpršitev svetlobe) 4. Distančnik za tiskano vezje - katere koli barve - stisnjen med zvočnik in tiskano vezje.

Vijaki in matice M2 se uporabljajo za privijanje podlage na lupino. Tri vijake M2 je treba stopiti v reže na notranji strani lupine. Ti so precej majhni in jih boste morda morali "spajkati" na mesto z dodatno nitko.

LED NIZ

Bela in modra LED dioda sta v matriko nameščeni izmenično, kot je prikazano na slikah. Vodniki se upognejo za 90 stopinj proti dnu LED, vodi pa se z vročim spajkalnikom stopijo v obroč (upoštevajte polarnost tukaj). Spodnji del LED je položen navzdol, tako da sta ravno na površini obroča.

Katode LED diod so vse skupaj povezane z obročem žice, ki se povežejo z najnižjim zatičem glave. Drugi zatiči glave morajo biti izmenično modro/beli za vsako posamezno LED

SESTAVLJANJE

Žar je bil izrezan iz nosilca za namizni papir (na sliki) z žico, spajkano na en rob. Ta se najprej vstavi v ohišje, nato pa LED dioda (ta mora biti vstavljena pod kotom, kot je prikazano, reža pa mora biti poravnana z enim od vijačnih stebrov). Naslednji je zvočnik (na vrh položite tanek trak, da ga izolirate od roba tiskanega vezja). Nato distančnik in tiskana vezja le sedijo na vrhu. Privijte podstavek, da bo vse skupaj.

Ko sem priključil avdio kabel v LattePando, sem ugotovil, da moram za dober zvok uporabiti zvočni ozemljitveni filter (https://www.ebay.com/itm/371801191297). Upoštevajte, da na fotografijah uporabljam zvočni izhod video adapterja HDMI-VGA, vendar je v redu uporabiti vhodni avdio vtič.

Potrebovali boste tudi USB mikrofon (https://www.ebay.com/itm/332148968227).

4. korak: LattePanda

LattePanda
LattePanda
LattePanda
LattePanda

NASTAVITI

Panda je na voljo v modelih 2G/32G in 4G/64G z licenco Windows 10 ali brez nje. Model, ki sem ga uporabil, je bila različica 2G/32G z licenco Windows 10:

Oglejte si uradno dokumentacijo za nastavitev LattePande (https://docs.lattepanda.com) Tu ni nič preveč zapletenega, vendar upoštevajte navodila za vklop Pande (https://docs.lattepanda.com/ content/getStarted/powe …).

Zdelo se mi je, da je prvič vse delovalo (kar je lepa sprememba glede na moje izkušnje z Raspberry Pi).

Ena pomembna stvar je, da za Pando resnično potrebujete nekakšno hlajenje. Zgoraj in spodaj sem uporabil nekaj lepljivih hladilnikov (spodnja stran se še posebej segreje).

Ta diagram podrobno opisuje vhode in izhode Arduino: https://docs.lattepanda.com/content/hardware/inputs… Za povezavo z MicroDotom (D9, D10 bomo uporabili niz 3-polnih konektorjev na levi strani in D11), kot tudi izhod za avdio izhod.

5. korak: LattePanda - Namestite aplikacijo Alexa Sample

LattePanda - Namestite aplikacijo Alexa Sample
LattePanda - Namestite aplikacijo Alexa Sample

PRENESI

Vzorčna aplikacija Alexa je na voljo tukaj:

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

Pritisnite gumb Clone ali Download in prenesite kot.zip

Ustvarite imenik na pogonu c C: / ALEXA in izvlecite vsebino zip -a, tako da imenik z zadrgo, imenovan vzorci, sedi neposredno v imeniku ALEXA (tj. C: / ALEXA / vzorci \…)

NAMESTITEV

Uradna popolna navodila za namestitev v sistemu Windows so tukaj:

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

Korakov je kar nekaj in traja kar nekaj časa, vendar sem ugotovil, da je z operacijskim sistemom Windows prvič vse potekalo brez težav.

Za urejanje nekaterih konfiguracijskih datotek boste potrebovali dober urejevalnik besedil (Beležnica ni dobra, saj imajo datoteke končnice vrstic v slogu Linux). Uporabil sem Notepad ++, ki je na voljo tukaj:

Nekaj opomb v zvezi z uradnimi navodili:

3. del - Odvisnosti

Moja Panda je 64 -bitna, zato sem prenesla vse 64 -bitne različice, če pa nameščate v 32 -bitni sistem, boste morali uporabiti 32 -bitne različice. Opomba: ne mešajte 32 in 64 bitnih različic odvisnosti.

Povezava, prikazana za VLC media player, vas bo pripeljala do 32 -bitne različice. Če želite dobiti 64-bitno različico, pojdite na to povezavo: https://www.videolan.org/vlc/download-windows.html in na gumbu za prenos izberite puščico in nato Namestitveni program za 64-bitno različico.

Za namestitev JDK sem uporabil različico: jdk-8u144-windows-x64 Za nodejs sem uporabil: Windows Installer (.msi) 64 bit Za Maven: apache-maven-3.5.0-bin.zip Za OpenSSL sem uporabil: Win64 OpenSSL v1.1.0f

5. del - Metoda preverjanja pristnosti

Izberite 5a - Nodejs strežnik. Če pride do napake pri izvajanju ukaza npm, morate svoj imenik nodejs dodati v spremenljivko okolja poti (to je razloženo v navodilih, kako to storiti).

6. del - Zagon vzorčne aplikacije

Ko urejate datoteko config.json, nastavite wakeWordAgentEnabled na true, saj bomo v naslednjem razdelku namestili mehanizem za bujenje besed po meri (mehanizem besed za bujenje, vključen v vzorčno aplikacijo, deluje samo z Linuxom).

Če pri zagonu ukaza mvn pride do napake, morate v spremenljivko okolja poti dodati imenik maven / bin.

Ko zaženete aplikacijo, bi morali dobiti grafični vmesnik, prikazan na posnetku zaslona. Ko kliknete ikono, se boste lahko pogovarjali z Alexa. To je osnovna aplikacija Alexa - vendar bomo potrebovali več kot to!

Naslednji koraki bodo namestitev prilagojenega mehanizma za budne besede, tako da lahko za aktiviranje izgovorite "Alexa" in imate tudi možnost uporabe senzorja na dotik prek vhoda Arduino. Prav tako moramo omogočiti samodejno zagon aplikacije ob zagonu in prižgati nekaj LED, ko Alexa posluša in govori.

6. korak: LattePanda - Namestite po meri WakeWord Engine

LattePanda - Namestite WakeWord Engine po meri
LattePanda - Namestite WakeWord Engine po meri

MOTOR WAKEWORD

Motor WakeWord omogoča, da Alexa zbudi izgovorjena beseda (ponavadi "Alexa"), namesto da bi morali klikniti gumb. Vzorčna aplikacija ima dve možnosti za motor WakeWord: Sensory ali KITT. AI wake word engine. izvedba za te v vzorčni aplikaciji pa deluje le za Linux. Za oba motorja veljajo tudi nekatere zahteve za licenciranje.

Tukaj bom implementiral mehanizem za bujenje besed po meri, ki temelji na lastnem SDK za prepoznavanje govora v sistemu Windows 10. Tako je tudi brez dodatnih licenčnih zahtev.

NAMESTITE ODVISNOSTI

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

Microsoftova govorna platforma-jeziki izvajanja (različica 11)

Moj motor WakeWord po meri je bil napisan v jeziku C# v Visual Studiu 2017. Tu sem predložil končno izvedljivo datoteko in tudi izvorno kodo. Če ga želite sestaviti sami, boste potrebovali tudi to:

Microsoftova govorna platforma - komplet za razvoj programske opreme (SDK) (različica 11) https://www.microsoft.com/en-gb/download/details….| x86_MicrosoftSpeechPlatformSDK\MicrosoftSpeechPlatformSDK.msi (32 bit) ali x64_MicrosoftSpeechPlatformSDK / MicrosoftSpeech 64 bit)

WakeWordPanda.exe (in alexa_run.bat) vstavite v imenik ALEXA. Ta program opravlja naslednje naloge:- posluša besedo za prebujanje '' Alexa ''- spremlja senzor vnosa na dotik- nadzoruje modre in bele LED

Upoštevajte, da sem to razvil v drugem računalniku z operacijskim sistemom Windows 10, tako da mi ni bilo treba namestiti Visual Studia na LattePando, saj nisem hotel porabiti gigabajtov. Arduino Uno, nameščen s StandardFirmato (https://www.lattepanda.com/docs/#SetuptheArduino), sem povezal z razvojnim računalnikom, da sem lahko razvijal tudi z vhodi/izhodi Arduino. Izvorna koda Visual Studio je priložena tudi, če jo želite sami spremeniti in/ali sestaviti.

SPREMENITE JAVA STRANCA

Odjemalec Java potrebuje kodi dodanih nekaj dodatnih vrstic. To naj bi omogočilo pravilno delovanje LED diod:

Ko Alexa posluša, se v mehanizem WakeWord pošlje signal PAUSE_WAKE_WORD_ENGINE. Ta signal sem uporabil, da sem vedel, kdaj vklopiti MODRO (Alexa za poslušanje Alexa). Ko je sprejet signal RESUME_WAKE_WORD_ENGINE, se modra LED ugasne, bela (LED, ki govori Alexa) pa se vklopi. Dodatna koda pošlje še en signal RESUME_WAKE_WORD_ENGINE, ko Alexa preneha govoriti - tako da mehanizem WakeWord ve, kdaj izklopiti belo LED.

Pomaknite se na: C: / ALEXA / vzorci / javaclient / src / main / java / com / amazon / alexa / avs in v urejevalniku besedil odprite AVSController.java. Kopirajte kodo iz priložene datoteke Extra_Code.txt. Vstaviti ga je treba na dva mesta:

1. V funkciji public void onAlexaSpeechFinished () neposredno po stavku: dependencyDirectiveThread.unblock ();

2. V funkciji private void handleAudioPlayerDirective (direktiva direktive) neposredno pred stavkom: player.handleStop ();

Prav tako sem ponovno namenil signal POTRDI, tako da bo mehanizem WakeWord vedel, ali se je Alexa odzvala. S tem prekličete 5 -sekundno časovno omejitev, ki bo nastala, če ni odgovora. Kopirajte kodo iz Extra_Code2.txt in jo vstavite na eno mesto:

1. V funkciji public void onAlexaSpeechStarted () neposredno po stavku dependDirectiveThread.block ();

Zdaj morate znova sestaviti odjemalca Java. Odprite ukazni poziv in se pomaknite do C: / ALEXA / vzorcev / javaclient Vnesite: mvn install za ponovno prevedbo.

Če zaženete aplikacijo Companion Service in Java Alexa kot prej, nato pa dvokliknete tudi WakeWordPanda.exe, počakate, da se poveže, nato pa bi morali aktivirati Alexa tako, da izgovorite »Alexa«.

MICRODOT

Če priključite kabel MicroDot 'USB' na LattePando, kot je prikazano na diagramu, in priključite avdio kabel, bi moral biti zdaj popolnoma funkcionalen. Če izgovorite budno besedo ali se dotaknete žara, bi morali aktivirati Alexa in prižgati se mora modra LED. Bele LED diode bi morale prižgati, ko se odzove Alexa.

NASTAVITEV AUTO RUN

Namesto da ročno vnesete vse ukaze za zagon, lahko uporabite skript alexa_run.bat. To bo počakalo na internetno povezavo in nato priklicalo ločene module (spremljevalna storitev, odjemalec java, mehanizem za bujenje besed).

Zadnji korak je, da se vse samodejno zažene ob zagonu:

1. Z desno tipko miške kliknite auto-run.bat in izberite ustvari bližnjico. Pritisnite ctrl+R in vnesite shell: zagon. S tem se odpre zagonska mapa. Bližnjico, ki ste jo ustvarili, povlecite v zagonsko mapo.

Alexa se bo zdaj samodejno zagnala ob zagonu (za zagon po zagonu traja približno 30 sekund).

7. korak: MicroDot za Raspberry Pi

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

(Če želite namesto LattePande uporabiti Raspberry Pi 3).

PRENESI

Prenesite aplikacijo Alexa Sample od tukaj:

Pritisnite gumb Clone ali Download in prenesite kot.zip. Razpakirajte, da bo mapa alexa-ava-sample-app na namizju.

NAMESTITEV

Sledite celotnim uradnim navodilom (opomba: nastavite tako, da bo mapa alexa-ava-sample-app na namizju):

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

Obstaja veliko vodnikov za to z Raspberry Pi na internetu. Nekajkrat sem to namestil na Raspberry Pi in niti enkrat ni šlo tako gladko kot namestitev na WIndows 10 (ni presenetljivo - Linux me vsakič doleti). Glavna vprašanja, s katerimi sem se srečal, so bila:

1. Za pravilno delovanje zvoka in mikrofona. Če imate tudi te težave, si oglejte tukaj

2. Težave z različico JDK. Glejte 4.3 v uradnih navodilih in opombo v datoteki pom.xml, ki govori o preglasitvi različice pri izvajanju ukaza mvn exec: exec (tj. To stikalo sem moral dodati -Dalpn -boot.version = 8.1.6.v20151105). Upoštevajte, da je ta ukaz vključen v moj zagonski skript (alexa_startup.sh).

3. Zagon delovanja pogona besedilnega pogona Sensory (https://github.com/Sensory/alexa-rpi)

Ko lahko vse zaženete z ročnimi ukazi, kot je opisano v navodilih, nadaljujte z namestitvijo MicroDot.

MICRODOT POVEZAVA

MicroDota ne morete neposredno priključiti na GPIO, ker bo potegnil preveč toka. Potrebovali boste: 2x tranzistorja 2N3904 za pogon LED diod, 1x2K2 in 1x3K3 upor za znižanje napetosti senzorja na dotik na 3,3 V (MicroDot se bo napajal iz 5 V napajanja). Oglejte si priloženi diagram. Za to boste morda želeli narediti tiskano vezje, vendar sem te komponente pravkar namestil na hrbtno stran 8 -polnega ženskega vtiča.

PRILAGODLJIVI WAKE MOTOR (NA DOTIK)

Razpakirajte vsebino priložene zip mape v mapo alexa-avs-sample-app. Obstajata dve datoteki: wake.py - skript python, ki je po meri (na dotik) mehanizem za bujenje za MicroDot alexa_autostart.sh - skript za izvajanje vsega. Z desno miškino tipko kliknite lastnosti na tem in izberite zaženi: kateri koli na zavihku dovoljenja.

Za zagon sledilnega mehanizma boste potrebovali nameščen python. Potrebovali boste tudi knjižnico GPIO (https://makezine.com/projects/tutorial-raspberry-p…) Ti bi morali biti že nameščeni v najnovejši različici Raspbiana.

Če želite zagnati vse, vtipkajte v terminal: cd/home/pi/Desktop/alexa-avs-sample-appsudo./alexa_startup.sh

NASTAVI AUTORUN

Če želite Alexa nastaviti tako, da se samodejno zažene ob zagonu, odprite terminal in vnesite:

cd /home/pi/.config/lxsession/LXDE-pisudo nano samodejni zagon

in dodaj vrstico in shrani:

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

Znova zaženite in aplikacija Alexa bi se morala samodejno zagnati.

Priporočena: