"MicroDot" LattePanda (vai Raspberry Pi): 7 soļi (ar attēliem)
"MicroDot" LattePanda (vai Raspberry Pi): 7 soļi (ar attēliem)
Anonim
Attēls
Attēls

MicroDot ir mājās izgatavota Alexa poga, kas paredzēta savienošanai ar LattePanda vai Raspberry Pi, un tajā ir instalēta lietotne Alexa Sample. Tas ir mazs skaļrunis ar gaismas diodēm un pieskāriena/runas aktivizēšanu, un tas ir ideāli piemērots darbvirsmā vai automašīnā.

*LattePanda šim projektam laipni piegādāja DFRobot

1. darbība: sistēmas pārskats

Sistēmas pārskats
Sistēmas pārskats

LATTE PANDA

LattePanda ir mazs (apmēram Raspberry Pi izmēra) Windows 10 dators ar iebūvētu Arduino, lai izveidotu savienojumu ar reālo pasauli. Tas patiešām ir diezgan izveicīgs - un tas ir labs Raspberry Pi aizstājējs - it īpaši, ja jums (tāpat kā man) ir problēmas ar Linux izmantošanu.

Esmu instalējis lietotni Alexa Sample lietotnē Panda un ieviesis savu modināšanas vārdu dzinēju, kura pamatā ir Windows iebūvētais runas atpazīšanas SDK.

MICRODOT

MicroDot sastāv no neliela pastiprinātāja un skaļruņa ar skārienjutīgu režģi un zilu/baltu LED bloku. MicroDot sākotnēji bija paredzēts novietot uz manas automašīnas domuzīmes, lai nodrošinātu manu Alexa risinājumu automašīnā (lai savienotu pārī ar manu iepriekšējo projektu-Alexa iespējoto automašīnas stereo). Papildus modināšanas vārda opcijai es vēlējos aktivizēt pieskārienu, jo Alexa būs grūti dzirdēt manu modināšanas vārdu, kad mūzika ir skaļa! (Kad aktivizēts, Panda nosūtīs signālu uz stereo, lai samazinātu skaļumu, kamēr Alexa klausās/runā).

AUGĻU PI

Tiem, kas labāk pārvalda "Raspberry Pi", šīs pamācības beigās esmu aprakstījis, kā savienot MicroDot ar Rapsberry Pi 3.

2. darbība: MicroDot ķēde

MicroDot ķēde
MicroDot ķēde
MicroDot ķēde
MicroDot ķēde
MicroDot ķēde
MicroDot ķēde

DAĻAS

