Tartalomjegyzék:

"MicroDot" a LattePanda (vagy a Raspberry Pi) számára: 7 lépés (képekkel)
"MicroDot" a LattePanda (vagy a Raspberry Pi) számára: 7 lépés (képekkel)

Videó: "MicroDot" a LattePanda (vagy a Raspberry Pi) számára: 7 lépés (képekkel)

Videó:
Videó: [MLAB.VN - Học MicroPython] Lập trình LED Button trên ESP8266 với MicroPython #Shorts 2024, Július
Anonim
Kép
Kép

A MicroDot egy házi készítésű Alexa „gomb”, amelyet LattePanda vagy Raspberry Pi csatlakoztatására terveztek, telepítve az Alexa Sample App alkalmazással. Ez egy kisméretű hangszóró LED -ekkel és érintés/beszéd aktiválással, és ideális asztali vagy autós használatra.

*A LattePandát ehhez a projekthez a DFRobot biztosította:

1. lépés: A rendszer áttekintése

Rendszer áttekintő
Rendszer áttekintő

LATTE PANDA

A LattePanda egy kicsi (körülbelül egy Raspberry Pi méretű) Windows 10 számítógép, beépített Arduino-val a valós világhoz való kapcsolódáshoz. Valóban nagyon ügyes - és jó helyettesítője a Raspberry Pi -nek - különösen akkor, ha Önnek (mint nekem) problémái vannak a Linux kezelésével.

Telepítettem az Alexa Sample App alkalmazást a Pandára, és megvalósítottam saját ébresztő szó motoromat a Windows beépített beszédfelismerő SDK-ján alapulva.

MICRODOT

A MicroDot egy kis erősítőből és hangszóróból áll, érintésérzékeny rácsos és kék/fehér LED-elrendezéssel. A MicroDot-ot eredetileg úgy tervezték, hogy az autóm műszerfalára helyezze, hogy az autóban lévő Alexa megoldást nyújtsa (párosítani az előző projektemmel-az Alexa-kompatibilis autórádióval). Az ébresztő szó opció mellett az érintés aktiválását is szerettem volna, mert Alexa nehezen fogja hallani az ébresztő szavamat, ha a zene hangos! (Aktiválás után a Panda jelet küld a sztereónak, hogy csökkentse a hangerőt, miközben Alexa hallgat/beszél).

RASPBERRY PI

Azok számára, akik jobban értenek a "Raspberry Pi" használatához, az útmutató végén leírtam, hogyan illeszthető össze a MicroDot egy Rapsberry Pi 3 készülékkel.

2. lépés: MicroDot áramkör

MicroDot áramkör
MicroDot áramkör
MicroDot áramkör
MicroDot áramkör
MicroDot áramkör
MicroDot áramkör

ALKATRÉSZEK

6 x 220R SMD ellenállás 2 x 470R SMD ellenállás 1 x 10uF SMD kondenzátor 1 x TTP223 érintésérzékelő modul (https://www.ebay.com/itm/192097635565) 1 x PAM8403 3W erősítő modul (https://www.ebay.com/ itm/221895096190) 1 x 10K egy lineáris hüvelykujj -potenciométer (https://www.ebay.com/itm/401105807680) 1 x 50pF kerámia kondenzátor 3 x 3 mm -es kék LED -ek 3 x 3 mm -es fehér LED -ek 1 x 1,7 hüvelykes 4 ohmos 3 W -os hangszóró régi fülhallgató 1 x vékony fekete 1 m -es USB hosszabbító kábel*

ÉPÍTKEZÉS

A MicroDot PCB -t vas -toner módszerrel készítették 0,8 mm vastag egyoldalas táblán - ennél a vastagságnál éles ollóval nagyjából formára vágható, majd könnyen formázható. Először szerelje fel az összes felületre szerelhető alkatrészt.

Egy vezetéket kell csatlakoztatni az érzékelő érintőfelületéhez, ezért egy kis területet le kell kaparni a forrasztáshoz. Azt tapasztaltam, hogy nyers üzemmódjában az érzékelő túlságosan érzékeny volt - jól működött, de miután a házba szerelték, gyakran hamisan váltott ki a fém hangszóróhoz való közelsége miatt. Földeltem a fém hangszórót - ami némileg segített, de végül hivatkoznom kellett az adatlapra.

A TTP223 adatlapja azt állítja, hogy az érzékenységet úgy állíthatja be, hogy egy kondenzátort (0–50 pf) helyez az érintésérzékelő és a föld közé. Az érzékelő 50pf kondenzátorral jól működött. Ennek elhelyezését a következő szakasz képén láthatja.

A MicroDot és a Panda csatlakoztatásához két kábelt használnak:- egy vékony fekete kábelt egy régi fülhallgatóból az audio csatlakoztatásához- egy vékony USB kábelt használt a GPIO csatlakoztatásához (érintőérzékelő/LED-ek). Szükséged lesz egy kábelre 6 külön csatlakozóval (5 belső + árnyékolás). *Vigyázzon, hogy egyes olcsó USB-kábeleknek nincs külön földelőcsapjuk/-pajzsuk, vagy ez a kettő csatlakoztatható belülről (ellenőrizze ezt, mielőtt elvágja a kábelt, és győződjön meg arról, hogy folytonosság van a hüvely és a hüvely külső fémrészei között) dugók, és hogy nincs folytonosság a földelőcsap és a külső fém alkatrészek között).

Használja az USB -kábelcsatlakozásokat: piros =+5v, pajzs = GND, fekete = érintésérzékelő, fehér = fehér LED -ek, zöld = kék LED -ek. Ahelyett, hogy csak levágná a mopszokat és keményen bekötné, érdemes azt tennie, amit én és tartsa a dugókat be, és vágjon el egy hosszú és egy rövid (mondjuk 200 mm) részt, és dugja össze a kábel két végét. Így az egység leválasztható. Csak ügyeljen arra, hogy ne csatlakoztasson semmilyen tényleges USB -eszközt, vagy egy normál USB -porthoz!

3. lépés: MicroDot felépítés

MicroDot konstrukció
MicroDot konstrukció
MicroDot konstrukció
MicroDot konstrukció
MicroDot konstrukció
MicroDot konstrukció
MicroDot konstrukció
MicroDot konstrukció

3D NYOMTATOTT RÉSZEK

A mellékelt zip fájlban négy 3D nyomtatott rész található: 1. Fő MicroDot héj - fekete PLA2 nyomtatással. MicroDot alap - fekete PLA3 nyomtatással. LED gyűrű - fehér PLA -val nyomtatva (átlátszó vagy áttetsző lehet a fény egyenletesebb eloszlatása érdekében) 4. NYÁK -távtartó - bármilyen színű - a hangszóró és a NYÁK között.

M2 csavarokat és anyákat használnak az alap csavarozásához a héjhoz. Három M2 csavart kell beleolvasztani a héj belsejében lévő résekbe. Ezek meglehetősen kicsik, és előfordulhat, hogy néhány további izzószállal a helyükre kell őket forrasztani.

LED ARRAY

A fehér és kék LED -ek felváltva vannak felszerelve a tömbbe, ahogy a képeken is látható. A vezetékeket 90 fokban hajlítják a LED aljához, és a vezetékeket forró forrasztópáka segítségével a gyűrűbe olvasztják (vegye figyelembe a polaritást). A LED -ek alja le van reszelve, így laposak a gyűrű felületéhez.

A LED-ek katódjai egy vezetékgyűrűvel vannak összekötve, és ezek a fejléc legalsó csapjához csatlakoznak. A fejléc többi csapjának váltakozóan kék/fehérnek kell lennie minden egyes LED -hez

ÖSSZEHÚZVA

