INHOUDSOPGAWE:

"MicroDot" vir LattePanda (of Raspberry Pi): 7 stappe (met foto's)
"MicroDot" vir LattePanda (of Raspberry Pi): 7 stappe (met foto's)

Video: "MicroDot" vir LattePanda (of Raspberry Pi): 7 stappe (met foto's)

Video:
Video: Explained in Detail Part 2 : DataDot / MicroDot on a car,what's it all about? #Dekra,#Datadot 2024, November
Anonim
Beeld
Beeld

Die MicroDot is 'n tuisgemaakte Alexa-knoppie wat ontwerp is om aan 'n LattePanda of 'n Raspberry Pi gekoppel te word, met Alexa Sample App geïnstalleer. Dit is 'n klein luidspreker met LED's en aanraak-/spraakaktivering, en is ideaal vir gebruik op 'n lessenaar of in 'n motor.

*Die LattePanda vir hierdie projek is vriendelik verskaf deur DFRobot

Stap 1: Stelseloorsig

Stelseloorsig
Stelseloorsig

LATTE PANDA

Die LattePanda is 'n klein (ongeveer die grootte van 'n Raspberry Pi) Windows 10-rekenaar met 'n ingeboude Arduino om aan die werklike wêreld te koppel. Dit is regtig 'n goeie idee - en is 'n goeie vervanging vir die Raspberry Pi - veral as u (soos ek) probleme ondervind met Linux.

Ek het die Alexa Sample App op die Panda geïnstalleer en my eie wake-word-enjin geïmplementeer wat gebaseer is op Windows se ingeboude SDK vir spraakherkenning.

MICRODOT

Die MicroDot bestaan uit 'n klein versterker en luidspreker met 'n aanraakgevoelige rooster en blou/wit LED-skikking. Die MicroDot is oorspronklik ontwerp om op die dashboard in my motor geplaas te word om my Alexa-oplossing in die motor te bied (om te koppel met my vorige projek-Alexa-stereo-stereo). Behalwe dat ek 'n wekwoord-opsie gehad het, wou ek aanraakaktivering hê omdat Alexa dit moeilik sal vind as ek musiek hoor! (Sodra dit geaktiveer is, stuur die Panda 'n sein na die stereo om die volume te verlaag terwyl Alexa luister/praat).

RASPBERRY PI

Vir diegene wat 'Raspberry Pi' meer magtig is, het ek aan die einde van hierdie instruksies beskryf hoe om die MicroDot met 'n Rapsberry Pi 3 te koppel.

Stap 2: MicroDot -stroombaan

MicroDot -stroombaan
MicroDot -stroombaan
MicroDot -stroombaan
MicroDot -stroombaan
MicroDot -stroombaan
MicroDot -stroombaan

DELE

6 x 220R SMD -weerstande 2 x 470R SMD -weerstands itm/221895096190) 1 x 10K enkel lineêre duimpotensiometer (https://www.ebay.com/itm/401105807680)1 x 50pF keramiek kondensator3 x 3mm blou LED's3 x 3mm wit LED's1 x 1.7inch 4ohm 3W luidspreker1 x dun swart kabel van ou koptelefoon 1 x dun swart 1m USB -verlengkabel*

KONSTRUKSIE

Die MicroDot PCB is vervaardig met 'n yster -op -toner metode op 'n 0,8 mm dik enkelsydige bord - met hierdie dikte kan dit grof gesny word met 'n skerp skêr en dan maklik in vorm geplaas word. Monteer eers al die onderdele op die oppervlak.

'N Draad moet aan die aanraakoppervlak van die sensor gekoppel word, dus moet 'n klein gedeelte weggeskraap word om aan te soldeer. Ek het gevind dat die sensor in sy rou modus te sensitief was - dit werk goed, maar sodra dit in die omhulsel gemonteer is, is dit dikwels vals geaktiveer weens die nabyheid aan die metaalluidspreker. Ek het die metaalspreker gegrond - wat ietwat gehelp het, maar ek moes uiteindelik na die datablad verwys.

Die TTP223 -datablad sê dat u die sensitiwiteit kan aanpas deur 'n kondensator (0 tot 50pf) tussen die aanraaksensor en die grond te plaas. Die sensor het goed gewerk met 'n kapasiteit van 50 pf. U kan die plasing hiervan op die foto van die volgende afdeling sien.

Twee kabels word gebruik om die MicroDot aan die Panda te koppel:- 'n dun swart kabel van 'n ou koptelefoon om die klank aan te sluit- 'n dun USB-kabel is gebruik om aan te sluit op die GPIO (aanraaksensor/LED's). U benodig 'n kabel met 6 afsonderlike verbindings (5 intern + skild). *Pas op dat sommige goedkoop USB-kabels nie 'n aparte grondpen/skild het nie, of dat hierdie twee intern verbind kan word (kyk eers voordat u u kabel sny deur seker te maak dat daar kontinuïteit is tussen die buitenste metaaldele van die man en vrou proppe, en dat daar geen kontinuïteit is tussen die grondpen en die buitenste metaaldele nie).