6 x 220R SMD rezistori 2 x 470R SMD rezistori 1 x 10uF SMD kondensators 1 x TTP223 skārienjutīgā moduļa modulis (https://www.ebay.com/itm/192097635565) itm/221895096190) 1 x 10K viena lineāra īkšķa potenciometrs (https://www.ebay.com/itm/401105807680) 1 x 50pF keramikas kondensators 3 x 3 mm zilas gaismas diodes 3 x 3 mm baltas gaismas diodes 1 x 1,7 collu 4 omu 3 W skaļrunis vecas austiņas 1 x plāns melns 1 m USB pagarinājuma kabelis*

CELTNIECĪBA

MicroDot PCB tika izgatavots ar dzelzs uz tonera metodi uz 0,8 mm biezas vienpusējas plātnes - pie šī biezuma to var sagriezt aptuveni pēc formas ar asām šķērēm un pēc tam viegli noformēt pēc formas. Vispirms uzstādiet visas virsmas stiprinājuma detaļas.

Vadam jābūt savienotam ar sensora skārienvirsmu, tāpēc neliela vieta ir jāsaskrāpē, lai pielodētu. Es atklāju, ka neapstrādātā režīmā sensors bija pārāk jutīgs - tas darbojās labi, bet, tiklīdz tas tika uzstādīts korpusā, tas bieži tika kļūdaini iedarbināts, jo tas bija tuvu metāla skaļrunim. Es iezemēju metāla skaļruni - tas nedaudz palīdzēja, bet man beidzot bija jāatsaucas uz datu lapu.

TTP223 datu lapā ir norādīts, ka jūs varat pielāgot jutību, ievietojot kondensatoru (no 0 līdz 50 pf) starp skārienjūtīgo sensoru un zemi. Sensors labi darbojās ar 50pf kondensatoru. To izvietojumu var redzēt nākamās sadaļas attēlā.

MicroDot savienošanai ar Panda tiek izmantoti divi kabeļi:- plāns melns kabelis no vecā austiņu pāra, lai savienotu audio- plāns USB kabelis tika izmantots, lai izveidotu savienojumu ar GPIO (skārienjutīgais sensors/gaismas diodes). Jums būs nepieciešams kabelis ar 6 atsevišķiem savienotājiem (5 iekšējie + vairogs). *Uzmanieties, ka dažiem lētiem USB kabeļiem nav atsevišķa iezemējuma kontakta/vairoga, vai arī šie divi var būt savienoti iekšēji (pārbaudiet to pirms kabeļa sagriešanas, pārliecinoties, ka starp vīriešu un sieviešu ārējām metāla daļām ir nepārtrauktība kontaktdakšas un ka starp zemējuma tapu un ārējām metāla daļām nav nepārtrauktības).

Izmantojiet USB kabeļa savienojumus: sarkans =+5v, vairogs = GND, melns = pieskāriena sensors, balts = baltas gaismas diodes, zaļš = zils gaismas diodes. Tā vietā, lai vienkārši nogrieztu mopsi un to cieši savienotu, iespējams, vēlēsities darīt to, ko es darīju un turiet kontaktdakšas ieslēgtas un nogrieziet vienu garu daļu un vienu īsu (teiksim 200 mm) sekciju un pievienojiet abus kabeļa galus kopā. Tādā veidā iekārta ir noņemama. Vienkārši pārliecinieties, ka tajā nav pievienotas faktiskas USB ierīces vai parasts USB ports!

3. solis: MicroDot konstrukcija

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

3D DRUKĀTĀS DAĻAS

Pievienotajā zip failā ir četras 3D drukātas daļas: 1. Galvenais MicroDot apvalks - iespiests melnā krāsā PLA2. MicroDot bāze - iespiests melnā krāsā PLA3. LED gredzens - iespiests ar baltu PLA (var būt skaidrs vai caurspīdīgs, lai vienmērīgāk izkliedētu gaismu) 4. PCB starplikas - jebkura krāsa - starp skaļruni un PCB.

Lai pieskrūvētu pamatni pie korpusa, tiek izmantotas M2 skrūves un uzgriežņi. Trīs M2 skrūves ir jāizkausē spraugās apvalka iekšpusē. Tie ir diezgan mazi, un jums, iespējams, vajadzēs tos “pielodēt” ar kādu papildu kvēldiegu.

LED ARRAY

Baltās un zilās gaismas diodes masīvā tiek montētas pārmaiņus, kā parādīts attēlos. Vadi ir saliekti līdz 90 grādiem pret gaismas diodes apakšdaļu, un vadi tiek izkausēti gredzenā ar karstu lodāmuru (ņemiet vērā polaritāti šeit). Gaismas diodes apakšdaļa ir uzlikta uz leju, lai tās būtu līdzenas gredzena virsmai.

Gaismas diožu katodi ir savienoti kopā ar stieples gredzenu, un tie savienojas ar galvenes apakšējo tapu. Pārējām galvenes tapām katrai atsevišķai gaismas diodei jābūt pārmaiņus zilai/baltai

SAVIENOT KOPĀ

Grils tika izgriezts no galda papīra turētāja (attēlā) ar stiepli, kas pielodēts līdz vienai malai. Vispirms tas tiek ievietots korpusā, pēc tam gaismas diožu bloks (tas jāievieto leņķī, kā parādīts attēlā, lai slots būtu izlīdzināts ar vienu no skrūvju stabiem). Tālāk ir skaļrunis (novietojiet plānu lenti ap augšu, lai to izolētu no PCB malas). Tad starplikas un PCB vienkārši atrodas augšpusē. Pieskrūvējiet pamatni, lai tas viss būtu kopā.

Pievienojot audio kabeli LattePanda, es atklāju, ka, lai iegūtu labu skaņu, man ir jāizmanto audio zemes cilpas filtrs (https://www.ebay.com/itm/371801191297). Ņemiet vērā, ka fotoattēlos es izmantoju HDMI-VGA video adaptera audio izeju, taču ir labi izmantot iebūvēto audio izejas ligzdu.

Jums būs nepieciešams arī USB mikrofons (https://www.ebay.com/itm/332148968227).

4. solis: LattePanda

LattePanda
LattePanda
LattePanda
LattePanda

UZSTĀDĪT

Panda ir pieejams 2G/32G un 4G/64G modeļos ar vai bez Windows 10 licences. Modelis, kuru izmantoju, bija 2G/32G versija ar Windows 10 licenci:

Lūdzu, skatiet oficiālo dokumentāciju par LattePanda iestatīšanu (https://docs.lattepanda.com) Šeit nav nekā pārāk sarežģīta, taču ņemiet vērā norādījumus par Panda ieslēgšanu (https://docs.lattepanda.com/ content/getStarted/powe…).

Man šķita, ka viss darbojas pirmo reizi (kas ir jaukas pārmaiņas no manas Raspberry Pi pieredzes).

Viena svarīga lieta ir tā, ka jums patiešām ir nepieciešama Panda dzesēšana. Es izmantoju dažus pielīmējamus radiatorus augšpusē un apakšā (apakšējā daļa kļūst īpaši karsta).

Šajā diagrammā ir sīki aprakstītas Arduino ieejas un izejas: https://docs.lattepanda.com/content/hardware/inputs… Lai izveidotu savienojumu ar MicroDot, mēs izmantosim 3 kontaktu savienotāju masīvu kreisajā pusē (D9, D10 un D11), kā arī audio izejas ligzdu.

5. darbība: LattePanda - instalējiet Alexa parauga lietotni

LattePanda - instalējiet Alexa parauga lietotni
LattePanda - instalējiet Alexa parauga lietotni

LEJUPIELĀDĒT

Lietotne Alexa Sample ir pieejama šeit:

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

Nospiediet pogu Klons vai Lejupielādēt un lejupielādējiet kā.zip

Izveidojiet direktoriju c diskdzinī C: / ALEXA un izvelciet zip saturu, lai saspiestais direktorijs, ko sauc par paraugiem, atrastos tieši ALEXA direktorijā (ti, C: / ALEXA / sample \…)

UZSTĀDĪŠANA

Pilni oficiālie norādījumi par instalēšanu operētājsistēmā Windows ir šeit:

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

Ir diezgan daudz soļu, un tas prasa nedaudz laika, bet es atklāju, ka ar Windows viss pirmo reizi gāja gludi.

Lai rediģētu dažus konfigurācijas failus, jums būs nepieciešams labs teksta redaktors (Notepad nav labs, jo failiem ir Linux stila rindu galotnes). Es izmantoju Notepad ++, kas ir pieejams šeit:

Dažas piezīmes par oficiālajiem norādījumiem:

3. daļa - Atkarības

Mana Panda ir 64 bitu, tāpēc es lejupielādēju visas 64 bitu versijas, bet, ja instalējat 32 bitu sistēmā, jums būs jāizmanto 32 bitu versijas. Piezīme. Nejauciet atkarību 32 un 64 bitu versijas.

Saite, kas parādīta VLC multivides atskaņotājam, aizvedīs uz 32 bitu versiju. Lai iegūtu 64 bitu versiju, dodieties uz šo saiti: https://www.videolan.org/vlc/download-windows.html un uz lejupielādes pogas atlasiet bultiņu un pēc tam uz Installer for 64bit version.

JDK instalēšanai es izmantoju versiju: jdk-8u144-windows-x64 Mezglam, kuru izmantoju: Windows Installer (.msi) 64 bitu Maven: apache-maven-3.5.0-bin.zip OpenSSL izmantoju: Win64 OpenSSL v1.1.0f

5. daļa - Autentifikācijas metode

Izvēlieties 5a - Nodejs serveris. Ja, izpildot komandu npm, rodas kļūda, tad sava ceļa vides mainīgajam jāpievieno direktorijs nodejs (instrukcijās ir paskaidrots, kā to izdarīt).

6. daļa - Parauga lietotnes palaišana

Rediģējot failu config.json, iestatiet wakeWordAgentEnabled uz true, jo nākamajā sadaļā mēs instalēsim pielāgotu modināšanas vārdu dzinēju (modināšanas vārdu dzinējs, kas iekļauts parauga lietotnē, darbojas tikai ar Linux).

Ja, izpildot komandu mvn, rodas kļūda, jums jāpievieno direktorijs maven / bin sava ceļa vides mainīgajam.

Palaižot lietotni, jums vajadzētu iegūt ekrānuzņēmumā redzamo GUI. Noklikšķinot uz ikonas, jūs varēsit runāt ar Alexa. Šī ir pamata Alexa lietotne, taču mums būs vajadzīgs vairāk nekā šis!

Nākamās darbības būs instalēt pielāgotu modināšanas vārdu dzinēju, lai jūs varētu vienkārši pateikt "Alexa", lai aktivizētu, kā arī ir iespēja izmantot skārienjūtīgu sensoru, izmantojot Arduino ievadi. Mums ir arī jāļauj lietotnei automātiski palaist, startējot, un jāiedegas dažas gaismas diodes, kad Alexa klausās un runā.

6. darbība: LattePanda - instalējiet pielāgoto WakeWord dzinēju

LattePanda - instalējiet pielāgotu WakeWord dzinēju
LattePanda - instalējiet pielāgotu WakeWord dzinēju

WAKEWORD MOTORS

WakeWord dzinējs ļauj Alexa pamodināt ar izrunātu vārdu (parasti '' Alexa ''), nevis jānoklikšķina uz pogas. Parauga lietotnei ir divas WakeWord dzinēja iespējas: Sensory vai KITT. AI modināšanas vārdu dzinēji. Tomēr to ieviešana parauga lietotnē darbojas tikai operētājsistēmā Linux. Abi šie dzinēji ir pakļauti arī noteiktām licencēšanas prasībām.

Šeit es ieviesīšu pielāgotu modināšanas vārdu dzinēju, kura pamatā ir pašas Windows 10 runas atpazīšanas SDK. Tātad arī uz to neattiecas nekādas papildu licences prasības.

UZSTĀDĪT ATKARĪBAS

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

Microsoft runas platforma-izpildlaika valodas (versija 11)

Mans pielāgotais WakeWord dzinējs tika uzrakstīts C# programmā Visual Studio 2017. Šeit es esmu piegādājis galīgo izpildāmo failu un arī avota kodu. Ja vēlaties to apkopot pats, jums būs nepieciešams arī šis:

Microsoft Speech Platform - Software Development Kit (SDK) (versija 11) https://www.microsoft.com/en-gb/download/details…. 64 biti)

Ievietojiet WakeWordPanda.exe (un alexa_run.bat) ALEXA direktorijā. Šī programma veic šādus uzdevumus:- klausās modināšanas vārdu '' Alexa ''- uzrauga pieskāriena ievades sensoru- kontrolē zilās un baltās gaismas diodes

Ņemiet vērā, ka es to izstrādāju citā Windows 10 datorā, lai man nebūtu jāinstalē Visual Studio LattePanda, jo es negribēju izmantot gigabaitus. Es pievienoju Arduino Uno, kas instalēts kopā ar StandardFirmata (https://www.lattepanda.com/docs/#SetuptheArduino), pie izstrādes datora, lai varētu attīstīties arī ar Arduino ieeju/izeju. Visual Studio avota kods ir pievienots arī tad, ja vēlaties to mainīt un/vai apkopot pats.

MAINĪT JAVA KLIENTU

Java klientam kodam jāpievieno dažas papildu rindiņas. Tas ļauj gaismas diodēm darboties pareizi:

Kad Alexa klausās, uz WakeWord dzinēju tiek nosūtīts PAUSE_WAKE_WORD_ENGINE signāls. Es izmantoju šo signālu, lai uzzinātu, kad ieslēgt ZILO (Alexa klausīšanās LED). Kad tiek saņemts RESUME_WAKE_WORD_ENGINE signāls, zilā gaismas diode nodziest un iedegas BALTA (Alexa runājoša LED). Papildu kods nosūta vēl vienu RESUME_WAKE_WORD_ENGINE signālu, kad Alexa pārstāj runāt - lai WakeWord dzinējs zinātu, kad izslēgt balto LED.

Dodieties uz: C: / ALEXA / sample / javaclient / src / main / java / com / amazon / alexa / avs un teksta redaktorā atveriet AVSController.java. Kopējiet kodu no pievienotā faila Extra_Code.txt. Tas jāievieto divās vietās:

1. Funkcijā public void onAlexaSpeechFinished () tieši pēc paziņojuma: dependentDirectiveThread.unblock ();

2. Funkcijā private void handleAudioPlayerDirective (direktīvas direktīva) tieši pirms paziņojuma: player.handleStop ();

Esmu arī pārveidojis signālu APSTIPRINĀT, lai WakeWord dzinējs zinātu, vai Alexa ir atbildējusi. Tas tiek darīts, lai atceltu 5 sekunžu taimautu, kas notiks, ja netiks saņemta atbilde. Kopējiet kodu no Extra_Code2.txt un ievietojiet to vienā vietā:

1. Funkcijāpublic void onAlexaSpeechStarted () tieši pēc paziņojuma atkarīgāDirectiveThread.block ();

Tagad jums ir jāpārkompilē Java klients. Atveriet komandu uzvedni un dodieties uz C: / ALEXA / sample / javaclient Ievadiet: mvn install to compile.

Ja palaižat pavadošo pakalpojumu un Java Alexa lietotni, kā iepriekš, un pēc tam veiciet dubultklikšķi uz WakeWordPanda.exe, pagaidiet, līdz tas izveidos savienojumu, un tad jums vajadzētu būt iespējai aktivizēt Alexa, sakot "Alexa".

MICRODOT

Ja pievienojat MicroDot USB kabeli LattePanda, kā parādīts diagrammā, un pievienojiet audio kabeli, tam tagad vajadzētu būt pilnībā funkcionējošam. Izrunājot modināšanas vārdu vai pieskaroties grilam, vajadzētu aktivizēt Alexa un iedegties zilajām gaismas diodēm. Baltajām gaismas diodēm vajadzētu iedegties, kad Alexa reaģē.

SETUP AUTO RUN

Tā vietā, lai manuāli ievadītu visas komandas, lai visu sāktu, varat izmantot skriptu alexa_run.bat. Tas gaidīs interneta savienojumu un pēc tam izsauks atsevišķus moduļus (pavadošais pakalpojums, java klients, modināšanas vārdu dzinējs).

Pēdējais solis ir, lai viss tiktu palaists automātiski, startējot:

1. Ar peles labo pogu noklikšķiniet uz auto-run.bat un izvēlieties izveidot īsceļu.2. Nospiediet ctrl+R un ierakstiet shell: startup. Tas atvērs startēšanas mapi. Velciet izveidoto saīsni startēšanas mapē.

Tagad Alexa tiks automātiski palaista startēšanas laikā (pēc palaišanas inicializēšana aizņem apmēram 30 sekundes).

7. solis: MicroDot Raspberry Pi

MicroDot priekš Raspberry Pi
MicroDot priekš Raspberry Pi
MicroDot priekš Raspberry Pi
MicroDot priekš Raspberry Pi

(Ja vēlaties LattePanda vietā izmantot Raspberry Pi 3).

LEJUPIELĀDĒT

Lejupielādējiet lietotni Alexa Sample šeit:

Nospiediet pogu Klons vai Lejupielādēt un lejupielādējiet kā.zip. Izsaiņojiet failu tā, lai darbvirsmā būtu mape alexa-ava-sample-app.

UZSTĀDĪŠANA

Izpildiet oficiālos pilnos norādījumus šeit (piezīme: iestatiet tā, lai darbvirsmā būtu mape alexa-ava-sample-app):

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

Ir daudz rokasgrāmatu, kā to izdarīt, izmantojot Raspberry Pi. Esmu to pāris reizes instalējis Raspberry Pi, un neviens laiks nav gājis tik gludi kā instalēšana WIndows 10 (nav pārsteigums - Linux mani iegūst katru reizi). Galvenās problēmas, ar kurām saskāros, bija šādas:

1. Audio un mikrofona pareizas darbības nodrošināšana. Skatiet šeit https://github.com/alexa-pi/AlexaPi/wiki/Audio-set…, ja arī jums ir šīs problēmas.

2. Problēmas ar JDK versiju. Skatiet 4.3 oficiālajos norādījumos un piezīmi failā pom.xml, kurā runāts par versijas ignorēšanu, izpildot komandu mvn exec: exec (ti, man bija jāpievieno šis slēdzis -Dalpn -boot.version = 8.1.6.v20151105). Ņemiet vērā, ka šī komanda ir iekļauta manā startēšanas skriptā (alexa_startup.sh).

3. Sensoro modināšanas vārdu dzinēja iedarbināšana (https://github.com/Sensory/alexa-rpi)

Kad viss ir palaists, izmantojot manuālās komandas, kā norādīts instrukcijās, turpiniet instalēt MicroDot.

MICRODOT SAVIENOJUMS

Jūs nevarat tieši pievienot MicroDot GPIO, jo tas patērēs pārāk daudz strāvas. Jums būs nepieciešami: 2x 2N3904 tranzistori, lai vadītu gaismas diodes, 1x2K2 un 1x3K3 rezistori, lai samazinātu spriegumu no skārienjutīgā līdz 3,3 V (MicroDot tiks darbināts no 5 V barošanas avota). Skatiet pievienoto diagrammu. Jūs varētu vēlēties šim nolūkam izgatavot PCB, bet es tikko uzstādīju šīs sastāvdaļas 8 kontaktu spraudņa aizmugurē.

PIEMĀROTS WAKE ENGINE (TOUCH)

Izsaiņojiet pievienotās zip mapes saturu mapē alexa-avs-sample-app. Ir divi faili: wake.py - python skripts, kas ir pielāgots (pieskāriena) modināšanas dzinējs MicroDot alexa_autostart.sh - skripts, lai palaistu visu. Ar peles labo pogu noklikšķiniet uz rekvizītiem un cilnē Atļaujas atlasiet izpildīt: ikviens.

Lai darbinātu modināšanas dzinēju, jums būs jāinstalē python. Jums būs nepieciešama arī GPIO bibliotēka (https://makezine.com/projects/tutorial-raspberry-p…) Tie jau ir jāinstalē jaunākajā Raspbian versijā.

Lai palaistu visu, ierakstiet terminālī: cd/home/pi/Desktop/alexa-avs-sample-appsudo./alexa_startup.sh

IESTATĪT AUTORUN

Lai iestatītu Alexa automātisku palaišanu sāknēšanas laikā, atveriet termināli un ierakstiet:

cd /home/pi/.config/lxsession/LXDE-pisudo nano automātiskā palaišana

un pievienojiet rindu un saglabājiet:

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

Pārstartējiet un Alexa lietotnei vajadzētu palaist automātiski.

Ieteicams: