Съдържание:

"MicroDot" за LattePanda (или Raspberry Pi): 7 стъпки (със снимки)
"MicroDot" за LattePanda (или Raspberry Pi): 7 стъпки (със снимки)

Видео: "MicroDot" за LattePanda (или Raspberry Pi): 7 стъпки (със снимки)

Видео:
Видео: [MLAB.VN - Học MicroPython] Lập trình LED Button trên ESP8266 với MicroPython #Shorts 2024, Ноември
Anonim
Образ
Образ

MicroDot е домашен бутон на Alexa, предназначен за свързване към LattePanda или Raspberry Pi, с инсталирано приложение Alexa Sample. Това е малък високоговорител със светодиоди и сензорно/речево активиране и е идеален за използване на настолен компютър или в кола.

*LattePanda за този проект беше любезно предоставен от DFRobot

Стъпка 1: Общ преглед на системата

Общ преглед на системата
Общ преглед на системата

LATTE PANDA

LattePanda е малък (с размерите на Raspberry Pi) компютър с Windows 10 с вграден Arduino за взаимодействие с реалния свят. Наистина е доста изящен - и е добър заместител на Raspberry Pi - особено ако вие (като мен) имате проблеми с овладяването на Linux.

Инсталирах приложението Alexa Sample App върху Panda и внедрих свой собствен механизъм за събуждане на думи, базиран на вградения в Windows SDK за разпознаване на реч.

MICRODOT

MicroDot се състои от малък усилвател и високоговорител с чувствителна на допир грил и синьо/бял LED масив. Първоначално MicroDot е проектиран да бъде поставен на таблото в колата ми, за да осигури моето решение Alexa в колата (за да се сдвои с предишния ми проект-стерео уредба за кола с Alexa). Освен че имам опция за събуждане, исках активиране с докосване, защото Алекса ще има трудности да чуе будката ми, когато музиката е на висок глас! (След като бъде активиран, Panda ще изпрати сигнал към стерео уреда, за да намали силата на звука, докато Alexa слуша/говори).

МАЛИНА PI

За тези, които владеят по -добре „Raspberry Pi“, описах в края на тази инструкция как да се свърже MicroDot с Rapsberry Pi 3.

Стъпка 2: Микродот верига

Микродот верига
Микродот верига
Микродот верига
Микродот верига
Микродот верига
Микродот верига

ЧАСТИ

6 x 220R SMD резистори 2 x 470R SMD резистори 1 x 10uF SMD кондензатор 1 x TTP223 сензорен сензорен модул (https://www.ebay.com/itm/192097635565)1 x PAM8403 3W усилвател модул (https://www.ebay.com/ itm/221895096190) 1 x 10K единичен линеен потенциометър (https://www.ebay.com/itm/401105807680)1 x 50pF керамичен кондензатор 3 x 3 мм сини светодиоди 3 x 3 мм бели светодиоди 1 x 1,7 инча 4ohm 3W високоговорител 1 x тънък черен кабел от стари слушалки 1 x тънък черен 1м USB удължителен кабел*

СТРОИТЕЛСТВО

PCD MicroDot е направен по метода на желязо върху тонер върху едностранна плоча с дебелина 0,8 мм - при тази дебелина може да се нарязва грубо за оформяне с остри ножици и след това лесно да се подава във форма. Първо монтирайте всички компоненти за повърхностно монтиране.

Необходимо е да се свърже проводник към допирната повърхност на сензора, така че трябва да се изстърже малка площ, за да се запои. Открих, че в суровия си режим сензорът е твърде чувствителен - работи добре, но след като е монтиран в кутията, често се задейства фалшиво поради близостта си до металния високоговорител. Заземих металния високоговорител - което донякъде помогна, но в крайна сметка трябваше да се обърна към листа с данни.

Информационният лист TTP223 посочва, че можете да регулирате чувствителността, като поставите кондензатор (0 до 50pf) между сензора за докосване и земята. Сензорът работи добре с 50pf кондензатор. Можете да видите разположението на това на снимката в следващия раздел.

Два кабела се използват за свързване на MicroDot към Panda:- тънък черен кабел от стара двойка слушалки за свързване на аудиото- използван е тънък USB кабел за свързване към GPIO (сензор за докосване/светодиоди). Ще ви е необходим кабел с 6 отделни конектора (5 вътрешни + щит). *Внимавайте, че някои евтини USB кабели нямат отделен заземяващ щифт/щит или тези два могат да бъдат свързани вътрешно (проверете това, преди да изрежете кабела си, като се уверите, че има непрекъснатост между външните метални части на мъжкия и женския щепсели и че няма непрекъснатост между заземяващия щифт и външните метални части).

Използвайте USB кабелните връзки: червено =+5v, щит = GND, черно = сензор за докосване, бяло = бели светодиоди, зелено = синьо светодиоди. и задръжте щепселите и отрежете една дълга секция и една къса (да речем 200 мм) секция и включете двата края на кабела заедно. По този начин устройството може да се разглобява. Просто се уверете, че не включвате никакви реални USB устройства към него или го включвате в обикновен USB порт!

Стъпка 3: Конструкция на MicroDot

Конструкция на MicroDot
Конструкция на MicroDot
Конструкция на MicroDot
Конструкция на MicroDot
Конструкция на MicroDot
Конструкция на MicroDot
Конструкция на MicroDot
Конструкция на MicroDot

3D РАЗПЕЧАТАНИ ЧАСТИ

В прикачения zip файл има четири 3D отпечатани части: 1. Основна обвивка MicroDot - отпечатана в черен PLA2. MicroDot база - отпечатана в черно PLA3. LED пръстен - отпечатан в бял PLA (прозрачен или полупрозрачен може да е по -добре да помогне за по -равномерното разсейване на светлината) 4. Разделител за печатни платки - всеки цвят - поставен между високоговорител и печатна платка.

Болтове и гайки M2 се използват за завинтване на основата към корпуса. Три болта M2 трябва да се стопят в процепите от вътрешната страна на корпуса. Те са доста малки и може да се наложи да ги „запоите“на място с допълнителна нишка.

LED АРТИК

Белите и сините светодиоди се монтират последователно в масива, както е показано на снимките. Кабелите се огъват на 90 градуса спрямо дъното на светодиода и проводниците се стопяват в пръстена с горещ поялник (обърнете внимание на полярността тук). Дъното на светодиодите е подадено надолу, така че да са плоски към повърхността на пръстена.

Катодите на светодиодите са свързани заедно с пръстен от тел и те се свързват с най-долния щифт на заглавката. Другите щифтове на заглавката трябва да са алтернативно синьо/бяло за всеки отделен светодиод

СЪЕДИНЯВАНЕ

Скарата е изрязана от настолен държач за хартия (на снимката) с тел, запоена към единия ръб. Това първо се вкарва в корпуса, след това в LED решетката (това трябва да се постави под ъгъл, както е показано, като слотът е подравнен с един от винтовите стойки). Следващия е високоговорителят (поставете тънка лента отгоре, за да го изолирате от ръба на печатната платка). След това дистанционерът и печатната платка просто седят отгоре. Завийте основата, за да държите всичко заедно.

Когато включих аудио кабела в LattePanda, установих, че трябва да използвам филтър за заземяване на аудио (https://www.ebay.com/itm/371801191297), за да получа добър звук. Обърнете внимание, че на снимките използвам аудио изхода на моя HDMI-VGA видео адаптер, но е добре да използвам вградения жак за аудио изход.

Ще ви е необходим и USB микрофон (https://www.ebay.com/itm/332148968227).

Стъпка 4: LattePanda

LattePanda
LattePanda
LattePanda
LattePanda

НАСТРОЙВАМ

Panda се предлага в модели 2G/32G и 4G/64G, със или без лиценз за Windows 10. Моделът, който използвах, беше 2G/32G версията с лиценз за Windows 10:

Моля, вижте официалната документация за настройка на вашата LattePanda (https://docs.lattepanda.com) Тук няма нищо твърде сложно, но обърнете внимание на инструкциите за включване на вашата Panda (https://docs.lattepanda.com/ content/getStarted/powe …).

Изглежда, че всичко работи за първи път при мен (което е хубава промяна от моя опит с Raspberry Pi).

Едно важно нещо е, че наистина се нуждаете от някакъв вид охлаждане за Panda. Използвах някои залепващи радиатори отгоре и отдолу (долната страна става особено гореща).

Тази диаграма описва входовете и изходите на Arduino: https://docs.lattepanda.com/content/hardware/inputs… Ще използваме масива от 3-пинови конектори от лявата страна за свързване към MicroDot (D9, D10 и D11), както и жака за аудио изход.

Стъпка 5: LattePanda - Инсталирайте Alexa Sample App

LattePanda - Инсталирайте Alexa Sample App
LattePanda - Инсталирайте Alexa Sample App

ИЗТЕГЛИ

Примерното приложение Alexa е достъпно тук:

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

Натиснете бутона Clone или Download и изтеглете като.zip

Създайте директория на диск C C: / ALEXA и извлечете съдържанието на ципа, така че директорията с цип, наречена sample, да седи директно в директорията ALEXA (т.е. C: / ALEXA / sample \…)

МОНТАЖ

Официалните пълни инструкции за инсталиране на Windows са тук:

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

Има доста стъпки и отнема малко време, но открих, че с Windows всичко мина гладко за първи път.

Ще ви е необходим добър текстов редактор, за да редактирате някои от конфигурационните файлове (Notepad не е добър, тъй като файловете имат завършване на ред в стил Linux). Използвах Notepad ++, който е достъпен тук:

Няколко бележки относно официалните инструкции:

Част 3 - Зависимости

Моята Panda е 64 -битова, затова изтеглих всички 64 -битови версии, но ако инсталирате на 32 -битова система, ще трябва да използвате 32 -битовите версии. Забележка: не смесвайте 32 и 64 битови версии на зависимостите.

Връзката, показана за VLC media player, ще ви отведе до 32 -битова версия. За да получите 64-битовата версия, отидете на тази връзка: https://www.videolan.org/vlc/download-windows.html и върху бутона за изтегляне изберете стрелката и след това Инсталатор за 64-битова версия.

За инсталиране на JDK използвах версия: jdk-8u144-windows-x64 За nodejs използвах: Windows Installer (.msi) 64 bit За Maven: apache-maven-3.5.0-bin.zip За OpenSSL използвах: Win64 OpenSSL v1.1.0f

Част 5 - Метод за удостоверяване

Изберете 5a - Nodejs сървър. Ако получите грешка при изпълнение на командата npm, тогава трябва да добавите вашата директория nodejs към променливата на средата на пътя (обяснено е в инструкциите как да направите това).

Част 6 - Стартиране на примерното приложение

Когато редактирате файла config.json, задайте wakeWordAgentEnabled на true, тъй като в следващия раздел ще инсталираме персонализиран механизъм за събуждане на думи (механизмът за събуждане на думи, включен в примерното приложение, работи само с Linux).

Ако получите грешка при изпълнението на командата mvn, тогава трябва да добавите директорията maven / bin към променливата на средата на пътя.

Когато стартирате приложението, трябва да получите графичния интерфейс, показан на екранната снимка. Когато кликнете върху иконата, ще можете да говорите с Alexa. Това е основното приложение на Alexa - но ще имаме нужда от повече от това!

Следващите стъпки ще бъдат да инсталирате персонализиран механизъм за събуждане, така че можете просто да кажете „Alexa“, за да активирате, а също така да имате възможност да използвате сензор за докосване чрез Arduino вход. Също така трябва да направим приложението автоматично да се стартира при стартиране и да светне някои светодиоди, когато Алекса слуша и говори.

Стъпка 6: LattePanda - Инсталирайте персонализиран WakeWord Engine

LattePanda - Инсталирайте персонализиран WakeWord Engine
LattePanda - Инсталирайте персонализиран WakeWord Engine

ДВИГАТЕЛ НА WAKEWORD

Двигателят на WakeWord позволява на Alexa да бъде събудена от произнесена дума (обикновено „Alexa“), вместо да се налага да натиска бутон. Примерното приложение има две опции за двигателя WakeWord: Sensory или KITT. AI събуждащи думи. внедряването им в примерното приложение обаче работи само за Linux. И двата двигателя също са предмет на определени лицензионни изисквания.

Тук ще внедря персонализиран механизъм за събуждане на думи, който се основава на собствения SDK за разпознаване на реч на Windows 10. Така че това също е без никакви допълнителни лицензионни изисквания.

МОНТАЖ ЗАВИСИМОСТИ

Microsoft Speech Platform - Runtime (Версия 11) https://www.microsoft.com/en-gb/download/details.a…x86_SpeechPlatformRuntime\SpeechPlatformRuntime.msi (32 бита) или x64_SpeechPlatformRuntime / SpeechPlatformRuntime.msi

Платформа за говор на Microsoft-езици по време на работа (версия 11)

Моят персонализиран двигател WakeWord е написан на C# във Visual Studio 2017. Тук предоставих крайния изпълним файл, както и изходния код. Ако искате да го компилирате сами, тогава ще ви трябва и това:

Microsoft Speech Platform - Комплект за разработка на софтуер (SDK) (Версия 11) https://www.microsoft.com/en-gb/download/details…. 64 бита)

Поставете WakeWordPanda.exe (и alexa_run.bat) в директорията ALEXA. Тази програма изпълнява следните задачи:- Слуша за събуждаща дума „Alexa“- Следи сензора за въвеждане на докосване- Контролира сините и белите светодиоди

Имайте предвид, че разработих това на друг компютър с Windows 10, така че не трябваше да инсталирам Visual Studio на LattePanda, тъй като не исках да използвам гигабайтите. Свързах Arduino Uno, инсталиран със StandardFirmata (https://www.lattepanda.com/docs/#SetuptheArduino), към компютъра за разработка, за да мога да се развивам и с входа/изхода на Arduino. Изходният код на Visual Studio също е прикачен, ако искате да промените и/или компилирате сами.

ИЗМЕНЕТЕ КЛИЕНТА НА JAVA

Java клиентът се нуждае от няколко допълнителни реда, добавени към кода. Това е за да се даде възможност на светодиодите да работят правилно:

Когато Alexa слуша, сигнал PAUSE_WAKE_WORD_ENGINE се изпраща към механизма на WakeWord. Използвах този сигнал, за да знам кога да включа СИНИЯТ (светодиод за слушане на Alexa). Когато се приеме сигнал RESUME_WAKE_WORD_ENGINE, синият светодиод се изключва и БЯЛИЯТ (светодиод, говорещ Alexa) се включва. Допълнителният код изпраща друг сигнал RESUME_WAKE_WORD_ENGINE, когато Alexa спре да говори - така че двигателят на WakeWord да знае кога да изключи белия светодиод.

Придвижете се до: C: / ALEXA / сэмпли / javaclient / src / main / java / com / amazon / alexa / avs и отворете AVSController.java във вашия текстов редактор. Копирайте кода от прикачения файл Extra_Code.txt. Трябва да се постави на две места:

1. Във функцията public void onAlexaSpeechFinished () директно след израза: dependencyDirectiveThread.unblock ();

2. Във функцията private void handleAudioPlayerDirective (Директива директива) непосредствено преди израза: player.handleStop ();

Също така пренасочих сигнала ПОТВЪРЖДАВАНЕ, така че двигателят на WakeWord да знае дали Alexa е отговорил. Това е за отмяна на 5 секундно изчакване, което ще настъпи, ако няма отговор. Копирайте кода от Extra_Code2.txt и го поставете на едно място:

1. Във функцията public void onAlexaSpeechStarted () директно след израза dependDirectiveThread.block ();

Сега трябва да прекомпилирате Java клиента. Отворете командния ред и отворете C: / ALEXA / samples / javaclient Въведете: mvn install за прекомпилиране.

Ако стартирате Companion Service и приложението Java Alexa както преди и след това щракнете двукратно върху WakeWordPanda.exe, изчакайте да се свърже и след това трябва да можете да активирате Alexa, като кажете „Alexa“.

MICRODOT

Ако свържете „USB“кабела на MicroDot към LattePanda, както е показано на диаграмата, и включете аудио кабела, той вече трябва да е напълно функционален. Изговарянето на будната дума или докосването на скарата трябва да активира Alexa и сините светодиоди трябва да светнат. Белите светодиоди трябва да светнат, когато Алекса реагира.

НАСТРОЙКА AUTO RUN

Вместо да въвеждате всички команди ръчно, за да стартирате всичко, можете да използвате скрипта alexa_run.bat. Това ще изчака интернет връзка и след това ще извика отделните модули (придружаваща услуга, java клиент, механизъм за събуждане на думи).

Последната стъпка е да накарате всичко да работи автоматично при стартиране:

1. Щракнете с десния бутон върху auto-run.bat и изберете създаване на пряк път.2. Натиснете ctrl+R и въведете shell: стартиране. Това ще отвори папката за стартиране. Плъзнете създадения от вас пряк път в стартовата папка.

Alexa сега ще се стартира автоматично при стартиране (отнема около 30 секунди за инициализиране след стартиране).

Стъпка 7: MicroDot за Raspberry Pi

MicroDot за Raspberry Pi
MicroDot за Raspberry Pi
MicroDot за Raspberry Pi
MicroDot за Raspberry Pi

(Ако искате да използвате Raspberry Pi 3 вместо LattePanda).

ИЗТЕГЛИ

Изтеглете приложението Alexa Sample от тук:

Натиснете бутона Clone или Download и изтеглете като.zip. Разархивирайте, така че папката alexa-ava-sample-app да е на работния плот.

МОНТАЖ

Следвайте официалните пълни инструкции тук (забележка: настройте така, че папката alexa-ava-sample-app на работния плот):

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

Има много ръководства за това с Raspberry Pi в интернет. Инсталирах това няколко пъти на Raspberry Pi и нито веднъж не мина толкова гладко, колкото инсталирането на WIndows 10 (не е изненада - Linux ме получава всеки път). Основните проблеми, с които се сблъсках, бяха:

1. Поддържане на правилното функциониране на аудиото и микрофона. Вижте тук https://github.com/alexa-pi/AlexaPi/wiki/Audio-set… ако имате и тези проблеми.

2. Проблеми с JDK версията. Вижте 4.3 в официалните инструкции и бележката във файла pom.xml, която говори за замяна на версията при изпълнение на командата mvn exec: exec (т.е. трябваше да добавя този ключ -Dalpn -boot.version = 8.1.6.v20151105). Обърнете внимание, че тази команда е включена в моя скрипт за стартиране (alexa_startup.sh).

3. Задействане на сензорния двигател за събуждане на думи (https://github.com/Sensory/alexa-rpi)

След като можете да стартирате всичко с ръчните команди, както е посочено в инструкциите, продължете с инсталацията на MicroDot.

МИКРОДОТ ВРЪЗКА

Не можете директно да свържете MicroDot към GPIO, защото той ще извлече твърде много ток. Ще ви трябват: 2 x 2N3904 транзистора за задвижване на светодиодите, 1x2K2 и 1x3K3 резистори за понижаване на напрежението от сензора за докосване до 3.3V (MicroDot ще се захранва от 5V захранването). Вижте приложената диаграма. Може да искате да направите печатна платка за това, но току -що монтирах тези компоненти на гърба на 8 -пинов женски щепсел.

ИЗГОТВЯН ДВИГАТЕЛ ЗА СЪБУДВАНЕ (ДОКОСЕН)

Разархивирайте съдържанието на приложената zip папка в папката alexa-avs-sample-app. Има два файла: wake.py - скрипт на python, който е персонализиран (докосване) механизъм за събуждане за MicroDot alexa_autostart.sh - скрипт, който изпълнява всичко. Щракнете с десния бутон върху свойствата върху това и изберете изпълните: всеки в раздела разрешения.

Ще ви е необходим инсталиран python, за да стартирате машината за събуждане. Ще ви е необходима и библиотеката GPIO (https://makezine.com/projects/tutorial-raspberry-p…) Те вече трябва да са инсталирани в последната версия на Raspbian.

За да стартирате всичко, въведете в терминал: cd/home/pi/Desktop/alexa-avs-sample-appsudo./alexa_startup.sh

НАСТРОЙТЕ AUTORUN

За да настроите Alexa да се стартира автоматично при стартиране, отворете терминал и въведете:

cd /home/pi/.config/lxsession/LXDE-pisudo nano autostart

и добавете реда и запишете:

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

Рестартирайте и приложението Alexa трябва да се стартира автоматично.

Препоръчано: