Përmbajtje:

"MicroDot" për LattePanda (ose Raspberry Pi): 7 hapa (me fotografi)
"MicroDot" për LattePanda (ose Raspberry Pi): 7 hapa (me fotografi)

Video: "MicroDot" për LattePanda (ose Raspberry Pi): 7 hapa (me fotografi)

Video:
Video: MicroDot/MicroPython - Handling dynamic content 2024, Nëntor
Anonim
Imazhi
Imazhi

MicroDot është një buton Alexa i bërë në shtëpi i krijuar për t'u lidhur me një LattePanda ose një Raspberry Pi, me Alexa Sample App të instaluar. Speakershtë një altoparlant i vogël me LED dhe aktivizimin e prekjes/të folurit dhe është ideal për përdorim në desktop ose në makinë.

*LattePanda për këtë projekt u furnizua me mirësi nga DFRobot

Hapi 1: Vështrim i përgjithshëm i sistemit

Vështrim i përgjithshëm i sistemit
Vështrim i përgjithshëm i sistemit

PANDA E VONE

LattePanda është një kompjuter i vogël (në madhësinë e një Raspberry Pi) Windows 10 me një Arduino të integruar për t'u lidhur me botën reale. Me të vërtetë është mjaft i mrekullueshëm - dhe është një zëvendësim i mirë për Raspberry Pi - veçanërisht nëse ju (si unë) keni probleme të kapeni me Linux.

Unë kam instaluar Alexa Sample App në Panda dhe kam zbatuar motorin tim të zgjimit të fjalëve bazuar në SDK të njohjes së të folurit të integruar në Windows.

MIKRODOT

MicroDot përbëhet nga një përforcues dhe altoparlant i vogël me një skarë të ndjeshme në prekje dhe një grup LED blu/të bardhë. MicroDot u krijua fillimisht për t'u vendosur në vijën e makinës sime për të siguruar zgjidhjen time Alexa në makinë (për t'u çiftuar me projektin tim të mëparshëm-stereo makine të aktivizuar nga Alexa). Përveçse të kem një opsion me fjalë zgjimi, doja aktivizimin e prekjes sepse Alexa do ta ketë të vështirë të dëgjojë fjalën time të zgjimit kur muzika është me zë të lartë! (Pasi të aktivizohet, Panda do të dërgojë një sinjal në stereo për të ulur volumin ndërsa Alexa është duke dëgjuar/folur).

MJENCIA PI

Për ata që janë më të rrjedhshëm në "Raspberry Pi", unë kam përshkruar në fund të këtij Udhëzuesi se si të ndërlidhni MicroDot me një Rapsberry Pi 3.

Hapi 2: Qarku MicroDot

Qarku MicroDot
Qarku MicroDot
Qarku MicroDot
Qarku MicroDot
Qarku MicroDot
Qarku MicroDot

PJES

6 x 220R SMD Rezistorë 2 x 470R SMD Rezistorë 1 x 10uF SMD Capacitor1 x TTP223 Touch Sensor Modul (https://www.ebay.com/itm/192097635565)1 x PAM8403 3W Modul Amplifier (https://www.ebay.com/ itm/221895096190) 1 x 10K Potenciometër Single Linear i Gishtit të Madh (https://www.ebay.com/itm/401105807680)1 x 50pF Kondensator qeramik 3 x 3mm LEDs Blu 3 x 3mm LED të Bardhë 1 x 1.7inç 4ohm 3W Altoparlant 1 x Kabllo e zezë e hollë nga kufje të vjetra 1 x Kabllo e hollë e zezë 1m USB*

ND CONRTIMI

PCB MicroDot është bërë me metodën e hekurit në toner në një dërrasë të njëanshme të trashë 0.8 mm - në këtë trashësi mund të pritet përafërsisht në formë me gërshërë të mprehtë dhe pastaj të vendoset lehtësisht në formë. Montoni së pari të gjithë përbërësit e montimit të sipërfaqes.

Një tel duhet të lidhet me sipërfaqen e prekjes të sensorit, kështu që një zonë e vogël duhet të hiqet për t'u ngjitur. Kam gjetur se në modalitetin e tij të papërpunuar, sensori ishte shumë i ndjeshëm - ai funksionoi mirë, por sapo u montua në rrethim, ai shpesh nxitej i rremë për shkak të afërsisë me altoparlantin metalik. Unë bazova altoparlantin metalik - i cili ndihmoi disi, por më duhej t'i referohesha përfundimisht fletës së të dhënave.

Fleta e të dhënave TTP223 thotë se ju mund të rregulloni ndjeshmërinë duke vendosur një kondensator (0 deri 50pf) midis sensorit të prekjes dhe tokës. Sensori funksionoi mirë me një kondensator 50pf. Ju mund ta shihni vendosjen e kësaj në foton e seksionit tjetër.

Dy kabllo përdoren për të lidhur MicroDot me Panda:- një kabllo të hollë të zezë nga një palë kufje të vjetra për të lidhur audion- një kabllo e hollë USB u përdor për t'u lidhur me GPIO (sensor prekje/LED). Do t'ju duhet një kabllo me 6 lidhje të veçanta (5 të brendshme + mburojë). *Kujdes që disa kabllo USB të lirë nuk kanë një kunj/mburojë të veçantë tokësore, ose këto të dyja mund të lidhen brenda (kontrolloni këtë para se të prishni kabllon tuaj duke u siguruar që ka vazhdimësi midis pjesëve të jashtme metalike të meshkujve dhe femrave priza, dhe se nuk ka vazhdimësi midis kunjit të tokëzimit dhe pjesëve të jashtme metalike).

Përdorni lidhjet e kabllove USB: e kuqe =+5v, mburoja = GND, e zezë = sensor prekje, e bardhë = LED të bardhë, jeshile = LED LED. Në vend që thjesht të hiqni qilimat dhe ta lidhni me tela, mund të dëshironi të bëni atë që bëra dhe mbajini prizat të ndara dhe prerë një seksion të gjatë dhe një të shkurtër (të themi 200mm), dhe lidhni të dy skajet e kabllit së bashku. Në këtë mënyrë njësia është e ndashme. Vetëm sigurohuni që të mos lidhni ndonjë pajisje USB aktuale në të, ose mos e lidhni në një port të zakonshëm USB!

Hapi 3: Ndërtimi i MicroDot

Ndërtimi MicroDot
Ndërtimi MicroDot
Ndërtimi MicroDot
Ndërtimi MicroDot
Ndërtimi MicroDot
Ndërtimi MicroDot
Ndërtimi MicroDot
Ndërtimi MicroDot

PJES T 3D SHTYPURA 3D

Ekzistojnë katër pjesë të printuara 3D në skedarin zip të bashkangjitur: 1. Predha kryesore MicroDot - e shtypur në PLA2 të zezë. Baza MicroDot - e shtypur në PLA3 të zezë. Unaza LED - e shtypur në PLA të bardhë (e qartë ose e tejdukshme mund të jetë më mirë për të ndihmuar në shpërndarjen e dritës në mënyrë më të barabartë) 4. Spacer PCB - çdo ngjyrë - i vendosur midis altoparlantit dhe PCB.

Bulonat dhe arrat M2 përdoren për të vidhosur bazën në guaskë. Tre bulona M2 duhet të shkrihen në çarjet në pjesën e brendshme të guaskës. Këto janë mjaft të vogla, dhe mund t'ju duhet t'i "lidhni" ato në vend me ndonjë fije shtesë.

ARRAY LED

LED -të e bardhë dhe blu janë montuar në grup alternuar siç tregohet në fotografi. Përçuesit përkulen në 90 gradë në pjesën e poshtme të LED dhe drejtuesit shkrihen në unazë me një hekur bashkues të nxehtë (vini re polaritetin këtu). Pjesa e poshtme e LEDs janë të vendosura poshtë në mënyrë që ato të jenë të sheshta në sipërfaqen e unazës.

Katodat e LED-ve janë të lidhura të gjitha së bashku me një unazë teli dhe këto lidhen me kunjin më të ulët të kokës. Kunjat e tjera të kokës duhet të jenë blu/të bardhë alternative për secilën LED individuale

V PNI BASHK

Grila ishte prerë nga një mbajtëse letre desktop (në foto) me një tel të ngjitur në një skaj. Kjo futet së pari në guaskë, pastaj grupin LED (kjo duhet të futet në një kënd siç tregohet, me çarë të përafruar me një nga shtyllat e vidhave). Gjuha është tjetra (vendosni një shirit të hollë rreth pjesës së sipërme për ta izoluar atë nga skaji i PCB). Pastaj spacer, dhe PCB vetëm ulet në krye. Vidhosni bazën për t'i mbajtur të gjitha së bashku.

Kur lidhja kabllon audio në LattePanda, zbulova se më duhej të përdorja një filtër të lakut të tokëzimit audio (https://www.ebay.com/itm/371801191297) për të marrë një tingull të mirë. Vini re se në foto unë përdor audio-daljen e përshtatësit tim video HDMI-VGA, por është mirë të përdor folenë e daljes së audios në bord.

Ju gjithashtu do të keni nevojë për një mikrofon usb (https://www.ebay.com/itm/332148968227).

Hapi 4: LattePanda

Panda Latte
Panda Latte
Panda Latte
Panda Latte

VENDOSJE

Panda vjen në modelet 2G/32G dhe 4G/64G, me ose pa licencë Windows 10. Modeli që kam përdorur ishte versioni 2G/32G me licencë Windows 10:

Ju lutemi shikoni dokumentacionin zyrtar për rregullimin e LattePanda -s tuaj (https://docs.lattepanda.com) Nuk ka asgjë shumë të komplikuar këtu, por mbani shënim udhëzimet për fuqizimin e Pandës tuaj (https://docs.lattepanda.com/ content/getStarted/powe…).

Gjithçka dukej se funksionoi për herë të parë për mua (që është një ndryshim i bukur nga përvojat e mia në Raspberry Pi).

Një gjë e rëndësishme është se ju me të vërtetë keni nevojë për një lloj ftohjeje për Panda. Kam përdorur disa ngrohje ngjitëse në pjesën e sipërme dhe të poshtme (pjesa e poshtme nxehet veçanërisht).

Ky diagram detajon hyrjet dhe daljet e Arduino: https://docs.lattepanda.com/content/hardware/inputs… Ne do të përdorim grupin e 3 lidhësve pin në anën e majtë për t'u lidhur me MicroDot (D9, D10 dhe D11), si dhe folenë e daljes audio.

Hapi 5: LattePanda - Instaloni Alexa Sample App

LattePanda - Instaloni Alexa Sample App
LattePanda - Instaloni Alexa Sample App

SHKARKO

Aplikacioni Mostër Alexa është në dispozicion këtu:

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

Shtypni butonin Clone ose Download dhe shkarkoni si.zip

Krijoni një drejtori në c drive C: / ALEXA dhe nxirrni përmbajtjen e zipit në mënyrë që drejtoria e zipuar e quajtur mostra të ulet direkt në drejtorinë ALEXA (dmth. C: / ALEXA / mostrat \…)

INSTALIMI

Udhëzimet e plota zyrtare se si të instaloni në Windows janë këtu:

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

Ka mjaft hapa, dhe duhen pak kohë, por zbulova se me Windows gjithçka shkoi pa probleme herën e parë.

Ju do të keni nevojë për një redaktues të mirë teksti për të redaktuar disa nga skedarët e konfigurimit (Notepad nuk është i mirë pasi skedarët kanë përfundime të linjave të stilit Linux). Kam përdorur Notepad ++ i cili është në dispozicion këtu:

Disa shënime në lidhje me udhëzimet zyrtare:

Pjesa 3 - Varësitë

Panda ime është 64 bit, kështu që unë shkarkova të gjitha versionet 64 bit, por nëse jeni duke instaluar në një sistem 32 bit, do t'ju duhet të përdorni versionet 32 bit. Shënim: mos përzieni versionet 32 dhe 64 bit të varësive.

Lidhja e treguar për media player VLC, do t'ju çojë në versionin 32 bit. Për të marrë versionin 64 bit, shkoni në këtë lidhje: https://www.videolan.org/vlc/download-windows.html dhe në butonin e shkarkimit, zgjidhni shigjetën, dhe pastaj Installer për versionin 64bit.

Për instalimin JDK kam përdorur versionin: jdk-8u144-windows-x64 Për nodejs kam përdorur: Windows Installer (.msi) 64 bit Për Maven: apache-maven-3.5.0-bin.zipPër OpenSSL kam përdorur: Win64 OpenSSL v1.1.0f

Pjesa 5 - Metoda e vërtetimit

Zgjidhni serverin 5a - Nodejs. Nëse merrni një gabim gjatë ekzekutimit të komandës npm, atëherë duhet të shtoni drejtorinë tuaj nodejs në ndryshoren e mjedisit të shtegut tuaj (shpjegohet në udhëzimet se si ta bëni këtë).

Pjesa 6 - Drejtimi i aplikacionit të mostrës

Kur redaktoni skedarin config.json, vendosni wakeWordAgentEnabled të vërtetë, pasi ne do të instalojmë një motor fjalësh të zgjuar me porosi në seksionin tjetër (motori i fjalës zgjuar i përfshirë në aplikacionin e mostrës funksionon vetëm me Linux).

Nëse merrni një gabim gjatë ekzekutimit të komandës mvn, atëherë duhet të shtoni drejtorinë tuaj maven / bin në ndryshoren e mjedisit të shtegut tuaj.

Kur drejtoni aplikacionin, duhet të merrni GUI të treguar në pamjen e ekranit. Kur klikoni në ikonën do të keni mundësi të flisni me Alexa. Ky është aplikacioni bazë Alexa - por do të na duhet më shumë se kjo!

Hapat e ardhshëm do të jenë instalimi i një motori me porosi të zgjimit, në mënyrë që thjesht të thoni "Alexa" për t'u aktivizuar, dhe gjithashtu të keni mundësinë të përdorni një sensor prekjeje përmes hyrjes Arduino. Ne gjithashtu duhet të bëjmë që aplikacioni të funksionojë automatikisht gjatë fillimit dhe të ndezim disa LED kur Alexa është duke dëgjuar dhe folur.

Hapi 6: LattePanda - Instaloni Custom WakeWord Engine

LattePanda - Instaloni motorin e personalizuar WakeWord
LattePanda - Instaloni motorin e personalizuar WakeWord

ENGINE WAKEWORD

Një motor WakeWord lejon që Alexa të zgjohet nga një fjalë e folur (zakonisht '' Alexa ), në vend që të duhet të klikoni në një buton. Aplikacioni mostër ka dy mundësi për motorin WakeWord: Sensor ose KITT. AI motorë fjalë zgjimi. The zbatimi për këto në aplikacionin e mostrës, megjithatë, funksionon vetëm për Linux. Të dy këta motorë gjithashtu i nënshtrohen kërkesave të caktuara të licencimit.

Këtu unë do të zbatoj një motor me porosi të fjalës zgjuar i cili bazohet në SDK të njohjes së të folurit të Windows 10. Pra, kjo është gjithashtu pa asnjë kërkesë shtesë për licencë.

INSTALONI VARENDSIT

Platforma e të folurit Microsoft - Kohëzgjatja (Versioni 11) https://www.microsoft.com/en-gb/download/details.a…x86_SpeechPlatformRuntime\SpeechPlatformRuntime.msi (32 bit) ose x64_SpeechPlatformRuntime / SpeechPlatformRuntime (SpeechPlatformRuntime)

Platforma e të folurit të Microsoft-Gjuhët e kohës (Versioni 11)

Motori im i personalizuar WakeWord është shkruar në C# në Visual Studio 2017. Unë kam furnizuar ekzekutuesin përfundimtar këtu dhe gjithashtu kodin burimor. Nëse dëshironi ta përpiloni vetë, atëherë do t'ju duhet gjithashtu kjo:

Platforma e të folurit e Microsoft - Kompleti i Zhvillimit të Softuerëve (SDK) (Versioni 11) https://www.microsoft.com/en-gb/download/details…. 64 bit)

Vendosni WakeWordPanda.exe (dhe alexa_run.bat) në drejtorinë ALEXA. Ky program kryen detyrat e mëposhtme:- Dëgjon fjalën e zgjimit "Alexa"- Monitoron sensorin e hyrjes së prekjes- Kontrollon LED-ët BLUE dhe WHITE

Vini re se e kam zhvilluar këtë në një kompjuter tjetër Windows 10 në mënyrë që të mos kem nevojë të instaloj Visual Studio në LattePanda, pasi nuk doja të shfrytëzoja Gigabajt. Kam lidhur një Arduino Uno të instaluar me StandardFirmata (https://www.lattepanda.com/docs/#SetuptheArduino) me kompjuterin e zhvillimit në mënyrë që të mund të zhvillohem edhe me hyrjet/daljet Arduino. Kodi burimor i Visual Studio është bashkangjitur gjithashtu nëse doni ta modifikoni dhe/ose përpiloni këtë vetë.

MODIFIKONI KLIENTIN JAVA

Klienti Java ka nevojë për disa rreshta shtesë të shtuar në kod. Kjo është për të mundësuar që LED -të të punojnë si duhet:

Kur Alexa po dëgjon, një sinjal PAUSE_WAKE_WORD_ENGINE i dërgohet motorit WakeWord. Unë e përdor këtë sinjal për të ditur se kur duhet të ndez BLUE (Alexa LED e dëgjimit). Kur merret sinjali RESUME_WAKE_WORD_ENGINE, LED Blu fiket dhe ndizet e Bardha (LED që flet Alexa). Kodi shtesë dërgon një sinjal tjetër RESUME_WAKE_WORD_ENGINE kur Alexa ndalon së foluri - në mënyrë që motori WakeWord të dijë kur të fikë LED të bardhë.

Shkoni te: C: / ALEXA / mostra / javaclient / src / main / java / com / amazon / alexa / avs dhe hapni AVSController.java në redaktuesin tuaj të tekstit. Kopjoni kodin nga skedari Extra_Code.txt i bashkangjitur. Duhet të futet në dy vende:

1. Në funksionin public void onAlexaSpeechFinished () direkt pas pohimit: dependDirectiveThread.unblock ();

2. Në funksionin privat void handleAudioPlayerDirective (direktivë Direktive) direkt para deklaratës: player.handleStop ();

Unë gjithashtu kam ri-synuar sinjalin KONFIRM në mënyrë që motori WakeWord të dijë nëse Alexa është përgjigjur. Kjo është për të anuluar një timeout prej 5 sekondash që do të ndodhë nëse nuk ka përgjigje. Kopjoni kodin nga Extra_Code2.txt dhe futeni në një vend:

1. Në funksionin public void onAlexaSpeechStarted () direkt pas deklaratës dependDirectiveThread.block ();

Tani ju duhet të rikompiloni Java Client. Hapni një linjë komande dhe lundroni te C: / ALEXA / mostra / javaclient Shkruani: instaloni mvn për ta përpiluar përsëri.

Nëse filloni Shërbimin Shoqërues dhe aplikacionin Java Alexa si më parë, dhe pastaj klikoni dy herë në WakeWordPanda.exe, prisni që ajo të lidhet dhe më pas duhet të jeni në gjendje të aktivizoni Alexa duke thënë "Alexa".

MIKRODOT

Nëse lidhni kabllon 'USB' të MicroDot me LattePanda siç tregohet në diagram dhe futni kabllon audio, tani duhet të jetë plotësisht funksionale. Të folurit të fjalës zgjuese ose prekja e skarës duhet të aktivizojë Alexa dhe LED-et blu duhet të ndizen. LED -të e bardhë duhet të ndizen ndërsa Alexa përgjigjet.

SETUP AUTO RUN

Në vend që të shtypni të gjitha komandat me dorë për të filluar gjithçka, mund të përdorni shkrimin alexa_run.bat. Kjo do të presë për një lidhje interneti dhe më pas do të thërrasë modulet e veçanta (shërbimi shoqërues, klienti java, motori i zgjimit).

Hapi i fundit është që gjithçka të funksionojë automatikisht gjatë fillimit:

1. Klikoni me të djathtën në auto-run.bat dhe përzgjidhni create shortcut.2. Shtypni ctrl+R dhe shkruani shell: startup. Kjo do të hapë dosjen e fillimit.3. Tërhiqni shkurtoren që keni krijuar në dosjen e fillimit.

Alexa tani do të funksionojë automatikisht gjatë fillimit (duhen 30 sekonda ose më shumë për të inicializuar pas fillimit).

Hapi 7: MicroDot për Raspberry Pi

MicroDot për Raspberry Pi
MicroDot për Raspberry Pi
MicroDot për Raspberry Pi
MicroDot për Raspberry Pi

(Nëse dëshironi të përdorni një Raspberry Pi 3 në vend të një LattePanda).

SHKARKO

Shkarkoni Aplikacionin Shembull Alexa nga këtu:

Shtypni butonin Clone ose Download dhe shkarkoni si.zip. Zbërtheni në mënyrë që dosja alexa-ava-sample-app të jetë në Desktop.

INSTALIMI

Ndiqni udhëzimet e plota zyrtare këtu (shënim: konfigurimi në mënyrë që dosja alexa-ava-sample-app në Desktop):

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

Ka shumë udhëzues për ta bërë këtë me një Raspberry Pi në interne. Unë e kam instaluar këtë disa herë në Raspberry Pi, dhe asnjë herë nuk ka shkuar aq mirë sa instalimi në WIndows 10 (nuk është për t'u habitur - Linux më merr çdo herë). Çështjet kryesore që hasa ishin:

1. Marrja e funksionimit të duhur të zërit dhe mikrofonit. Shihni këtu https://github.com/alexa-pi/AlexaPi/wiki/Audio-set… nëse keni edhe këto çështje.

2. Probleme me versionin JDK. Shihni 4.3 në udhëzimet zyrtare, dhe shënimin në skedarin pom.xml që flet për mbivendosjen e versionit kur ekzekutoni komandën mvn exec: exec (dmth. Më është dashur të shtoj këtë çelës -Dalpn -boot.version = 8.1.6.v20151105) Vini re se kjo komandë përfshihet në skriptin tim të fillimit (alexa_startup.sh).

3. Vënia në punë e motorit të fjalës Sensory wake (https://github.com/Sensory/alexa-rpi)

Pasi të keni filluar të funksiononi të gjitha me komandat manuale siç përshkruhen në udhëzimet, vazhdoni me instalimin e MicroDot.

LIDHJE MICRODOT

Ju nuk mund ta lidhni drejtpërdrejt MicroDot me GPIO sepse do të tërheqë shumë rrymë. Ju do të keni nevojë për: 2x tranzizitorë 2N3904 për të drejtuar rezistencat LED, 1x2K2 dhe 1x3K3 për të ulur tensionin nga sensori i prekjes në 3.3V (MicroDot do të mundësohet nga furnizimi me 5V). Referojuni diagramit të bashkangjitur. Ju mund të dëshironi të bëni një PCB për këtë, por unë sapo i kam montuar këto përbërës në anën e pasme të një prize femërore me 8 kunja.

MOTORI I ZGJIMIT TU PURGJITHSHM (prekje)

Zbërtheni përmbajtjen e dosjes së bashkangjitur zip në dosjen alexa-avs-sample-app. Ekzistojnë dy skedarë: wake.py - një shkrim python i cili është motori i zakonshëm (prekës) i zgjimit për MicroDot alexa_autostart.sh - një skenar për të ekzekutuar gjithçka. Klikoni me të djathtën mbi pronat në këtë dhe zgjidhni ekzekutoni: cilindo në skedën e lejeve.

Do t'ju duhet python i instaluar për të drejtuar motorin e zgjimit. Ju gjithashtu do të keni nevojë për bibliotekën GPIO (https://makezine.com/projects/tutorial-raspberry-p…) Këto tashmë duhet të instalohen në versionin e fundit të Raspbian.

Për të ekzekutuar gjithçka, shkruani në terminal: cd/home/pi/Desktop/alexa-avs-sample-appsudo./alexa_startup.sh

NDRYSHO AUTORUN

Për të konfiguruar Alexa që të ekzekutohet automatikisht në nisje, hapni një terminal dhe shkruani:

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

dhe shtoni rreshtin dhe ruani:

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

Rinisja dhe aplikacioni Alexa duhet të ekzekutohen automatikisht.

Recommended: