हैंडल से जुड़े निर्देश

इसके बाद, अपने डिवाइस पर कस्टम कोड चलाने के लिए, इन निर्देशों का पालन करें Google Assistant से मिलने वाले निर्देशों का जवाब देता है.

सैंपल चलाएं

अब आपने एक विशेषता तय की है और मॉडल को अपडेट किया है, तो पक्का करें कि Google Assistant सही जवाब के लिए चालू/बंद निर्देश वापस भेज रही है क्वेरी.

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 Assistant से जवाब पा सकें.

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 का हिस्सा है Trait स्कीमा.

फ़िलहाल, onoff() डेफ़िनिशन लॉग का आउटपुट कंसोल को मिलता है. यह हेल्पर का इस्तेमाल करता है JSON को पार्स करने और कमांड को सेव करने के लिए, device_helpers.py में फ़ंक्शन करता है पैरामीटर का इस्तेमाल करें. इस कोड में बदलाव करके यह काम किया जा सकता है जो आपको अपने प्रोजेक्ट पर चाहिए.

अगर आपके पास एलईडी किट है, तो आगे मिलने वाली एलईडी लाइटों को चालू करने के तरीके के बारे में जानने के लिए आगे पढ़ें चालू करें. अगर ऐसा नहीं है, तो अगले सेक्शन में जाकर, ज़्यादा एट्रिब्यूट और हैंडलर जोड़ना.

अगले चरण - Raspberry Pi

अब आपको पता है कि इनकमिंग कमांड को कैसे मैनेज करना है, तो सैंपल कोड में बदलाव करें का इस्तेमाल करना होगा. अगर आपको इस एक्सटेंशन का इस्तेमाल करना है, तो रैज़बेरी पाई.

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 इंपोर्ट करें Pi पर 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

पहले वाली क्वेरी का इस्तेमाल करें. एलईडी चालू होनी चाहिए.

यह तो बस शुरुआत है. ज़्यादा एट्रिब्यूट और हैंडलर जोड़ने का तरीका जानें.