جدول المحتويات:
2025 مؤلف: John Day | [email protected]. آخر تعديل: 2025-01-13 06:56
MicroDot عبارة عن "زر" محلي الصنع من Alexa مصمم ليتم توصيله بـ LattePanda أو Raspberry Pi ، مع تثبيت تطبيق Alexa Sample App. إنه مكبر صوت صغير مزود بمصابيح LED وتنشيط اللمس / الكلام ، وهو مثالي للاستخدام على سطح المكتب أو في السيارة.
* تم توفير LattePanda لهذا المشروع من قبل DFRobot
الخطوة 1: نظرة عامة على النظام
لاتيه باندا
LattePanda هو كمبيوتر صغير (بحجم Raspberry Pi) يعمل بنظام Windows 10 مزود بـ Arduino مدمج للتفاعل مع العالم الحقيقي. إنه حقًا أنيق للغاية - وهو بديل جيد لـ Raspberry Pi - خاصة إذا كنت (مثلي) تواجه مشاكل في التعامل مع Linux.
لقد قمت بتثبيت تطبيق Alexa Sample App على Panda ، وقمت بتطبيق محرك كلمات التنبيه الخاص بي بناءً على SDK المدمج للتعرف على الكلام في Windows.
مايكروسوفت
يتكون MicroDot من مضخم صوت صغير ومكبر صوت مع شبكة حساسة للمس ومجموعة LED زرقاء / بيضاء. تم تصميم MicroDot في الأصل ليتم وضعه على لوحة القيادة في سيارتي لتوفير حل Alexa داخل السيارة (للاقتران مع مشروعي السابق - استريو السيارة الذي يدعم Alexa). بالإضافة إلى وجود خيار كلمة الاستيقاظ ، كنت أرغب في التنشيط باللمس لأن Alexa سيجد صعوبة في سماع كلمة إيقاظي عندما تكون الموسيقى عالية! (بمجرد التنشيط ، سيرسل Panda إشارة إلى جهاز الاستريو لخفض مستوى الصوت أثناء استماع / تحدث Alexa).
فطيرة التوت
بالنسبة لأولئك الذين يجيدون "Raspberry Pi" ، فقد وصفت في نهاية هذا Instructable كيفية توصيل MicroDot مع Rapsberry Pi 3.
الخطوة 2: حلبة MicroDot
القطع
6 x 220R SMD Resistors2 x 470R SMD Resistors 1 x 10uF SMD Capacitor 1 x TTP223 Touch Sensor Module (https://www.ebay.com/itm/192097635565)1 x PAM8403 3W Amplifier Module (https://www.ebay.com/ itm / 221895096190) 1 × 10K مقياس جهد إبهام خطي واحد (https://www.ebay.com/itm/401105807680) 1 × 50pF مكثف سيراميك 3 × 3 مم LEDs زرقاء 3 × 3 مم LEDs بيضاء 1 × 1.7 بوصة 4ohm مكبر صوت 3 واط 1 × كابل أسود رفيع من سماعات أذن قديمة 1 × كابل تمديد USB رفيع أسود بطول 1 متر *
اعمال بناء
صُنع MicroDot PCB بالحديد على طريقة الحبر على لوح أحادي الجانب بسمك 0.8 مم - عند هذا السُمك يمكن قصه تقريبًا لتشكيله باستخدام مقص حاد ثم وضعه بسهولة في الشكل. قم بتركيب جميع مكونات تثبيت السطح أولاً.
يجب توصيل سلك بسطح اللمس للمستشعر ، لذلك يجب كشط منطقة صغيرة بعيدًا عن اللحام بها. لقد وجدت أنه في وضعه الخام ، كان المستشعر حساسًا للغاية - لقد عمل بشكل جيد ، ولكن بمجرد تثبيته في العلبة ، غالبًا ما تم تشغيله بشكل خاطئ نظرًا لقربه من السماعة المعدنية. لقد قمت بتوصيل السماعة المعدنية - الأمر الذي ساعدني إلى حد ما ، لكن كان علي أن أشير في النهاية إلى ورقة البيانات.
تنص ورقة بيانات TTP223 على أنه يمكنك ضبط الحساسية عن طريق وضع مكثف (0 إلى 50pf) بين مستشعر اللمس والأرض. يعمل المستشعر بشكل جيد مع مكثف 50pf. يمكنك أن ترى موضع هذا في صورة القسم التالي.
يتم استخدام كبلين لتوصيل MicroDot بـ Panda: - كبل أسود رفيع من زوج قديم من سماعات الأذن لتوصيل الصوت - تم استخدام كبل USB رفيع للاتصال بـ GPIO (مستشعر اللمس / مصابيح LED). ستحتاج إلى كابل به 6 موصلات منفصلة (5 موصلات داخلية + درع). * احذر من أن بعض كبلات USB الرخيصة لا تحتوي على دبوس أرضي / درع منفصل ، أو قد يتم توصيل هذين الاثنين داخليًا (تحقق من ذلك قبل قطع الكابل عن طريق التأكد من وجود استمرارية بين الأجزاء المعدنية الخارجية للذكور والإناث المقابس ، وأنه لا يوجد استمرارية بين الدبوس الأرضي والأجزاء المعدنية الخارجية).
استخدم توصيلات كبل USB: أحمر = + 5 فولت ، درع = GND ، أسود = مستشعر باللمس ، أبيض = مصابيح LED بيضاء ، أخضر = أزرق LED. بدلاً من مجرد قطع الصلصال وتوصيلها بالأسلاك الصلبة ، قد ترغب في فعل ما فعلته واحتفظ بالمقابس وقص مقطعًا طويلًا وقسمًا قصيرًا (على سبيل المثال 200 مم) ، وقم بتوصيل طرفي الكبل معًا. بهذه الطريقة تكون الوحدة قابلة للفصل. فقط تأكد من عدم توصيل أي أجهزة USB فعلية به ، أو توصيله بمنفذ USB عادي!
الخطوة الثالثة: إنشاءات MicroDot
أجزاء مطبوعة ثلاثية الأبعاد
هناك أربعة أجزاء مطبوعة ثلاثية الأبعاد في الملف المضغوط المرفق: 1. غلاف MicroDot الرئيسي - مطبوع باللون الأسود PLA2. قاعدة MicroDot - مطبوعة باللون الأسود PLA3. حلقة LED - مطبوعة باللون الأبيض PLA (قد يكون من الأفضل أن تساعد الشفافة أو الشفافة في نشر الضوء بشكل متساوٍ أكثر) 4. فاصل ثنائي الفينيل متعدد الكلور - أي لون - محصور بين السماعة وثنائي الفينيل متعدد الكلور.
تستخدم البراغي والصواميل M2 لربط القاعدة بالقذيفة. يجب صهر ثلاثة مسامير من طراز M2 في الفتحات الموجودة داخل الغلاف. هذه صغيرة جدًا ، وقد تحتاج إلى `` لحامها '' في مكانها باستخدام خيوط إضافية.
صفيف LED
يتم تثبيت المصابيح البيضاء والزرقاء في المصفوفة بالتناوب كما هو موضح في الصور. تنحني الخيوط إلى 90 درجة مقابل الجزء السفلي من LED ويتم صهر الخيوط في الحلقة بمكواة لحام ساخنة (لاحظ القطبية هنا). يتم وضع الجزء السفلي من مصابيح LED لأسفل بحيث تكون مسطحة على سطح الحلقة.
يتم توصيل جميع كاثودات مصابيح LED مع حلقة من الأسلاك وتتصل بأقصى طرف من الرأس. يجب أن تكون المسامير الأخرى للرأس زرقاء / بيضاء بديلة لكل مصباح LED فردي
نضعها معًا
تم قطع الشواية من حامل ورق سطح المكتب (في الصورة) بسلك ملحوم بحافة واحدة. يتم إدخال هذا في الغلاف أولاً ، ثم صفيف LED (يجب إدخال هذا بزاوية كما هو موضح ، مع محاذاة الفتحة مع إحدى دعامات المسمار). السماعة هي التالية (ضع شريطًا رفيعًا حول الجزء العلوي لعزله عن حافة PCB). ثم الفاصل ، وثنائي الفينيل متعدد الكلور يجلس في الأعلى. اربط القاعدة بربطها معًا.
عند توصيل كبل الصوت بـ LattePanda ، وجدت أنني بحاجة إلى استخدام مرشح حلقة أرضية صوتية (https://www.ebay.com/itm/371801191297) للحصول على صوت جيد. لاحظ أنه في الصور ، أستخدم خرج الصوت لمحول الفيديو HDMI-VGA الخاص بي ، لكن من الجيد استخدام مقبس إخراج الصوت الموجود على اللوحة.
ستحتاج أيضًا إلى ميكروفون USB (https://www.ebay.com/itm/332148968227).
الخطوة 4: 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
تحميل
يتوفر تطبيق Alexa Sample App هنا:
github.com/alexa/alexa-avs-sample-app/
اضغط على الزر Clone أو Download وقم بالتنزيل بتنسيق zip
قم بإنشاء دليل على محرك الأقراص c C: / ALEXA ، واستخرج محتويات ملف zip بحيث يتم وضع الدليل المضغوط الذي يسمى العينات مباشرة في دليل ALEXA (على سبيل المثال C: / ALEXA / sample \…)
التثبيت
الإرشادات الرسمية الكاملة حول كيفية التثبيت على Windows موجودة هنا:
github.com/alexa/alexa-avs-sample-app/wiki …
هناك خطوات قليلة ، ويستغرق الأمر بعض الوقت ، لكنني اكتشفت أنه مع نظام التشغيل Windows ، سارت الأمور بسلاسة في المرة الأولى.
ستحتاج إلى محرر نصوص جيد لتحرير بعض ملفات التكوين (المفكرة ليست جيدة لأن الملفات لها نهايات سطر بنمط Linux). لقد استخدمت Notepad ++ المتاح هنا:
بعض الملاحظات بخصوص التعليمات الرسمية:
الجزء 3 - التبعيات
My Panda هو 64 بت ، لذا قمت بتنزيل جميع إصدارات 64 بت ، ولكن إذا كنت تقوم بالتثبيت على نظام 32 بت ، فستحتاج إلى استخدام إصدارات 32 بت. ملاحظة: لا تخلط بين إصدارات 32 بت و 64 بت من التبعيات.
سيأخذك الرابط المعروض لمشغل وسائط VLC إلى إصدار 32 بت. للحصول على الإصدار 64 بت ، انتقل إلى هذا الرابط: https://www.videolan.org/vlc/download-windows.html وعلى زر التنزيل ، حدد السهم ، ثم المثبت لإصدار 64 بت.
لتثبيت JDK ، استخدمت الإصدار: jdk-8u144-windows-x64 بالنسبة إلى nodejs التي استخدمتها: Windows Installer (.msi) 64 بت بالنسبة إلى 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. نحتاج أيضًا إلى تشغيل التطبيق تلقائيًا عند بدء التشغيل ، وإضاءة بعض مصابيح LED عندما تستمع Alexa وتتحدث.
الخطوة 6: LattePanda - تثبيت محرك WakeWord المخصص
محرك WAKEWORD
يسمح محرك WakeWord بإيقاظ Alexa من خلال كلمة منطوقة (عادةً "Alexa") ، بدلاً من الاضطرار إلى النقر فوق زر. يحتوي التطبيق النموذجي على خيارين لمحرك WakeWord: Sensory أو KITT. AI محرك كلمة التنبيه. ومع ذلك ، فإن تنفيذ هذه التطبيقات في نموذج التطبيق يعمل فقط مع Linux. ويخضع هذان المحركان أيضًا لمتطلبات ترخيص معينة.
سأقوم هنا بتنفيذ محرك كلمات التنبيه المخصص والذي يعتمد على SDK للتعرف على الكلام الخاص بنظام Windows 10. لذلك هذا أيضًا خالي من أي متطلبات ترخيص إضافية.
تثبيت التبعيات
Microsoft Speech Platform - وقت التشغيل (الإصدار 11) https://www.microsoft.com/en-gb/download/details.a…x86_SpeechPlatformRuntime\SpeechPlatformRuntime.msi (32 بت) أو x64_SpeechPlatformRuntime / SpeechPlatformRuntime.msi (64 بت)
Microsoft Speech Platform - لغات وقت التشغيل (الإصدار 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" - يراقب مستشعر إدخال اللمس - يتحكم في مصابيح LED الزرقاء والبيضاء
لاحظ أنني قمت بتطوير هذا على كمبيوتر آخر يعمل بنظام Windows 10 حتى لا أضطر إلى تثبيت Visual Studio على LattePanda ، لأنني لم أرغب في استخدام غيغا بايت. لقد قمت بتوصيل Arduino Uno المثبت مع StandardFirmata (https://www.lattepanda.com/docs/#SetuptheArduino) بجهاز كمبيوتر التطوير حتى أتمكن أيضًا من التطوير باستخدام مدخلات / مخرجات Arduino. يتم أيضًا إرفاق التعليمات البرمجية المصدر لـ Visual Studio إذا كنت تريد تعديل و / أو تجميع هذا بنفسك.
تعديل عميل جافا
يحتاج عميل Java إلى بضعة أسطر إضافية مضافة إلى الكود. هذا لتمكين مصابيح LED من العمل بشكل صحيح:
عندما تستمع Alexa ، يتم إرسال إشارة PAUSE_WAKE_WORD_ENGINE إلى محرك WakeWord. لقد استخدمت هذه الإشارة لمعرفة وقت تشغيل BLUE (مؤشر الاستماع إلى Alexa). عند تلقي إشارة RESUME_WAKE_WORD_ENGINE ، ينطفئ المصباح الأزرق ، ويضيء WHITE (LED الناطق Alexa). يرسل الكود الإضافي إشارة RESUME_WAKE_WORD_ENGINE أخرى عندما يتوقف Alexa عن التحدث - حتى يعرف محرك WakeWord وقت إيقاف تشغيل مؤشر LED الأبيض.
انتقل إلى: C: / ALEXA / sample / javaclient / src / main / java / com / amazon / alexa / avs وافتح AVSController.java في محرر النصوص الخاص بك. انسخ الرمز من ملف Extra_Code.txt المرفق. يجب إدخاله في مكانين:
1. في الوظيفة public void onAlexaSpeechFinished () بعد العبارة مباشرة:
2. في الوظيفة الخاصة باطل handleAudioPlayerDirective (التوجيه التوجيهي) مباشرة قبل العبارة: player.handleStop ()؛
لقد قمت أيضًا بإعادة تصميم إشارة CONFIRM بحيث يعرف محرك WakeWord ما إذا كان Alexa قد استجاب. هذا لإلغاء مهلة 5 ثوان التي ستحدث إذا لم يكن هناك استجابة. انسخ الكود من Extra_Code2.txt وأدخله في مكان واحد:
1. في التابع functionpublic void onAlexaSpeechStarted () مباشرةً بعد العبارة تعتمد على الهندسيّةThread.block () ؛
أنت الآن بحاجة إلى إعادة ترجمة Java Client. افتح موجه الأوامر وانتقل إلى C: / ALEXA / sample / javaclient Enter: mvn install لإعادة التحويل البرمجي.
إذا قمت بتشغيل تطبيق Companion Service وتطبيق Java Alexa كما كان من قبل ، ثم انقر نقرًا مزدوجًا على WakeWordPanda.exe ، وانتظر حتى يتم الاتصال ، ومن ثم يجب أن تكون قادرًا على تنشيط Alexa بقول "Alexa".
مايكروسوفت
إذا قمت بتوصيل كبل MicroDot 'USB' بـ LattePanda كما هو موضح في الرسم التخطيطي ، وقمت بتوصيل كابل الصوت ، فمن المفترض أن يعمل الآن بكامل طاقته. يجب أن يؤدي التحدث بكلمة الاستيقاظ أو لمس الشواية إلى تنشيط Alexa ويجب أن تضيء مصابيح LED الزرقاء. يجب أن تظهر مصابيح LED البيضاء عندما يستجيب Alexa.
إعداد التشغيل التلقائي
بدلاً من كتابة جميع الأوامر يدويًا لبدء تشغيل كل شيء ، يمكنك استخدام البرنامج النصي alexa_run.bat. سينتظر هذا الاتصال بالإنترنت ، ثم يستدعي الوحدات المنفصلة (الخدمة المصاحبة ، عميل جافا ، محرك كلمة التنبيه).
الخطوة الأخيرة هي تشغيل كل شيء تلقائيًا عند بدء التشغيل:
1. انقر بزر الماوس الأيمن فوق auto-run.bat وحدد إنشاء اختصار. اضغط على ctrl + R واكتب shell: startup. سيؤدي هذا إلى فتح مجلد بدء التشغيل.3. اسحب الاختصار الذي قمت بإنشائه إلى مجلد بدء التشغيل.
سيتم الآن تشغيل Alexa تلقائيًا عند بدء التشغيل (يستغرق الأمر 30 ثانية أو نحو ذلك للتهيئة بعد بدء التشغيل).
الخطوة 7: MicroDot لـ Raspberry Pi
(إذا كنت تريد استخدام Raspberry Pi 3 بدلاً من LattePanda).
تحميل
قم بتنزيل تطبيق Alexa Sample App من هنا:
اضغط على الزر 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
لا يمكنك توصيل MicroDot مباشرة بـ GPIO لأنها ستسحب تيارًا أكثر من اللازم. سوف تحتاج إلى: 2x 2N3904 Transisitors لتشغيل مقاومات LED و 1x2K2 و 1x3K3 لإسقاط الجهد من مستشعر اللمس إلى 3.3 فولت (سيتم تشغيل MicroDot من مصدر 5 فولت). الرجوع إلى الرسم البياني المرفق. قد ترغب في عمل PCB لهذا الغرض ، لكنني قمت للتو بتثبيت هذه المكونات على الجزء الخلفي من قابس أنثى ذو 8 أسنان.
محرك تنبيه مخصص (تعمل باللمس)
قم بفك ضغط محتويات المجلد المضغوط المرفق في مجلد تطبيق alexa-avs-sample-app. يوجد ملفان: wake.py - برنامج نصي بيثون وهو محرك التنبيه المخصص (الذي يعمل باللمس) لبرنامج MicroDot alexa_autostart.sh - برنامج نصي لتشغيل كل شيء. انقر بزر الماوس الأيمن فوق خصائص هذا ، وحدد تنفيذ: أي شخص في علامة التبويب الأذونات.
ستحتاج إلى تثبيت Python لتشغيل محرك الاستيقاظ. ستحتاج أيضًا إلى مكتبة GPIO (https://makezine.com/projects/tutorial-raspberry-p…) يجب أن تكون مثبتة بالفعل في أحدث إصدار من Raspbian.
لتشغيل كل شيء ، اكتب في Terminal: cd / home / pi / Desktop / alexa-avs-sample-appsudo./alexa_startup.sh
إعداد AUTORUN
لإعداد Alexa للتشغيل التلقائي عند الإقلاع ، افتح Terminal واكتب:
القرص المضغوط /home/pi/.config/lxsession/LXDE-pisudo nano autostart
وأضف السطر واحفظه:
@ / home / pi / Desktop / alexa-avs-sample-app / alexa_autostart.sh
إعادة التشغيل ويجب تشغيل تطبيق Alexa تلقائيًا.