কমান্ড পরিচালনা করুন

Google অ্যাসিস্ট্যান্ট থেকে কমান্ডের প্রতিক্রিয়া হিসাবে আপনার ডিভাইসে কাস্টম কোড চালানোর জন্য এই নির্দেশাবলী অনুসরণ করুন।

নমুনা চালান

এখন আপনি একটি বৈশিষ্ট্য সংজ্ঞায়িত করেছেন এবং মডেলটি আপডেট করেছেন, Google সহকারী উপযুক্ত প্রশ্নের জন্য একটি চালু/বন্ধ কমান্ড ফেরত পাঠাচ্ছে তা নিশ্চিত করতে পরীক্ষা করুন।

googlesamples-assistant-pushtotalk

এন্টার কী টিপুন এবং নিম্নলিখিত প্রশ্নটি চেষ্টা করুন:

চালু করা.

আপনি কনসোল আউটপুট নিম্নলিখিত বিবৃতি দেখতে হবে. যদি আপনি না করেন, তাহলে সমস্যা সমাধানের নির্দেশাবলী দেখুন।

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 ফাইলটি অনুরোধ পাঠাতে এবং Google অ্যাসিস্ট্যান্ট থেকে প্রতিক্রিয়া পেতে SDK ব্যবহার করে।

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() সংজ্ঞা কনসোলে আউটপুট লগ করে। এটি প্রতিক্রিয়া JSON পার্স করতে device_helpers.py এ সহায়ক ফাংশন ব্যবহার করে এবং ব্যবহারের সহজতার জন্য ভেরিয়েবলে কমান্ড প্যারামিটার সংরক্ষণ করে। আপনি আপনার প্রকল্পে যা চান তা করতে আপনি এই কোডটি পরিবর্তন করতে পারেন।

আপনার যদি একটি LED কিট থাকে, তাহলে অনঅফ কমান্ডের প্রতিক্রিয়ায় কীভাবে LED জ্বালাবেন তা শিখতে পড়তে থাকুন। আপনি যদি তা না করেন তবে কীভাবে আরও বৈশিষ্ট্য এবং হ্যান্ডলার যোগ করবেন তা শিখতে পরবর্তী বিভাগটি এড়িয়ে যান।

পরবর্তী পদক্ষেপ - রাস্পবেরি পাই

এখন আপনি কিভাবে ইনকামিং কমান্ড পরিচালনা করতে জানেন, একটি LED আলো করতে নমুনা কোড পরিবর্তন করুন। আপনি যদি রাস্পবেরি পাই ব্যবহার করেন তবে এর জন্য কিছু অতিরিক্ত হার্ডওয়্যারের প্রয়োজন হবে।

GPIO প্যাকেজ আমদানি করুন

রাস্পবেরি পাই-তে সাধারণ উদ্দেশ্য ইনপুট/আউটপুট (GPIO) পিনে সফ্টওয়্যার অ্যাক্সেস সহজ করতে, ভার্চুয়াল পরিবেশে RPi.GPIO প্যাকেজ ইনস্টল করুন।

pip install RPi.GPIO

নমুনা পরিবর্তন করুন

pushtotalk.py ফাইলটি খুলুন।

cd assistant-sdk-python/google-assistant-sdk/googlesamples/assistant/grpc
nano pushtotalk.py

pushtotalk.py ফাইলে, Pi-এ GPIO পিন নিয়ন্ত্রণ করতে RPi.GPIO মডিউল আমদানি করুন। অন্যান্য 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 চালু করা উচিত।

এটা মাত্র শুরু। আরও বৈশিষ্ট্য এবং হ্যান্ডলার যোগ করতে শিখুন।