اتّبِع التعليمات التالية لتنفيذ رمز مخصّص على جهازك في الاستجابة للطلبات الواردة من مساعد Google.
تنفيذ النموذج
الآن بعد أن حددت سمة وقمت بتحديث النموذج، تحقق لجعل تأكَّد من أنّ "مساعد Google" يعيد إرسال أمر "تفعيل" أو "إيقاف" للصفحة المطلوبة طلب البحث.
googlesamples-assistant-pushtotalk
اضغط على مفتاح Enter وجرب الاستعلام التالي:
تفعيل
ومن المفترض أن تظهر لك العبارات التالية في ناتج وحدة التحكّم. إذا لم تكن تعرف، يمكنك تعليمات تحديد المشاكل وحلّها.
INFO:root:Recording audio request.
INFO:root:End of audio request detected
INFO:root:Transcript of user request: "turn on".
INFO:root:Playing assistant response.
INFO:root:Turning device on
INFO:root:Waiting for device executions to complete.
INFO:root:Finished playing assistant response.
ستجد مكان طباعة هذه الإقرارات في رمز المصدر.
الحصول على رمز المصدر
أنت الآن جاهز لبدء مشروعك الخاص:
git clone https://github.com/googlesamples/assistant-sdk-python
البحث عن معالج الأوامر
يستخدم ملف pushtotalk.py
في نموذج الرمز حزمة تطوير البرامج (SDK) لإرسال الطلبات
تلقّي ردود من "مساعد Google"
cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/grpc
nano pushtotalk.py
ابحث عن تعريف المعالج التالي:
device_handler = device_helpers.DeviceRequestHandler(device_id)
@device_handler.command('action.devices.commands.OnOff')
def onoff(on):
if on:
logging.info('Turning device on')
else:
logging.info('Turning device off')
يعالج الرمز في onoff()
الأمر action.devices.commands.OnOff
. هذا النمط
يُعد جزءًا من عملية OnOff
مخطط السمات.
في الوقت الحالي، يتم إخراج سجلّات تعريف onoff()
في وحدة التحكّم. يستخدم المساعد
في device_helpers.py
لتحليل استجابة JSON وتخزين الأمر
المعاملات في المتغيرات لسهولة الاستخدام. يمكنك تعديل هذا الرمز لتنفيذ أي إجراء
التي تريدها في مشروعك.
إذا كانت لديك مجموعة مصابيح LED، تابِع القراءة لتتعلّم كيفية إضاءة مصباح LED استجابةً لهذه العملية. إلى أمر OnOff. وإذا لم تكن تعرفها، يمكنك تخطي القسم التالي لمعرفة كيفية إضافة المزيد من السمات والمعالجات.
الخطوات التالية: Raspberry Pi
الآن بعد أن عرفت كيفية التعامل مع الأمر الوارد، عدّل نموذج التعليمة البرمجية لإضاءة مصباح LED. سيتطلب هذا بعض الأجهزة الإضافية إذا كنت تستخدم صلصة التوت البري
استيراد حزمة GPIO
لتبسيط وصول البرامج إلى دبابيس الإدخال/الإخراج للأغراض العامة (GPIO) على جهاز Raspberry Pi، ثبِّت RPi.GPIO حزمة في بيئة افتراضية.
pip install RPi.GPIO
تعديل النموذج
افتح ملف pushtotalk.py
.
cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/grpc
nano pushtotalk.py
في ملف pushtotalk.py
، استورِد RPi.GPIO
للتحكم في دبابيس GPIO على نظام Pi. ضع العبارة التالية بالقرب من
عبارات import
الأخرى:
import RPi.GPIO as GPIO
عدِّل الرمز البرمجي لضبط رقم التعريف الشخصي الناتج في البداية على حالة منطقية منخفضة. عندما عند استلام الأمر، اضبط الدبوس على حالة منطقية عالية. عندما إيقاف، اضبط الدبوس على حالة منطقية منخفضة.
device_handler = device_helpers.DeviceRequestHandler(device_id)
GPIO.setmode(GPIO.BCM)
GPIO.setup(25, GPIO.OUT, initial=GPIO.LOW)
@device_handler.command('action.devices.commands.OnOff')
def onoff(on):
if on:
logging.info('Turning device on')
GPIO.output(25, 1)
else:
logging.info('Turning device off')
GPIO.output(25, 0)
احفظ التغييرات وأغلق الملف.
تنفيذ النموذج
شغِّل نموذج الرمز المعدّل.
python pushtotalk.py
استخدِم طلب البحث نفسه كما في السابق. يُفترَض أن يتم تشغيل مصباح LED.
يتوفر العديد من الميزات الإضافية. تعرّف على كيفية إضافة المزيد من السمات والمعالجات.