A grill egy asztali papírtartóból (a képen) lett levágva, egyik széléhez forrasztott dróttal. Ezt először a burkolatba, majd a LED -tömbbe kell behelyezni (ezt az ábrán látható szögben kell behelyezni, a nyílást az egyik csavaroszlophoz igazítva). A hangszóró következik (tegyen vékony szalagot a tetejére, hogy szigetelje a NYÁK szélétől). Ezután a távtartó és a NYÁK csak felül ül. Csavarja fel az alapot, hogy minden együtt maradjon.

Amikor csatlakoztatta az audio kábelt a LattePanda -hoz, azt tapasztaltam, hogy a jó hangzás érdekében használnom kell a földi hurok szűrőt (https://www.ebay.com/itm/371801191297). Ne feledje, hogy a fényképeken a HDMI-VGA videokártyám hangkimenetét használom, de a fedélzeti hangkimeneti aljzat használata megfelelő.

Szüksége lesz egy usb mikrofonra is (https://www.ebay.com/itm/332148968227).

4. lépés: A LattePanda

A LattePanda
A LattePanda
A LattePanda
A LattePanda

BEÁLLÍT

A Panda 2G/32G és 4G/64G modellekben kapható, Windows 10 licenccel vagy anélkül. Az általam használt modell a 2G/32G verzió volt, Windows 10 licenccel:

Kérjük, tekintse meg a LattePanda beállításának hivatalos dokumentációját (https://docs.lattepanda.com) Nincs itt semmi túl bonyolult, de vegye figyelembe a Panda bekapcsolására vonatkozó utasításokat (https://docs.lattepanda.com/ content/getStarted/powe …).

Minden úgy tűnt, először működik számomra (ami szép változás a Raspberry Pi tapasztalataimhoz képest).

Az egyik fontos dolog az, hogy valóban szüksége van valamilyen hűtésre a Panda számára. Alul-felül ragasztós hűtőbordákat használtam (az alsó rész különösen felforrósodik).

Ez a diagram részletezi az Arduino bemeneteket és kimeneteket: https://docs.lattepanda.com/content/hardware/inputs… A bal oldali 3 tűs csatlakozók tömbjét fogjuk használni a MicroDot csatlakoztatásához (D9, D10 és D11), valamint az audio kimeneti csatlakozó.

5. lépés: LattePanda - Telepítse az Alexa Mintaalkalmazást

LattePanda - Telepítse az Alexa Mintaalkalmazást
LattePanda - Telepítse az Alexa Mintaalkalmazást

LETÖLTÉS

Az Alexa Sample App itt érhető el:

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

Nyomja meg a Klón vagy a Letöltés gombot, és töltse le.zip formátumban

Hozzon létre egy könyvtárat a C meghajtón: / ALEXA, és bontsa ki a zip tartalmát úgy, hogy a mintáknak nevezett tömörített könyvtár közvetlenül az ALEXA könyvtárban legyen (azaz C: / ALEXA / sample \…)

TELEPÍTÉS

A hivatalos telepítési utasítások a Windows rendszerre vonatkozóan itt találhatók:

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

Elég sok lépés van, és egy kis időbe telik, de azt tapasztaltam, hogy a Windows rendszerrel minden simán ment először.

Néhány konfigurációs fájl szerkesztéséhez jó szövegszerkesztőre lesz szüksége (a Jegyzettömb nem jó, mivel a fájlok Linux stílusú sorvégződéssel rendelkeznek). Notepad ++ -ot használtam, amely itt érhető el:

Néhány megjegyzés a hivatalos utasításokkal kapcsolatban:

3. rész - Függőségek

A Panda 64 bites, ezért letöltöttem az összes 64 bites verziót, de ha 32 bites rendszerre telepít, akkor a 32 bites verziókat kell használnia. Megjegyzés: ne keverje a függőségek 32 és 64 bites verzióit.

A VLC médialejátszóra mutató link 32 bites verzióra visz. A 64 bites verzió beszerzéséhez kattintson erre a linkre: https://www.videolan.org/vlc/download-windows.html, majd a letöltés gombra kattintva válassza ki a nyilat, majd a Telepítő 64 bites verzióhoz lehetőséget.

A JDK telepítéséhez a következő verziót használtam: jdk-8u144-windows-x64 A nodejs esetében: Windows Installer (.msi) 64 bit A Maven esetében: apache-maven-3.5.0-bin.zip

5. rész - Hitelesítési módszer

Válassza az 5a - Nodejs szerver lehetőséget. Ha hibaüzenetet kap az npm parancs futtatásakor, akkor hozzá kell adnia a nodejs könyvtárat az útvonal környezeti változójához (ezt az utasításokban ismertetjük).

6. rész - A mintaalkalmazás futtatása

A config.json fájl szerkesztésekor állítsa a wakeWordAgentEnabled értékét true -ra, mivel a következő részben egyéni ébresztő szómotort fogunk telepíteni (a mintaalkalmazásban szereplő wake word motor csak Linuxon működik).

Ha hibaüzenetet kap az mvn parancs futtatásakor, akkor hozzá kell adnia a maven / bin könyvtárat az elérési út környezeti változójához.

Az alkalmazás futtatásakor meg kell kapnia a képernyőképen látható GUI -t. Ha rákattint az ikonra, beszélhet Alexával. Ez az alapvető Alexa alkalmazás - de ennél többre lesz szükségünk!

A következő lépések az egyéni ébresztő szó motorjának telepítése, így csak az "Alexa" mondható az aktiváláshoz, és lehetőség van az érintőérzékelő használatára az Arduino bemeneten keresztül. Azt is be kell állítanunk, hogy az alkalmazás indításkor automatikusan fusson, és néhány LED-t világítsunk, amikor Alexa hallgat és beszél.

6. lépés: LattePanda - Egyéni WakeWord motor telepítése

LattePanda - Egyéni WakeWord motor telepítése
LattePanda - Egyéni WakeWord motor telepítése

WAKEWORD MOTOR

A WakeWord motor lehetővé teszi Alexa felébresztését egy kimondott szóval (általában '' Alexa ''), ahelyett, hogy egy gombra kellene kattintania. A mintaalkalmazásnak két lehetősége van a WakeWord motorhoz: Sensory vagy KITT. AI wake word motorok. A mintaalkalmazásban való megvalósítás azonban csak Linux esetén működik. Mindkét motorra bizonyos licenckövetelmények is vonatkoznak.

Itt egy egyedi ébresztő szómotort fogok megvalósítani, amely a Windows 10 saját beszédfelismerő SDK -ján alapul. Tehát ez sem tartalmaz további licenckövetelményeket.

FÜGGETLENSÉGEK TELEPÍTÉSE

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

Microsoft Speech Platform-Runtime Languages (Változat 11)

Az egyéni WakeWord motoromat C# nyelven írtam a Visual Studio 2017 -ben. Itt megadtam a végső végrehajtható fájlt és a forráskódot is. Ha saját maga szeretné összeállítani, akkor erre is szüksége lesz:

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

Tegye a WakeWordPanda.exe fájlt (és alexa_run.bat) az ALEXA könyvtárba. Ez a program a következő feladatokat látja el:- Hallgatja az „Alexa” ébresztő szót- Figyelemmel kíséri az érintéses bemeneti érzékelőt- Vezérli a KÉK és FEHÉR LED-eket

Ne feledje, hogy ezt egy másik Windows 10 számítógépen fejlesztettem ki, így nem kellett telepítenem a Visual Studio alkalmazást a LattePanda -ra, mivel nem akartam kihasználni a gigabájtokat. Csatlakoztattam egy StandardFirmata (https://www.lattepanda.com/docs/#SetuptheArduino) szoftverrel telepített Arduino Uno eszközt a fejlesztő számítógéphez, hogy az Arduino bemenet/kimenetek segítségével is fejlődhessek. A Visual Studio forráskódja is csatolva van, ha ezt saját maga szeretné módosítani és/vagy lefordítani.

A JAVA ÜGYFÉL MÓDOSÍTÁSA

A Java kliensnek néhány extra sort kell hozzáadnia a kódhoz. Ez lehetővé teszi a LED -ek megfelelő működését:

Amikor Alexa hallgat, PAUSE_WAKE_WORD_ENGINE jelet küld a WakeWord motornak. Ezzel a jelzéssel tudtam, hogy mikor kell bekapcsolni a KÉKET (Alexa figyelő LED). Amikor a RESUME_WAKE_WORD_ENGINE jel érkezik, a kék LED kialszik, és a FEHÉR (Alexa beszélő LED) világít. Az extra kód újabb RESUME_WAKE_WORD_ENGINE jelet küld, amikor Alexa abbahagyja a beszédet - így a WakeWord motor tudja, mikor kell kikapcsolni a fehér LED -et.

Keresse meg: C: / ALEXA / sample / javaclient / src / main / java / com / amazon / alexa / avs, és nyissa meg az AVSController.java fájlt a szövegszerkesztőben. Másolja ki a kódot a mellékelt Extra_Code.txt fájlból. Két helyre kell behelyezni:

1. A public void onAlexaSpeechFinished () függvényben közvetlenül az utasítás után: dependentDirectiveThread.unblock ();

2. A private void handleAudioPlayerDirective (direktíva irányelv) függvényben közvetlenül a következő utasítás előtt: player.handleStop ();

A CONFIRM jelzést is újraterveztem, hogy a WakeWord motor megtudja, válaszolt-e Alexa. Ezzel törli az 5 másodperces időtúllépést, amely akkor jelentkezik, ha nincs válasz. Másolja ki a kódot az Extra_Code2.txt fájlból, és illessze be egy helyre:

1. A functionpublic void onAlexaSpeechStarted () függvényében közvetlenül a dependensDirectiveThread.block () utasítás után;

Most újra kell fordítania a Java klienst. Nyisson meg egy parancssort, és navigáljon a C: / ALEXA / sample / javaclient menüpontba: Enter: mvn install to compile.

Ha a korábbi módon indítja el a Companion Service és a Java Alexa alkalmazást, majd kattintson duplán a WakeWordPanda.exe fájlra, várja meg, amíg csatlakozik, majd aktiválnia kell az Alexát az "Alexa" kimondásával.

MICRODOT

Ha a MicroDot „USB” kábelét az ábrán látható módon csatlakoztatja a LattePanda készülékhez, és csatlakoztatja az audio kábelt, akkor annak teljesen működőképesnek kell lennie. Az ébresztő szó kimondása vagy a grill megérintése aktiválja az Alexát, és a kék LED-eknek világítaniuk kell. A fehér LED -eknek fel kell gyulladniuk, amikor Alexa válaszol.

SETUP AUTO RUN

Ahelyett, hogy minden indításhoz kézzel beírná az összes parancsot, használhatja az alexa_run.bat parancsfájlt. Ez megvárja az internetkapcsolatot, majd meghívja a különálló modulokat (kísérőszolgáltatás, java kliens, wake-word motor).

Az utolsó lépés az, hogy minden automatikusan elindul az indításkor:

1. Kattintson jobb gombbal az auto-run.bat elemre, és válassza a parancsikon létrehozása lehetőséget. Nyomja meg a ctrl+R billentyűt, és írja be a shell: startup parancsot. Ez megnyitja az indítási mappát.3. Húzza a létrehozott parancsikont az indítási mappába.

Az Alexa most automatikusan elindul az indításkor (körülbelül 30 másodpercig tart az inicializálás az indítás után).

7. lépés: MicroDot a Raspberry Pi számára

MicroDot a Raspberry Pi számára
MicroDot a Raspberry Pi számára
MicroDot a Raspberry Pi számára
MicroDot a Raspberry Pi számára

(Ha Rasteberry Pi 3 -at szeretne használni LattePanda helyett).

LETÖLTÉS

Töltse le az Alexa Sample App alkalmazást innen:

Nyomja meg a Klón vagy a Letöltés gombot, és töltse le.zip formátumban. Csomagolja ki úgy, hogy az alexa-ava-sample-app mappa az Asztalon legyen.

TELEPÍTÉS

Kövesse a hivatalos teljes utasításokat itt (megjegyzés: állítsa be úgy, hogy az alexa-ava-sample-app mappa legyen az asztalon):

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

Rengeteg útmutató található ehhez a Raspberry Pi segítségével. Ezt már párszor telepítettem a Raspberry Pi -re, és az idő sem ment olyan simán, mint a WIndows 10 -re történő telepítés (nem meglepő - a Linux minden alkalommal megkapja). A fő problémákkal találkoztam:

1. Az audio és a mikrofon megfelelő működésének biztosítása. Lásd itt: https://github.com/alexa-pi/AlexaPi/wiki/Audio-set…, ha Önnek is vannak ilyen problémái.

2. Problémák a JDK verzióval. Lásd a 4.3 -at a hivatalos utasításokban, és a pom.xml fájlban található megjegyzést, amely a verzió felülbírálásáról szól az mvn exec: exec parancs végrehajtásakor (azaz hozzá kellett adnom ezt a kapcsolót -Dalpn -boot.version = 8.1.6.v20151105). Ne feledje, hogy ez a parancs szerepel az indítási parancsfájlomban (alexa_startup.sh).

3. Az érzékelő ébresztő szó motorjának működtetése (https://github.com/Sensory/alexa-rpi)

Miután mindent elvégezhet az utasításokban leírt kézi parancsokkal, folytassa a MicroDot telepítésével.

MICRODOT CSATLAKOZÁS

A MicroDot nem csatlakoztatható közvetlenül a GPIO -hoz, mert túl sok áramot fogyaszt. Szüksége lesz: 2x 2N3904 tranzisztorra a LED -ek meghajtásához, 1x2K2 és 1x3K3 ellenállásokra, hogy csökkentse az érintésérzékelő feszültségét 3,3V -ra (a MicroDot 5V -os tápfeszültségről táplálkozik). Lásd a mellékelt diagramot. Lehet, hogy PCB -t szeretne készíteni ehhez, de én most szereltem fel ezeket az alkatrészeket egy 8 tűs dugasz hátoldalára.

EGYEDI WAKE MOTOR (ÉRINTŐ)

Csomagolja ki a mellékelt zip mappa tartalmát az alexa-avs-sample-app mappába. Két fájl létezik: wake.py - egy python -szkript, amely a MicroDot alexa_autostart.sh egyedi (érintéses) ébresztőprogramja - egy parancsfájl, amely mindent futtat. Kattintson a jobb gombbal a tulajdonságokra, és válassza a végrehajtás: bárki lehetőséget az engedélyek lapon.

Az ébresztő motor futtatásához telepíteni kell a python programot. Szüksége lesz a GPIO könyvtárra is (https://makezine.com/projects/tutorial-raspberry-p…) Ezeket már telepíteni kell a Raspbian legújabb verziójába.

Minden futtatásához írja be a terminálba: cd/home/pi/Desktop/alexa-avs-sample-appsudo./alexa_startup.sh

SET UP AUTORUN

Ha be szeretné állítani, hogy az Alexa automatikusan fusson a rendszerindításkor, nyisson meg egy terminált, és írja be:

cd /home/pi/.config/lxsession/LXDE-pisudo nano automatikus indítás

és adja hozzá a sort, és mentse:

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

Az újraindításnak és az Alexa alkalmazásnak automatikusan futnia kell.

Ajánlott: