Innehållsförteckning:
- Steg 1: Systemöversikt
- Steg 2: MicroDot -krets
- Steg 3: MicroDot -konstruktion
- Steg 4: LattePanda
- Steg 5: LattePanda - Installera Alexa Sample App
- Steg 6: LattePanda - Installera anpassad WakeWord -motor
- Steg 7: MicroDot för Raspberry Pi
Video: "MicroDot" för LattePanda (eller Raspberry Pi): 7 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:46
MicroDot är en hemgjord Alexa-knapp som är utformad för att anslutas till en LattePanda eller en Raspberry Pi, med Alexa Sample App installerad. Det är en liten högtalare med lysdioder och touch/talaktivering, och är idealisk för användning på ett skrivbord eller i en bil.
*LattePanda för detta projekt levererades vänligt av DFRobot
Steg 1: Systemöversikt
LATTE PANDA
LattePanda är en liten (ungefär lika stor som en Raspberry Pi) Windows 10-dator med en inbyggd Arduino för gränssnitt mot den verkliga världen. Det är verkligen ganska snyggt - och är en bra ersättare till Raspberry Pi - särskilt om du (som jag) har problem med att ta tag i Linux.
Jag har installerat Alexa Sample App på Panda och har implementerat min egen wake-word-motor baserad på Windows inbyggd taligenkänning SDK.
MICRODOT
MicroDot består av en liten förstärkare och högtalare med en beröringskänslig grill och blå/vit LED-array. MicroDot var ursprungligen utformad för att placeras på instrumentbrädan i min bil för att ge min billösning i bilen (för att para ihop med mitt tidigare projekt-Alexa-aktiverad bilstereo). Förutom att jag hade ett wake-word-alternativ, ville jag ha pekaktivering eftersom Alexa kommer att ha svårt att höra mitt wake-word när musiken är högt! (När den är aktiverad skickar Panda en signal till stereon för att sänka volymen medan Alexa lyssnar/talar).
RASPBERRY PI
För dem som är mer flytande i "Raspberry Pi" har jag i slutet av denna instruktionsbok beskrivit hur man gränssnittar MicroDot med en Rapsberry Pi 3.
Steg 2: MicroDot -krets
DELAR
6 x 220R SMD -motstånd itm/221895096190) 1 x 10K Single Linear Thumb Potentiometer (https://www.ebay.com/itm/401105807680)1 x 50pF Keramisk kondensator3 x 3mm Blå lysdioder3 x 3mm vita lysdioder1 x 1.7inch 4ohm 3W högtalare1 x tunn svart kabel från gamla hörlurar 1 x tunn svart 1m USB -förlängningskabel*
KONSTRUKTION
MicroDot -kretskortet gjordes av iron -on -tonermetod på 0,8 mm tjockt enkelsidigt bräda - med denna tjocklek kan det klippas grovt för att forma med en skarp sax och sedan enkelt filas till formen. Montera alla ytmonterade komponenter först.
En tråd måste anslutas till sensorns beröringsyta, så ett litet område måste skrapas bort för att lödas till. Jag upptäckte att sensorn i sitt råa läge var för känslig - den fungerade bra, men när den väl monterades i höljet var den ofta falskt utlöst på grund av dess närhet till metallhögtalaren. Jag grundade metallhögtalaren - vilket hjälpte något, men jag var tvungen att så småningom hänvisa till databladet.
Databladet TTP223 anger att du kan justera känsligheten genom att placera en kondensator (0 till 50pf) mellan beröringssensorn och jord. Sensorn fungerade bra med en 50pf kondensator. Du kan se placeringen av detta på bilden i nästa avsnitt.
Två kablar används för att ansluta MicroDot till Panda:- en tunn svart kabel från ett gammalt par hörlurar för att ansluta ljudet- en tunn USB-kabel användes för att ansluta till GPIO (beröringssensor/lysdioder). Du behöver en kabel med 6 separata kontakter (5 interna + skärm). *Akta dig för att vissa billiga USB-kablar inte har en separat jordstift/skärm, annars kan dessa två anslutas internt (kontrollera detta innan du skär upp kabeln genom att se till att det finns kontinuitet mellan de yttre metalldelarna på hanen och honan pluggar, och att det inte finns kontinuitet mellan jordstiftet och de yttre metalldelarna).
Använd USB -kabelanslutningarna: röd =+5v, skärm = GND, svart = beröringssensor, vit = vit lysdiod, grön = blå lysdioder. och håll kvar pluggarna och klipp av en lång sektion och en kort (säg 200 mm) sektion, och koppla ihop de två ändarna av kabeln. På så sätt är enheten avtagbar. Se bara till att du inte ansluter några verkliga USB -enheter till den eller ansluter den till en vanlig USB -port!
Steg 3: MicroDot -konstruktion
3D -TRYCKADE DELAR
Det finns fyra 3D -tryckta delar i den bifogade zip -filen: 1. Huvud MicroDot -skal - tryckt i svart PLA2. MicroDot -bas - tryckt i svart PLA3. LED -ring - tryckt i vitt PLA (klart eller genomskinligt kan vara bättre för att sprida ljuset jämnare) 4. PCB -distans - valfri färg - klämd mellan högtalare och kretskort.
M2 -bultar och muttrar används för att skruva fast basen på skalet. Tre M2 -bultar måste smältas in i slitsarna på insidan av skalet. Dessa är ganska små, och du kan behöva '' lödda '' dem på plats med ytterligare filament.
LED ARRAY
De vita och blå lysdioderna monteras omväxlande i matrisen som visas på bilderna. Ledningarna böjer sig till 90 grader mot LED: ns botten och ledningarna smälts in i ringen med ett hett lödkolv (notera polariteten här). Botten på lysdioderna läggs ner så att de är plana mot ringens yta.
Katoderna på lysdioderna är alla anslutna tillsammans med en ring av tråd och dessa ansluter till den nedersta stiftet på rubriken. De andra stiften i rubriken måste vara alternativa blå/vita för varje enskild lysdiod
SÄTTA IHOP DET
Grillen klipptes från en skrivbordshållare (bilden) med en tråd lödd till ena kanten. Detta sätts in i skalet först, sedan LED -matrisen (detta måste sättas in i en vinkel som visas, med spåret inriktat med en av skruvstolparna). Högtalaren är nästa (placera lite tunn tejp runt toppen för att isolera den från PCB -kanten). Sedan sitter distansen och kretskortet bara ovanpå. Skruva fast basen för att hålla ihop allt.
När jag anslöt ljudkabeln till LattePanda fann jag att jag behövde använda ett ljudjordslingfilter (https://www.ebay.com/itm/371801191297) för att få bra ljud. Observera att på bilderna använder jag ljudutgången från min HDMI-VGA-videoadapter, men det är bra att använda det inbyggda ljudutgången.
Du behöver också en usb -mikrofon (https://www.ebay.com/itm/332148968227).
Steg 4: LattePanda
UPPSTART
Panda finns i modellerna 2G/32G och 4G/64G, med eller utan Windows 10 -licens. Modellen som jag använde var 2G/32G-versionen med Windows 10-licens:
Se den officiella dokumentationen för att ställa in din LattePanda (https://docs.lattepanda.com) Det finns inget för komplicerat här, men notera instruktionerna för att starta din Panda (https://docs.lattepanda.com/ content/getStarted/powe …).
Allt verkade fungera första gången för mig (vilket är en bra förändring från mina Raspberry Pi -upplevelser).
En viktig sak är att du verkligen behöver någon form av kylning för Panda. Jag använde några kylflänsar på toppen och botten (undersidan blir särskilt varm).
Detta diagram beskriver Arduino-ingångar och -utgångar: https://docs.lattepanda.com/content/hardware/inputs … Vi kommer att använda matrisen med 3-stifts kontakter på vänster sida för att ansluta till MicroDot (D9, D10 och D11), liksom ljudutgången.
Steg 5: LattePanda - Installera Alexa Sample App
LADDA NER
Alexa Sample App finns här:
github.com/alexa/alexa-avs-sample-app/
Tryck på knappen Clone eller Download och ladda ner som.zip
Skapa en katalog på c -enhet C: / ALEXA och extrahera innehållet i zip -filen så att den zippade katalogen som kallas samples sitter direkt i ALEXA -katalogen (dvs C: / ALEXA / samples / …)
INSTALLERA
De officiella instruktionerna för hur du installerar på Windows finns här:
github.com/alexa/alexa-avs-sample-app/wiki…
Det finns ganska många steg, och det tar ett tag, men jag fann att med Windows gick allt smidigt första gången.
Du behöver en bra textredigerare för att redigera några av konfigurationsfilerna (Anteckningar är inte bra eftersom filerna har Linux -stiländelser). Jag använde Notepad ++ som finns här:
Några anmärkningar angående de officiella instruktionerna:
Del 3 - Beroenden
Min Panda är 64 bitar, så jag laddade ner alla 64 bitars versioner, men om du installerar på ett 32 bitars system måste du använda 32 bitars versioner. Obs! Blanda inte 32- och 64 -bitarsversioner av beroende.
Länken som visas för VLC mediaspelare tar dig till 32 -bitarsversionen. För att få 64-bitarsversionen, gå till den här länken: https://www.videolan.org/vlc/download-windows.html och på nedladdningsknappen, välj pilen och sedan Installer för 64bit-versionen.
För JDK-installation använde jag version: jdk-8u144-windows-x64 För nodejs jag använde: Windows Installer (.msi) 64 bitar För Maven: apache-maven-3.5.0-bin.zip För OpenSSL använde jag: Win64 OpenSSL v1.1.0f
Del 5 - Autentiseringsmetod
Välj 5a - Nodejs -server. Om du får ett fel när du kör npm -kommandot måste du lägga till din nodejs -katalog i din vägmiljövariabel (det förklaras i instruktionerna hur du gör detta).
Del 6 - Kör provappen
När du redigerar config.json -filen, ställ in wakeWordAgentEnabled till true, eftersom vi kommer att installera en anpassad wake -word -motor i nästa avsnitt (wake word -motorn som ingår i exempelappen fungerar bara med Linux).
Om du får ett fel när du kör kommandot mvn måste du lägga till katalogen maven / bin i din sökvägsvariabel.
När du kör appen bör du få GUI som visas på skärmdumpen. När du klickar på ikonen kommer du att kunna prata med Alexa. Detta är den grundläggande Alexa -appen - men vi kommer att behöva mer än så här!
Nästa steg blir att installera en anpassad wake-word-motor så att du bara kan säga "Alexa" för att aktivera, och även ha möjlighet att använda en pekssensor via Arduino-ingång. Vi måste också göra appen automatisk körning vid start och tända några lysdioder när Alexa lyssnar och pratar.
Steg 6: LattePanda - Installera anpassad WakeWord -motor
WAKEWORD -MOTOR
En WakeWord -motor låter Alexa väckas av ett talat ord (vanligtvis '' Alexa ''), istället för att behöva klicka på en knapp. Exempelappen har två alternativ för WakeWord -motorn: Sensory eller KITT. AI wake word -motorer. Implementering av dessa i exempelappen fungerar dock bara för Linux. Båda dessa motorer är också föremål för vissa licenskrav.
Här kommer jag att implementera en anpassad wake word -motor som är baserad på Windows 10: s eget taligenkännings -SDK. Så detta är också fritt från ytterligare licenskrav.
INSTALLERA BERÖK
Microsoft Speech Platform - Runtime (Version 11) https://www.microsoft.com/en-gb/download/details.a…x86_SpeechPlatformRuntime\SpeechPlatformRuntime.msi (32 bit) eller x64_SpeechPlatformRuntime / SpeechPlatformRuntime.msi (64 bitar)
Microsoft Speech Platform-Runtime Languages (version 11)
Min anpassade WakeWord -motor skrevs i C# i Visual Studio 2017. Jag har levererat den slutliga körbara filen här och även källkoden. Om du vill kompilera det själv behöver du också detta:
Microsoft Speech Platform - Software Development Kit (SDK) (Version 11) https://www.microsoft.com/en-gb/download/details….|x86_MicrosoftSpeechPlatformSDK\MicrosoftSpeechPlatformSDK.msi (32 bit) eller x64_MicrosoftSpeechPlatformSDK / MicrosoftSpeechPlatform 64 bitar)
Sätt WakeWordPanda.exe (och alexa_run.bat) i ALEXA -katalogen. Detta program utför följande uppgifter:- Lyssnar på '' Alexa '' väckningsord- Övervakar beröringsingångssensorn- Styr de BLÅ och Vita lysdioderna
Observera att jag utvecklade detta på en annan Windows 10 -dator så att jag inte behövde installera Visual Studio på LattePanda, eftersom jag inte ville använda gigabyte. Jag kopplade en Arduino Uno installerad med StandardFirmata (https://www.lattepanda.com/docs/#SetuptheArduino) till utvecklingsdatorn så att jag också kunde utvecklas med Arduino -ingångar/utgångar. Visual Studio -källkoden bifogas också om du vill ändra och/eller kompilera detta själv.
ÄNDRA JAVA -KUNDEN
Java -klienten behöver några extra rader läggas till i koden. Detta för att lysdioder ska fungera korrekt:
När Alexa lyssnar skickas en PAUSE_WAKE_WORD_ENGINE -signal till WakeWord -motorn. Jag använde den här signalen för att veta när jag skulle slå på den BLÅA (Alexa lyssnande lysdioden). När signalen RESUME_WAKE_WORD_ENGINE tas emot släcks den blå lysdioden och den VITA (Alexa -talande lysdioden) tänds. Den extra koden skickar en annan RESUME_WAKE_WORD_ENGINE -signal när Alexa slutar tala - så att WakeWord -motorn vet när den vita lysdioden ska stängas av.
Navigera till: C: / ALEXA / samples / javaclient / src / main / java / com / amazon / alexa / avs och öppna AVSController.java i din textredigerare. Kopiera koden från den bifogade filen Extra_Code.txt. Det måste sättas in på två ställen:
1. I funktionen public void onAlexaSpeechFinished () direkt efter uttalandet: dependDirectiveThread.unblock ();
2. I funktionen private void handleAudioPlayerDirective (direktivet) direkt före uttalandet: player.handleStop ();
Jag har också ändrat CONFIRM-signalen för att WakeWord-motorn ska veta om Alexa har svarat. Detta för att avbryta en 5 sekunders timeout som uppstår om det inte finns något svar. Kopiera koden från Extra_Code2.txt och sätt in den på ett ställe:
1. I functionpublic void onAlexaSpeechStarted () direkt efter satsen dependDirectiveThread.block ();
Du måste nu kompilera om Java -klienten. Öppna en kommandotolk och navigera till C: / ALEXA / samples / javaclient Enter: mvn install för att kompilera om.
Om du startar Companion Service och Java Alexa -appen som tidigare och sedan också dubbelklickar på WakeWordPanda.exe, vänta på att den ska anslutas, och då ska du kunna aktivera Alexa genom att säga "Alexa".
MICRODOT
Om du ansluter MicroDots USB -kabel till LattePanda enligt diagrammet och ansluter ljudkabeln bör den nu fungera fullt ut. Att tala vaken eller vidröra grillen bör aktivera Alexa och de blå lysdioderna ska tändas. De vita lysdioderna ska tändas när Alexa svarar.
INSTÄLLNING AUTOMATISK KÖRNING
Istället för att skriva in alla kommandon manuellt för att starta allt kan du använda alexa_run.bat -skriptet. Detta väntar på en internetanslutning och anropar sedan de separata modulerna (följetjänst, java-klient, wake-word-motor).
Det sista steget är att få allt att köra automatiskt vid start:
1. Högerklicka på auto-run.bat och välj skapa genväg. Tryck på ctrl+R och skriv shell: start. Detta öppnar startmappen. Dra genvägen du skapade till startmappen.
Alexa körs nu automatiskt vid start (det tar ungefär 30 sekunder att initialisera efter start).
Steg 7: MicroDot för Raspberry Pi
(Om du vill använda en Raspberry Pi 3 istället för en LattePanda).
LADDA NER
Ladda ner Alexa Sample App härifrån:
Tryck på knappen Clone eller Download och ladda ner som.zip. Packa upp så att alexa-ava-sample-app-mappen finns på skrivbordet.
INSTALLERA
Följ de officiella instruktionerna här (notera: konfigurera så att alexa-ava-sample-app-mappen på skrivbordet):
github.com/alexa/alexa-avs-sample-app/wiki…
Det finns gott om guider för att göra detta med en Raspberry Pi på internen. Jag har installerat det här ett par gånger på Raspberry Pi, och ingen gång gick det lika smidigt som att installera på WIndows 10 (ingen överraskning - Linux får mig varje gång). De viktigaste frågorna jag stötte på var:
1. Få ljudet och mikrofonen att fungera korrekt. Se här https://github.com/alexa-pi/AlexaPi/wiki/Audio-set… om du också har dessa problem.
2. Problem med JDK -versionen. Se 4.3 i de officiella instruktionerna och anteckningen i pom.xml -filen som talar om att åsidosätta versionen vid kommandot mvn exec: exec (dvs jag var tvungen att lägga till denna switch -Dalpn -boot.version = 8.1.6.v20151105). Observera att det här kommandot ingår i mitt startskript (alexa_startup.sh).
3. Få Sensory wake word-motorn att fungera (https://github.com/Sensory/alexa-rpi)
När du kan få allt att köra med de manuella kommandona som beskrivs i instruktionerna, fortsätt med MicroDot -installationen.
MICRODOT -ANSLUTNING
Du kan inte ansluta MicroDot direkt till GPIO eftersom den drar för mycket ström. Du behöver: 2x 2N3904 transistorer för att driva lysdioderna, 1x2K2 och 1x3K3 motstånd för att sänka spänningen från touch -sensorn till 3,3V (MicroDot kommer att drivas från 5V -matningen). Se bifogat diagram. Du kanske vill göra ett kretskort för detta, men jag har precis monterat dessa komponenter på baksidan av en 8 -polig honkontakt.
CUSTOM WAKE ENGINE (TOUCH)
Packa upp innehållet i den bifogade zip-mappen till mappen alexa-avs-sample-app. Det finns två filer: wake.py - ett python -skript som är den anpassade (touch) wake engine för MicroDot alexa_autostart.sh - ett script för att köra allt. Högerklicka egenskaper på detta och välj kör: någon på fliken behörigheter.
Du måste installera python för att köra wake -motorn. Du behöver också GPIO-biblioteket (https://makezine.com/projects/tutorial-raspberry-p…) Dessa bör redan installeras i den senaste versionen av Raspbian.
För att köra allt, skriv in terminal: cd/home/pi/Desktop/alexa-avs-sample-appsudo./alexa_startup.sh
SET UP AUTORUN
För att konfigurera Alexa för att köras automatiskt vid uppstart, öppna en terminal och skriv:
cd /home/pi/.config/lxsession/LXDE-pisudo nano autostart
och lägg till raden och spara:
@/home/pi/Desktop/alexa-avs-sample-app/alexa_autostart.sh
Starta om och Alexa-appen ska köras automatiskt.
Rekommenderad:
Väggfäste för iPad som kontrollpanel för hemautomation, med servostyrd magnet för att aktivera skärmen: 4 steg (med bilder)
Väggfäste för iPad Som kontrollpanel för hemautomation, med servostyrd magnet för att aktivera skärmen: På senare tid har jag ägnat ganska mycket tid åt att automatisera saker i och runt mitt hus. Jag använder Domoticz som min hemautomationsapplikation, se www.domoticz.com för mer information. I min sökning efter en instrumentpanelapplikation som visar all Domoticz -information tillsammans
DIY LED-fotometer med Arduino för fysik eller kemilektioner: 5 steg (med bilder)
DIY LED-fotometer Med Arduino för fysik eller kemilektioner: Hej! Vätskor eller andra föremål verkar färgade eftersom de reflekterar eller överför vissa färger och i sin tur sväljer (absorberar) andra. Med en så kallad fotometer kan de färger (våglängder) bestämmas som absorberas av vätskor. Den grundläggande pr
Använd Cortana och en Arduino för att styra RGB -lysdioder eller Ledstrips med din röst !: 4 steg (med bilder)
Använd Cortana och en Arduino för att styra RGB -lysdioder eller Ledstrips med din röst !: I den här instruerbara filmen visar jag dig hur du kan styra din RGB -LED eller LED -remsa med din röst. Detta görs av CoRGB -appen som är tillgänglig gratis i Windows App Store. Denna app är en del av mitt CortanaRoom -projekt. När du är klar med
Gör bilder sömlösa endast horisontellt eller vertikalt (för "The GIMP").: 11 steg (med bilder)
Gör bilder sömlösa endast horisontellt eller vertikalt (för "The GIMP") .: Om du försöker plug-in "Gör sömlösa" i GIMP, blir bilden sömlös både horisontellt och vertikalt samtidigt. Det tillåter dig inte att göra det sömlöst i bara en dimension. Denna instruerbara hjälper dig att göra bilder
Förstärkare för gitarrförstärkare för hel- eller halvstack med separata huvuden och mer: 5 steg
Gitarrförstärkare Tilt -stativ för hel- eller halvstaplar med separata huvuden och mer.: Jag vet att jag är galen, men jag är okej med det. Jag byggde detta för att testa några teorier. Jocken på den lokala musikbutiken skulle inte låta mig lägga sina dyrbara nya Marshall -stackar på detta och sprang iväg mig. Jag kan inte riktigt skylla på honom för att han är så småsinnig