Gebruik die USB -kabelverbindings: rooi =+5v, skild = GND, swart = aanraaksensor, wit = wit LED's, groen = blou LED's. In plaas daarvan om net die pugs af te sny en dit hard te bedraad, wil u dalk doen wat ek gedoen het en hou die proppe vas en sny een lang gedeelte en een kort (sê 200 mm) gedeelte, en steek die twee ente van die kabel saam. Op hierdie manier is die eenheid afneembaar. Maak seker dat u geen werklike USB -toestelle daaraan koppel nie, of dit in 'n gewone USB -poort aansluit!

Stap 3: MicroDot -konstruksie

MicroDot -konstruksie
MicroDot -konstruksie
MicroDot -konstruksie
MicroDot -konstruksie
MicroDot -konstruksie
MicroDot -konstruksie
MicroDot -konstruksie
MicroDot -konstruksie

3D -GEDRUKTE ONDERDELE

Daar is vier 3D -gedrukte dele in die aangehegte zip -lêer: 1. Hoof MicroDot -dop - gedruk in swart PLA2. MicroDot -basis - gedruk in swart PLA3. LED -ring - gedruk in wit PLA (duidelik of deurskynend kan beter wees om die lig eweredig te versprei) 4. PCB -afstandhouer - enige kleur - tussen die luidspreker en die PCB.

M2 boute en moere word gebruik om die basis aan die dop te skroef. Drie M2 -boute moet in die gleuwe aan die binnekant van die dop gesmelt word. Dit is redelik klein, en u moet dit moontlik met 'n ekstra filament 'soldeer'.

LED ARRAY

Die wit en blou LED's word afwisselend in die skikking gemonteer, soos op die foto's getoon. Die leidings buig tot 90 grade teen die onderkant van die LED en die leidings word met 'n warm soldeerbout in die ring gesmelt (let op die polariteit hier). Die onderkant van die LED's word neergelê sodat dit plat op die oppervlak van die ring is.

Die katodes van die LED's is almal verbind met 'n draaddraad en dit sluit aan by die onderste pen van die kop. Die ander penne van die kop moet alternatief blou/wit wees vir elke individuele LED

SAAM DIT SAAM

Die rooster is uit 'n tafelbladpapierhouer (op die foto) gesny met 'n draad wat aan die een rand gesoldeer is. Dit word eers in die dop geplaas, dan die LED -skikking (dit moet in 'n hoek geplaas word soos aangedui, met die gleuf in lyn met een van die skroefpale). Die luidspreker is volgende (plaas 'n dun band aan die bokant om dit van die rand van die printplaat af te isoleer). Dan sit die afstandhouer en die printplaat bo -op. Skroef die basis vas om dit alles bymekaar te hou.

Toe ek die klankkabel in die LattePanda aansluit, het ek gevind dat ek 'n klankfilter (https://www.ebay.com/itm/371801191297) moet gebruik om goeie geluid te kry. Let daarop dat ek op die foto's die audio-out van my HDMI-VGA-video-adapter gebruik, maar dit is goed om die ingeboude klankuitset-aansluiting te gebruik.

U benodig ook 'n usb -mikrofoon (https://www.ebay.com/itm/332148968227).

Stap 4: Die LattePanda

Die LattePanda
Die LattePanda
Die LattePanda
Die LattePanda

STEL OP

Die Panda kom in 2G/32G- en 4G/64G -modelle, met of sonder Windows 10 -lisensie. Die model wat ek gebruik het, was die 2G/32G-weergawe met Windows 10-lisensie:

