Sisukord:

"MicroDot" LattePanda (või Raspberry Pi) jaoks: 7 sammu (koos piltidega)
"MicroDot" LattePanda (või Raspberry Pi) jaoks: 7 sammu (koos piltidega)

Video: "MicroDot" LattePanda (või Raspberry Pi) jaoks: 7 sammu (koos piltidega)

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

MicroDot on kodus valmistatud Alexa nupp, mis on mõeldud ühendamiseks LattePanda või Raspberry Pi-ga, kuhu on installitud Alexa Sample App. See on väike kõlar, millel on LED -id ja puute-/kõneaktiveerimine ning mis sobib ideaalselt kasutamiseks töölaual või autos.

*Selle projekti LattePanda tarnis lahkelt DFRobot

Samm: süsteemi ülevaade

Süsteemi ülevaade
Süsteemi ülevaade

LATTE PANDA

LattePanda on väike (umbes Raspberry Pi suurune) Windows 10 arvuti, millel on sisseehitatud Arduino reaalse maailmaga liidestamiseks. See on tõesti üsna tore - ja see on Raspberry Pi hea asendaja - eriti kui teil (nagu minul) on probleeme Linuxiga hakkama saamisega.

Olen Pandale installinud rakenduse Alexa Sample ja rakendanud oma äratussõnade mootori, mis põhineb Windowsi sisseehitatud kõnetuvastuse SDK-l.

MICRODOT

MicroDot koosneb väikesest võimendist ja kõlarist, millel on puutetundlik grill ja sinine/valge LED-massiiv. MicroDot oli algselt mõeldud minu autosse armatuurlauale paigutamiseks, et pakkuda minu autos olevat Alexa lahendust (siduda oma eelmise projektiga-Alexa-toega autostereoga). Lisaks äratussõna valikule tahtsin ma puutetundlikku aktiveerimist, sest Alexal on raske mu äratussõna kuulda, kui muusika on valju! (Pärast aktiveerimist saadab Panda stereosignaali, et Alexa kuulamise/rääkimise ajal helitugevust vähendada).

VAARIKAS PI

Neile, kes valdavad rohkem "Raspberry Pi", olen selle juhendi lõpus kirjeldanud, kuidas ühendada MicroDot Rapsberry Pi 3 -ga.

2. samm: MicroDot -ahel

MicroDot vooluahel
MicroDot vooluahel
MicroDot vooluahel
MicroDot vooluahel
MicroDot vooluahel
MicroDot vooluahel

OSAD

6 x 220R SMD takistid 2 x 470R SMD takistid 1 x 10uF SMD kondensaator 1 x TTP223 puutetundliku anduri moodul (https://www.ebay.com/itm/192097635565) 1 x PAM8403 3W võimendusmoodul (https://www.ebay.com/ itm/221895096190) 1 x 10K ühe lineaarse pöidla potentsiomeeter (https://www.ebay.com/itm/401105807680) 1 x 50 pF keraamiline kondensaator 3 x 3 mm sinine LED3 x 3 mm valge LED 1 x 1,7 tolli 4 oomi 3 W kõlar 1 x õhuke must kaabel vanad kõrvaklapid 1 x õhuke must 1 m pikkune USB -pikenduskaabel*

EHITUS

MicroDot PCB valmistati triikraua meetodil 0,8 mm paksusel ühepoolsel plaadil - selle paksuse korral saab selle teravate kääridega ligikaudseks lõigata ja seejärel lihtsalt vormida. Paigaldage esmalt kõik pinnakinnituse komponendid.

Anduri puutetundliku pinnaga tuleb ühendada traat, nii et väike ala tuleb jootmiseks ära kraapida. Leidsin, et toores režiimis oli andur liiga tundlik - see töötas hästi, kuid kui see oli korpusesse paigaldatud, käivitati see sageli metallkõlari läheduse tõttu valesti. Maandasin metallkõlari - mis aitas mõnevõrra, kuid pidin lõpuks viitama andmelehele.

TTP223 andmelehel on öeldud, et saate tundlikkust reguleerida, asetades puuteanduri ja maapinna vahele kondensaatori (0 kuni 50 pf). Andur töötas hästi 50pf kondensaatoriga. Selle paigutust näete järgmise jaotise pildil.

MicroDoti ühendamiseks Pandaga kasutatakse kahte kaablit:- õhuke must kaabel vanast kõrvaklappidest heli ühendamiseks- õhukest USB-kaablit kasutati GPIO-ga ühendamiseks (puutetundlik andur/LED-id). Teil on vaja 6 eraldi pistikuga kaablit (5 sisemist + varjestus). *Olge ettevaatlik, et mõnel odaval USB-kaablil pole eraldi maandusnõela/varjestust või need kaks võivad olla sisemiselt ühendatud (kontrollige seda enne kaabli lõikamist, veendudes, et isase ja naise väliste metallosade vahel on järjepidevus pistikud ja et maandustihvti ja väliste metallosade vahel pole järjepidevust).

Kasutage USB -kaabliühendusi: punane =+5v, kilp = GND, must = puutetundlik andur, valge = valged LED -id, roheline = sinised LED -id. Selle asemel, et lihtsalt mopsid ära lõigata ja kõvasti ühendada, võiksite teha seda, mida ma tegin ja hoidke pistikud peal ning lõigake üks pikk ja üks lühike (ütleme 200 mm) ja ühendage kaabli mõlemad otsad kokku. Nii on seade eemaldatav. Lihtsalt veenduge, et te ei ühendaks sellega ühtegi tegelikku USB -seadet ega tavalist USB -porti!

3. etapp: MicroDoti ehitamine

MicroDot ehitus
MicroDot ehitus
MicroDot ehitus
MicroDot ehitus
MicroDot ehitus
MicroDot ehitus
MicroDot ehitus
MicroDot ehitus

3D PRINDITUD OSAD

Lisatud ZIP -failis on neli 3D -prinditud osa: 1. Peamine MicroDot kest - trükitud musta värviga PLA2. MicroDot alus - trükitud musta värviga PLA3. LED -rõngas - trükitud valge PLA -ga (selge või poolläbipaistev võib olla parem valguse ühtlasemaks hajutamiseks) 4. Kõlarite ja trükkplaatide vahele on kinnitatud mis tahes värvi trükkplaatide vahekaugus.

Aluse kesta külge kruvimiseks kasutatakse M2 polte ja mutreid. Korpuse siseküljel olevatesse piludesse tuleb sulatada kolm M2 polti. Need on üsna väikesed ja võib -olla peate need mõne täiendava hõõgniidiga paika jootma.

LED ARRAY

Valged ja sinised LED -id paigaldatakse massiivi vaheldumisi, nagu on näidatud piltidel. Juhtmed painutatakse LED -i põhja vastu 90 kraadi ja juhtmed sulatatakse kuuma jootekolviga rõngasse (märkige siin polaarsus). Valgusdioodide põhi on allapoole, nii et need on rõnga pinna suhtes tasased.

Kõik valgusdioodide katoodid on ühendatud traatrõngaga ja need ühendatakse päise kõige alumise tihvtiga. Päise teised tihvtid peavad iga LED -i jaoks olema vaheldumisi sinised/valged

ÜHENDAMINE

Grill lõigati lauaarvuti paberihoidikust (pildil), mille traat oli ühe serva külge joodetud. See sisestatakse esmalt kesta, seejärel LED -massiivi (see tuleb sisestada nurga all, nagu näidatud, pilu joondatud ühe kruvipostiga). Kõlar on järgmine (asetage ülaosa ümber õhuke lint, et see PCB servast isoleerida). Seejärel asetatakse vahekaugus ja trükkplaat lihtsalt peal. Keerake alus külge, et see kõik koos püsiks.

Kui ühendasin helikaabli LattePandaga, leidsin, et hea heli saamiseks on vaja kasutada maandusahela filtrit (https://www.ebay.com/itm/371801191297). Pange tähele, et fotodel kasutan oma HDMI-VGA videoadapteri heliväljundit, kuid sisseehitatud heliväljundi pesa on hea.

Teil on vaja ka USB -mikrofoni (https://www.ebay.com/itm/332148968227).

4. samm: LattePanda

LattePanda
LattePanda
LattePanda
LattePanda

SEADISTUS

Panda on saadaval 2G/32G ja 4G/64G mudelites, Windows 10 litsentsiga või ilma. Minu kasutatav mudel oli Windows 10 litsentsiga 2G/32G versioon:

Palun vaadake LattePanda seadistamise ametlikku dokumentatsiooni (https://docs.lattepanda.com) Siin pole midagi liiga keerulist, kuid võtke teadmiseks Panda sisselülitamise juhised (https://docs.lattepanda.com/ content/getStarted/powe …).

Kõik tundus minu jaoks esimest korda toimivat (mis on tore vaheldus minu Raspberry Pi kogemustele).

Üks oluline asi on see, et Panda jaoks on tõesti vaja mingit jahutust. Kasutasin üla- ja alaosas kleepuvaid jahutusradiaate (alumine pool läheb eriti kuumaks).

See skeem kirjeldab üksikasjalikult Arduino sisendeid ja väljundeid: https://docs.lattepanda.com/content/hardware/inputs… MicroDotiga ühendamiseks kasutame vasakul küljel olevat 3-kontaktilist pistikut (D9, D10) ja D11), samuti heliväljundi pesa.

Samm: LattePanda - installige Alexa proovirakendus

LattePanda - installige Alexa näidisrakendus
LattePanda - installige Alexa näidisrakendus

LAE ALLA

Rakendus Alexa Sample on saadaval siin:

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

Vajutage nuppu Kloon või Laadi alla ja laadige alla.zip -vormingus

Looge kataloog c -draivile C: / ALEXA ja ekstraktige zip -i sisu nii, et pakitud kataloog nimega proovid asuks otse ALEXA kataloogis (st C: / ALEXA / sample / …)

PAIGALDAMINE

Ametlikud täielikud juhised Windowsi installimiseks on siin:

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

Samme on üsna palju ja see võtab natuke aega, kuid leidsin, et Windowsiga läks kõik esmakordselt sujuvalt.

Mõne konfiguratsioonifaili muutmiseks vajate head tekstiredaktorit (Notepad ei ole hea, kuna failidel on Linuxi stiilis realõpud). Kasutasin Notepad ++, mis on saadaval siin:

Mõned märkused ametlike juhiste kohta:

3. osa - Sõltuvused

Minu Panda on 64 -bitine, seega laadisin alla kõik 64 -bitised versioonid, kuid kui installite 32 -bitisele süsteemile, peate kasutama 32 -bitiseid versioone. Märkus: ärge segage sõltuvuste 32- ja 64 -bitiseid versioone.

VLC meediumipleieri jaoks kuvatav link viib teid 32 -bitise versioonini. 64-bitise versiooni hankimiseks minge sellele lingile: https://www.videolan.org/vlc/download-windows.html ja valige allalaadimisnupul nool ning seejärel installi 64-bitise versiooni jaoks.

JDK installimiseks kasutasin versiooni: jdk-8u144-windows-x64 Kasutasin nodejs: Windows Installer (.msi) 64 bit Maven: apache-maven-3.5.0-bin.zip OpenSSL jaoks kasutasin: Win64 OpenSSL v1.1.0f

Osa 5 - Autentimismeetod

Valige 5a - Nodejs server. Kui näete käsu npm käivitamisel viga, peate oma tee keskkonnamuutujale lisama oma kataloogi nodejs (seda on juhistes selgitatud).

6. osa - näidisrakenduse käitamine

Faili config.json redigeerimisel määrake wakeWordAgentEnabled väärtuseks tõene, kuna järgmisesse sektsiooni installime kohandatud äratussõnade mootori (näidisrakenduses sisalduv äratussõnamootor töötab ainult Linuxiga).

Kui kuvatakse käsk mvn käivitamisel viga, peate oma tee keskkonnamuutujale lisama kataloogi maven / bin.

Rakenduse käivitamisel peaksite saama ekraanipildil kuvatud GUI. Kui klõpsate ikoonil, saate Alexaga rääkida. See on põhiline Alexa rakendus - kuid me vajame enamat!

Järgmised sammud on kohandatud äratussõnade mootori installimine, et saaksite aktiveerimiseks öelda lihtsalt "Alexa" ja teil oleks võimalus kasutada Arduino sisendi kaudu puuteandurit. Samuti peame rakenduse käivitamisel automaatselt käivitama ja põlema mõned LED-id, kui Alexa kuulab ja räägib.

6. samm: LattePanda - installige kohandatud WakeWord Engine

LattePanda - installige kohandatud WakeWord Engine
LattePanda - installige kohandatud WakeWord Engine

WAKEWORD MOOTOR

WakeWordi mootor võimaldab Alexa äratada suulise sõnaga (tavaliselt '' Alexa '), selle asemel et nupule klõpsata. Näidisrakendusel on WakeWordi mootori jaoks kaks võimalust: sensoorsed või KITT. AI äratussõna mootorid. Nende rakendamine näidisrakenduses töötab siiski ainult Linuxi jaoks. Mõlema mootori suhtes kehtivad ka teatud litsentsimisnõuded.

Siin rakendan kohandatud äratussõnade mootorit, mis põhineb Windows 10 enda kõnetuvastuse SDK -l. Seega ei sisalda see ka täiendavaid litsentsinõudeid.

Paigaldage sõltuvused

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

Microsoft Speech Platform-Runtime Languages (versioon 11)

Minu kohandatud WakeWordi mootor kirjutati Visual Studio 2017. aastal C# keeles. Olen siin esitanud lõpliku käivitatava faili ja ka lähtekoodi. Kui soovite selle ise koostada, vajate seda ka:

Microsofti kõneplatvorm - tarkvaraarenduskomplekt (SDK) (versioon 11) https://www.microsoft.com/en-gb/download/details…. 64 bitti)

Pange WakeWordPanda.exe (ja alexa_run.bat) kataloogi ALEXA. See programm täidab järgmisi ülesandeid:- kuulab äratussõna '' Alexa ''- jälgib puutetundliku sisendi andurit- juhib sinist ja valget LED-i

Pange tähele, et ma töötasin selle välja teises Windows 10 arvutis, nii et ma ei pidanud LattePandasse Visual Studio'i installima, kuna ma ei tahtnud gigabaite ära kasutada. Ühendasin arendusarvutiga StandardFirmata (https://www.lattepanda.com/docs/#SetuptheArduino) installitud Arduino Uno, et saaksin areneda ka Arduino sisendi/väljundiga. Visual Studio lähtekood on samuti lisatud, kui soovite seda ise muuta ja/või kompileerida.

JAVA KLIENDI MUUTMINE

Java -klient vajab koodi lisamiseks paar lisarida. See võimaldab LED -idel korralikult töötada:

Kui Alexa kuulab, saadetakse WakeWordi mootorile PAUSE_WAKE_WORD_ENGINE signaal. Kasutasin seda signaali, et teada saada, millal SININE (Alexa kuulamise LED) sisse lülitada. Kui RESUME_WAKE_WORD_ENGINE signaal on vastu võetud, kustub sinine LED ja valge (Alexa rääkiv LED). Lisakood saadab teise RESUME_WAKE_WORD_ENGINE signaali, kui Alexa lõpetab kõne - nii et WakeWordi mootor teab, millal valge LED välja lülitada.

Liikuge aadressile: C: / ALEXA / sample / javaclient / src / main / java / com / amazon / alexa / avs ja avage tekstiredaktoris AVSController.java. Kopeerige kood lisatud failist Extra_Code.txt. See tuleb sisestada kahte kohta:

1. Funktsioonis public void onAlexaSpeechFinished () vahetult pärast lauset: dependentDirectiveThread.unblock ();

2. Funktsioonis private void handleAudioPlayerDirective (direktiivi direktiiv) vahetult enne lauset: player.handleStop ();

Olen ka CONFIRM signaali ümber seadnud, et WakeWordi mootor teaks, kas Alexa on vastanud. Sellega tühistatakse 5 -sekundiline ajalõpp, mis ilmneb vastuse puudumisel. Kopeerige kood failist Extra_Code2.txt ja sisestage see ühte kohta:

1. Funktsioonispublic void onAlexaSpeechStarted () vahetult pärast avaldust dependenDirectiveThread.block ();

Nüüd peate Java -kliendi uuesti kompileerima. Avage käsuviip ja navigeerige C: / ALEXA / sample / javaclient Sisestage: mvn install uuesti kompileerimiseks.

Kui käivitate kaasteenuse ja Java Alexa rakenduse nagu varem ning topeltklõpsate ka WakeWordPanda.exe -l, oodake, kuni see ühendub, ja siis peaksite saama Alexa aktiveerida, öeldes "Alexa".

MICRODOT

Kui ühendate MicroDoti USB -kaabli LattePandaga, nagu joonisel näidatud, ja ühendate helikaabli, peaks see nüüd täielikult toimima. Äratussõna rääkimine või grilli puudutamine peaks Alexa aktiveerima ja sinised LED-id põlema. Valged LED -id peaksid põlema, kui Alexa reageerib.

SETUP AUTO RUN

Selle asemel, et kõik käivitamiseks kõik käsud käsitsi sisestada, võite kasutada skripti alexa_run.bat. See ootab Interneti-ühendust ja avab seejärel eraldi moodulid (kaasteenus, java klient, äratussõnade mootor).

Viimane samm on panna kõik käivitamisel automaatselt käima:

1. Paremklõpsake auto-run.bat ja valige Create shortcut.2. Vajutage klahve ctrl+R ja tippige shell: startup. See avab käivituskausta. Lohistage loodud otsetee käivituskausta.

Alexa käivitub nüüd käivitamisel automaatselt (pärast käivitamist kulub umbes 30 sekundit).

Samm: MicroDot Raspberry Pi jaoks

MicroDot Raspberry Pi jaoks
MicroDot Raspberry Pi jaoks
MicroDot Raspberry Pi jaoks
MicroDot Raspberry Pi jaoks

(Kui soovite LattePanda asemel kasutada Raspberry Pi 3).

LAE ALLA

Laadige Alexa proovirakendus alla siit:

Vajutage nuppu Kloon või Laadi alla ja laadige alla.zip -vormingus. Pakkige lahti nii, et kaust alexa-ava-sample-app oleks töölaual.

PAIGALDAMINE

Järgige siin ametlikke täielikke juhiseid (märkus: seadistage nii, et töölaual oleks kaust alexa-ava-sample-app):

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

Raspberry Pi -ga Internetis on selle tegemiseks palju juhendeid. Olen seda paar korda Raspberry Pi -sse installinud ja kumbki aeg ei läinud nii ladusalt kui installimine WIndows 10 -le (pole üllatus - Linux saab mind iga kord). Peamised probleemid, millega ma kokku puutusin, olid järgmised:

1. Heli ja mikrofoni nõuetekohase toimimise tagamine. Vaadake siit https://github.com/alexa-pi/AlexaPi/wiki/Audio-set…, kui teil on ka neid probleeme.

2. Probleemid JDK versiooniga. Vt 4.3 ametlikest juhistest ja märkus pom.xml failis, mis räägib versiooni alistamisest käsu mvn exec: exec täitmisel (st pidin selle lüliti lisama -Dalpn -boot.version = 8.1.6.v20151105). Pange tähele, et see käsk on minu käivitusskriptis (alexa_startup.sh).

3. Sensory Wake Wordi mootori töölerakendamine (https://github.com/Sensory/alexa-rpi)

Kui olete kõik juhendites kirjeldatud käsitsi käskudega käivitanud, jätkake MicroDoti installimist.

MICRODOTI ÜHENDUS

Te ei saa MicroDot otse GPIO külge kinnitada, kuna see võtab liiga palju voolu. LED -ide juhtimiseks vajate 2x 2N3904 transistorit, 1x2K2 ja 1x3K3 takistid, et pinge langetada puuteandurilt 3,3 V -ni (MicroDot saab toite 5 V toiteallikast). Vaadake lisatud skeemi. Võib -olla soovite selle jaoks PCB -d teha, kuid ma paigaldasin need komponendid just 8 -kontaktilise pistiku tagaküljele.

CUSTOM WAKE MOOTOR (TOUCH)

Pakkige lisatud ZIP-kausta sisu lahti kausta alexa-avs-sample-app. Seal on kaks faili: wake.py - pythoni skript, mis on MicroDoti alexa_autostart.sh kohandatud (puute) äratusmootor - skript, mis käivitab kõik. Paremklõpsake sellel atribuute ja valige käsk Execute: kõik vahekaardil load.

Äratusmootori käivitamiseks on vaja installida python. Teil on vaja ka GPIO raamatukogu (https://makezine.com/projects/tutorial-raspberry-p…) Need peaksid olema juba installitud Raspbiani uusimasse versiooni.

Kõigi käivitamiseks tippige terminali: cd/home/pi/Desktop/alexa-avs-sample-appsudo./alexa_startup.sh

SEADISTA AUTORUN

Alexa seadistamiseks käivitamisel automaatseks käivitamiseks avage terminal ja tippige:

cd /home/pi/.config/lxsession/LXDE-pisudo nano automaatne käivitamine

ja lisage rida ja salvestage:

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

Taaskäivitage ja Alexa rakendus peaks automaatselt käivituma.

Soovitan: