EMB-02 إصدار منشور

جهاز صوتي على Pico W ومنصة تحكم

مساعد صوتي «اضغط وتكلم» مبني يدويًا: التقاط صوت مخصص عبر PIO على الجهاز، وتعرّف كلام متدفق وأدوات مقيدة بالصلاحيات في خادم مستضاف ذاتيًا.

الدور
عمل فردي — بناء العتاد والبرمجيات الثابتة والخادم
الفترة
2026
التقنيات
RP2040 · PIO + DMA · C · Python · FastAPI · WebSocket · SQLite
روابط
شكل 03.0 صورة فوتوغرافية للعتاد الجهاز المكتمل أثناء التشغيل — كل الذكاء يعيش في منصة تحكم مستضافة ذاتيًا.

ملخص لمسؤولي التوظيف

المشكلة
ترتيب أرجل ميكروفون SPH0645 جعل مستقبل I2S القياسي غير قابل للاستخدام في هذا البناء — والجهاز الصوتي يحتاج السلسلة كاملة (التقاط ونقل وتعرّف وأدوات) لتعمل معًا.
مساهمتي
وصّلتُ الجهاز يدويًا، وكتبتُ برمجيات الالتقاط عبر PIO وDMA وكود الشاشة، وبنيتُ منصة التحكم المستقلة المستضافة ذاتيًا التي يمكن لأي عميل WebSocket الانضمام إليها كجهاز.
النتيجة
نظام منشور في مستودعين تحقّق منه اختبار تكامل واحد يعمل دون اتصال في CI؛ وفي الاستخدام يصل الرد عادة خلال ثوانٍ قليلة — رقم ملاحَظ لا قياس منضبط.

VOICE-SIGNAL

تصور تفاعلي · اسحب للاستكشاف

تصور هندسي ثلاثي الأبعاد

النظام كتركيب تفاعلي

تصور تفكيكي لالتقاط الميكروفون وتخزين PIO/DMA ونقل WebSocket ومنصة التحكم واستجابة الشاشة.

يمكن استخدام سهمي اليمين واليسار لتدوير المشهد. يوجد وصف نصي كامل، ولا تعتمد أي حقيقة على الرسم وحده.

مسار الإشارة — من الصوت إلى الشاشة

تكوين طبقي مفكك: الميكروفون فوق التقاط PIO فوق عازل DMA فوق قناة WebSocket فوق الخادم فوق الشاشة.

  1. يلتقط الصوت رقميًا عبر I2S. ترتيب أرجل هذا الميكروفون تحديدًا جعل مستقبل I2S القياسي غير قابل للاستخدام في هذا التركيب.

  2. برنامج PIO مُجمَّع يدويًا من ثماني تعليمات يولّد ساعتي البت والكلمة ويعاين خط البيانات.

  3. يبث DMA العينات إلى عازل حلقي ثابت — صوت أحادي 16 كيلوهرتز جاهز للإرسال دون إشغال النواة.

  4. مصافحة واحدة عند الإقلاع، ثم قناة طويلة العمر: يتدفق الصوت أثناء الكلام، فيكون النص جاهزًا لحظة ترك الزر.

  5. FastAPI: تزويد الأجهزة برموز تُعرض مرة واحدة، وتعرف كلامي متدفق، وحلقة نموذج بأدوات مقيدة بالأذونات، وإخفاء للأسرار.

  6. يرسم الجهاز الرد على الشاشة. عمليًا يصل الرد خلال ثوانٍ قليلة — رقم مُلاحظ، لا قياس منضبط.

اختر مرحلة لفحصها

ما هو

جهاز Raspberry Pi Pico W موصول يدويًا على لوحة تجارب — شاشة TFT مقاس 4 بوصات، وميكروفون SPH0645 بواجهة I2S، وزر «اضغط وتكلم»، ومؤشر LED ملون، وجرس — يعمل كطرفية خفيفة: يلتقط الصوت ويبثه ويعرض الردود. أما الذكاء كله فيقيم في منصة تحكم FastAPI مستضافة ذاتيًا.

الجزء الذي عجزت عنه المكتبة الجاهزة

ترتيب أرجل SPH0645 جعل مستقبل I2S القياسي غير قابل للاستخدام في هذا البناء. الحل: برنامج PIO من ثماني تعليمات مكتوب يدويًا يولّد نبضات الساعة ويعاين خط البيانات، مع DMA يصب العينات في مخزن حلقي ثابت. يغادر الصوت الجهاز بصيغة PCM أحادية 16 كيلوهرتز عبر اتصال WebSocket واحد طويل العمر مؤمَّن بـ TLS — فالمصافحة تتم مرة واحدة عند الإقلاع، ويكون النص المكتوب نهائيًا لحظة ترك الزر لأن التعرف يتدفق أثناء الكلام. وفي الاستخدام الفعلي يصل الرد عادة خلال ثانيتين تقريبًا — رقم ملاحَظ لا قياس منضبط.

منصة التحكم

منشورة كمنتج مستقل: أي عميل يتحدث بروتوكول WebSocket من عشرين سطرًا هو جهاز. تتولى المنصة التزويد (رموز مصادقة تُعرض مرة واحدة فقط، مع تدوير وإلغاء)، والحضور، والتعرف المتدفق على الكلام، وحلقة نموذج لغوي بأدوات مقيدة بالصلاحيات (التكاملات معطلة حتى تُفعَّل صراحة)، وإعدادات وقت التشغيل مع إخفاء الأسرار، والسجلات، ولوحة إدارة. ومثال «الجهاز المحاكى» يعني أن النظام كله يعمل ويُتحقق منه دون أي عتاد.

التحقق

الخط الكامل — الإقلاع، الدخول، الإعدادات، تزويد الأجهزة، جولة صوتية كاملة عبر WebSocket، الإتاحة، تقييد الأدوات، السجلات — يعمل كاختبار تكامل واحد دون اتصال، مع محاكاة خدمتي التعرف والنموذج: لا مفاتيح ولا شبكة. ويؤكد الاختبار الخصائص الأمنية أيضًا (الأسرار لا تُعاد، رموز الأجهزة لا تُسرد، الأدوات المقيدة خاملة دون تفويض). و CI يشغّله مع كل دفعة. أما تحقق البرمجيات الثابتة فكان يدويًا بإجراءات موثقة لأخطر جزأين: مستقبل PIO و TLS.

الأدلة

شكل 03.4 مخطط معماري توصيل الجهاز — من المستودع. لا يُعكس اتجاه المخطط في العربية لأنه توصيل فيزيائي. المصدر — يفتح في سياق جديد