Raadpleeg die amptelike dokumentasie vir die opstel van u LattePanda (https://docs.lattepanda.com) Hier is niks te ingewikkeld nie, maar let op die instruksies om u Panda aan te skakel (https://docs.lattepanda.com/ inhoud/getStarted/powe …).

Alles het vir my die eerste keer gewerk (wat 'n goeie afwisseling is van my Raspberry Pi -ervarings).

Een belangrike ding is dat jy regtig 'n soort verkoeling vir die Panda nodig het. Ek het 'n paar koelblaaie aan die bokant en onderkant gebruik (die onderkant word besonder warm).

Hierdie diagram gee 'n uiteensetting van die Arduino-insette en -uitsette: https://docs.lattepanda.com/content/hardware/inputs… en D11), sowel as die klankuitset -aansluiting.

Stap 5: LattePanda - Installeer Alexa Sample App

LattePanda - Installeer Alexa Sample App
LattePanda - Installeer Alexa Sample App

AFLAAI

Die Alexa Sample App is hier beskikbaar:

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

Druk die knoppie of aflaai en laai af as.zip

Skep 'n gids op c -skyf C: / ALEXA en haal die inhoud van die zip uit sodat die ritsgids genaamd monsters direk in die ALEXA -gids sit (dws C: / ALEXA / samples / …)

INSTALLEER

Die amptelike volledige instruksies oor hoe om op Windows te installeer, is hier:

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

Daar is 'n hele paar stappe, en dit neem 'n rukkie, maar ek het gevind dat alles met Windows die eerste keer vlot verloop het.

U sal 'n goeie teksredakteur nodig hê om sommige van die konfigurasielêers te wysig (Notepad is nie goed nie, aangesien die lêers Linux -eindpunte het). Ek het Notepad ++ gebruik wat hier beskikbaar is:

'N Paar aantekeninge oor die amptelike instruksies:

Deel 3 - Afhanklikheid

My Panda is 64 bit, so ek het al die 64 bit weergawes afgelaai, maar as u op 'n 32 bit stelsel installeer, moet u die 32 bit weergawes gebruik. Let wel: moenie 32- en 64 -bis weergawes van die afhanklikes meng nie.

Die skakel wat vir die VLC -mediaspeler verskyn, neem u na die 32 -bis weergawe. Om die 64-bis weergawe te kry, gaan na hierdie skakel: https://www.videolan.org/vlc/download-windows.html en kies die pyltjie op die aflaai-knoppie en dan Installer vir 64bit weergawe.

Vir JDK installasie het ek weergawe gebruik: jdk-8u144-windows-x64 Vir nodejs het ek gebruik: Windows Installer (.msi) 64 bit Vir Maven: apache-maven-3.5.0-bin.zip Vir OpenSSL het ek gebruik: Win64 OpenSSL v1.1.0f

Deel 5 - Verifikasie metode

Kies 5a - Nodejs -bediener. As u 'n fout kry met die uitvoering van npm -opdrag, moet u u nodejs -gids by u veranderlike padomgewing voeg (dit word in die instruksies verduidelik hoe u dit moet doen).

Deel 6 - Die uitvoer van die voorbeeld -app

As u die config.json -lêer redigeer, stel wakeWordAgentEnabled op true, aangesien ons in die volgende afdeling 'n pasgemaakte wake word -enjin sal installeer (die wake word -enjin wat in die voorbeeld -app ingesluit is, werk slegs met Linux).

As u 'n fout kry met die uitvoering van die mvn -opdrag, moet u u maven / bin -gids by u veranderlike in die padomgewing voeg.

As u die app gebruik, moet die GUI op die skermkiekie verskyn. As u op die ikoon klik, kan u met Alexa praat. Dit is die basiese Alexa -app - maar ons sal meer nodig hê as dit!

Die volgende stappe is om 'n pasgemaakte wekwoord-enjin te installeer, sodat u net 'Alexa' kan sê om te aktiveer, en ook die opsie het om 'n aanraaksensor te gebruik via Arduino-invoer. Ons moet ook die program outomaties laat loop tydens die aanvang, en 'n paar LED's moet brand wanneer Alexa luister en praat.

Stap 6: LattePanda - installeer 'n aangepaste WakeWord -enjin

LattePanda - Installeer aangepaste WakeWord -enjin
LattePanda - Installeer aangepaste WakeWord -enjin

WAKEWORD ENGINE

Met 'n WakeWord -enjin kan Alexa deur 'n gesproke woord (gewoonlik '' Alexa ') ontwaak word, in plaas van op 'n knoppie te hoef te klik. Die voorbeeld -app het twee opsies vir die WakeWord -enjin: Sensoriese of KITT. AI wekwoord -enjins. Die implementering hiervan in die voorbeeld -app werk egter slegs vir Linux. Beide hierdie enjins is ook onderworpe aan sekere lisensievereistes.

Hier sal ek 'n pasgemaakte wake word -enjin implementeer wat gebaseer is op Windows 10 se eie spraakherkennings -SDK. Dit is dus ook vry van enige bykomende lisensievereistes.

INSTALLEER AFHANKLIKHEDE

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

Microsoft Speech Platform-Runtime Languages (Weergawe 11)

My pasgemaakte WakeWord -enjin is in C# in Visual Studio 2017 geskryf. Ek het die finale uitvoerbare hier en ook die bronkode verskaf. As u dit self wil saamstel, benodig u dit ook:

Microsoft Speech Platform - Software Development Kit (SDK) (Weergawe 11) https://www.microsoft.com/en-gb/download/details….|x86_MicrosoftSpeechPlatformSDK\MicrosoftSpeechPlatformSDK.msi (32 bit) of x64_MicrosoftSpeechPlatformSDK / MicrosoftSpeechPlatform 64 bis)

Plaas WakeWordPanda.exe (en alexa_run.bat) in die ALEXA -gids. Hierdie program verrig die volgende take:- Luister na '' Alexa '' wekwoord '- Monitor die aanraakinvoersensor- Beheer die BLOU en WIT LED's

Let op dat ek dit op 'n ander Windows 10 -rekenaar ontwikkel het, sodat ek Visual Studio nie op die LattePanda hoef te installeer nie, aangesien ek nie die gigabyte wou gebruik nie. Ek het 'n Arduino Uno gekoppel wat geïnstalleer is met StandardFirmata (https://www.lattepanda.com/docs/#SetuptheArduino) aan die ontwikkelingsrekenaar gekoppel, sodat ek ook met die Arduino -invoer/-uitsette kan ontwikkel. Die Visual Studio -bronkode is ook aangeheg as u dit self wil aanpas en/of saamstel.

WYSIG DIE JAVA -KLIËNT

Die Java -kliënt benodig 'n paar ekstra reëls by die kode. Dit is sodat LED's korrek kan werk:

As Alexa luister, word 'n PAUSE_WAKE_WORD_ENGINE -sein na die WakeWord -enjin gestuur. Ek het hierdie sein gebruik om te weet wanneer ek die BLOU (Alexa luister -LED) moet aanskakel. As die RESUME_WAKE_WORD_ENGINE sein ontvang word, skakel die blou LED af en die WIT (Alexa sprekende LED) brand. Die ekstra kode stuur nog 'n RESUME_WAKE_WORD_ENGINE -sein wanneer Alexa ophou praat - sodat die WakeWord -enjin weet wanneer hy die wit LED moet afskakel.

Gaan na: C: / ALEXA / samples / javaclient / src / main / java / com / amazon / alexa / avs en maak AVSController.java oop in u teksredigeerder. Kopieer die kode uit die aangehegte Extra_Code.txt -lêer. Dit moet op twee plekke ingevoeg word:

1. In die funksie openbaar leemte onAlexaSpeechFinished () direk na die verklaring: dependDirectiveThread.unblock ();

2. In die funksie private void handleAudioPlayerDirective (richtlijn richtlijn) direk voor die verklaring: player.handleStop ();

Ek het ook die CONFIRM-sein herontwerp sodat die WakeWord-enjin sal weet of Alexa gereageer het. Dit is om 'n tydsduur van 5 sekondes te kanselleer wat sal plaasvind as daar geen reaksie is nie. Kopieer die kode van Extra_Code2.txt en voeg dit op een plek in:

1. In die funksiepublieke leemte onAlexaSpeechStarted () direk na die verklaring dependDirectiveThread.block ();

U moet die Java -kliënt nou weer saamstel. Open 'n opdragprompt en navigeer na C: / ALEXA / samples / javaclient Enter: mvn install om weer te kompileer.

As u die Companion Service en Java Alexa -app soos voorheen begin, en dan ook dubbelkliek op WakeWordPanda.exe, wag totdat dit aansluit, en dan moet u Alexa kan aktiveer deur 'Alexa' te sê.

MICRODOT

As u die 'USB' -kabel van die MicroDot aan die LattePanda koppel soos in die diagram, en die klankkabel aansluit, behoort dit nou volledig te funksioneer. Deur die wakkerwoord te praat of die rooster aan te raak, moet Alexa geaktiveer word en die blou LED's moet aanskakel. Die wit LED's moet aangaan terwyl Alexa reageer.

OPSTEL AUTO RUN

In plaas daarvan om al die opdragte met die hand in te tik om alles te begin, kan u die alexa_run.bat -script gebruik. Dit wag vir 'n internetverbinding en gebruik dan die afsonderlike modules (metgesel-diens, java-kliënt, wake-word engine).

Die laaste stap is om alles outomaties te laat werk tydens die aanvang:

1. Regskliek op auto-run.bat en kies skep kortpad. Druk ctrl+R en tik shell: opstart. Dit sal die opstartvouer oopmaak. Sleep die kortpad wat u geskep het na die opstartmap.

Alexa sal nou outomaties begin tydens die aanvang (dit neem ongeveer 30 sekondes om te begin nadat dit begin is).

Stap 7: MicroDot vir Raspberry Pi

MicroDot vir Framboos Pi
MicroDot vir Framboos Pi
MicroDot vir Framboos Pi
MicroDot vir Framboos Pi

(As u 'n Raspberry Pi 3 in plaas van 'n LattePanda wil gebruik).

AFLAAI

Laai die Alexa Sample-app hier af:

Druk die knoppie of aflaai en laai af as.zip. Pak die rits uit sodat die alexa-ava-sample-app-lêergids op die lessenaar is.

INSTALLEER

Volg die amptelike volledige instruksies hier (let op: instel sodat die alexa-ava-sample-app-lêergids op die lessenaar):

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

Daar is baie gidse om dit te doen met 'n Raspberry Pi op die interne. Ek het dit 'n paar keer op die Raspberry Pi geïnstalleer, en dit het nie een keer so vlot gegaan as om op WIndows 10 te installeer nie (geen verrassing nie - Linux kry my elke keer). Die belangrikste kwessies wat ek teëgekom het, was:

1. Laat die klank en die mikrofoon behoorlik werk. Sien hier https://github.com/alexa-pi/AlexaPi/wiki/Audio-set… as u ook hierdie probleme ondervind.

2. Probleme met die JDK -weergawe. Sien 4.3 in die amptelike instruksies en die aantekening in die pom.xml -lêer wat praat oor die oorheersing van die weergawe by die uitvoering van die mvn exec: exec -opdrag (dws ek moes hierdie skakelaar -Dalpn -boot.version = 8.1.6.v20151105 byvoeg). Let daarop dat hierdie opdrag ingesluit is in my opstartskrif (alexa_startup.sh).

3. Laat die Sensory wake word-enjin werk (https://github.com/Sensory/alexa-rpi)

Sodra u alles met die handmatige opdragte, soos in die instruksies uiteengesit, kan laat werk, gaan voort met die MicroDot -installasie.

MICRODOT -AANSLUITING

U kan die MicroDot nie direk aan die GPIO koppel nie, omdat dit te veel stroom sal trek. U benodig: 2x 2N3904 transisitors om die LED's, 1x2K2 en 1x3K3 resistors aan te dryf om die spanning van die aanraaksensor na 3.3V te laat daal (die MicroDot word van die 5V -voeding voorsien). Verwys na die aangehegte diagram. Miskien wil u 'n PCB hiervoor maak, maar ek het hierdie komponente pas aan die agterkant van 'n 8 -pins vroulike prop gemonteer.

GEPASTE WAKEN -ENJIN (AANRAK)

Pak die inhoud van die aangehegte zip-gids uit in die alexa-avs-sample-app-lêergids. Daar is twee lêers: wake.py - 'n python -script wat die pasgemaakte (aanraak) wek -enjin vir die MicroDot alexa_autostart.sh is - 'n script om alles uit te voer. Regskliek op hierdie eienskappe en kies uitvoer: enigiemand op die oortjies -oortjie.

U moet python geïnstalleer het om die wake -engine te laat loop. U benodig ook die GPIO-biblioteek (https://makezine.com/projects/tutorial-raspberry-p…) Dit moet reeds in die nuutste weergawe van Raspbian geïnstalleer wees.

Om alles uit te voer, tik u in terminal: cd/home/pi/Desktop/alexa-avs-sample-appsudo./alexa_startup.sh

OPSTEL AUTORUN

Om Alexa op te stel om outomaties te begin tydens opstart, maak 'n terminale oop en tik:

cd /home/pi/.config/lxsession/LXDE-pisudo nano outomaties begin

en voeg die reël by en stoor:

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

Herlaai en die Alexa-program moet outomaties uitgevoer word.

Aanbeveel: