को-प्रोसेसर डिज़ाइन

OpenThread, को-प्रोसेसर डिज़ाइन के साथ काम करता है. OpenThread के उदाहरण बनाते समय, हर को-प्रोसेसर डिज़ाइन के लिए फ़र्मवेयर इमेज अपने-आप बन जाती है. ज़्यादा जानकारी के लिए, बाइनरी देखें.

रेडियो को-प्रोसेसर (आरसीपी)

ओटी आरसीपी आर्किटेक्चर

आरसीपी डिज़ाइन में, OpenThread का मुख्य हिस्सा होस्ट प्रोसेसर पर होता है. साथ ही, थ्रेड रेडियो वाले डिवाइस पर सिर्फ़ एक छोटा सा एमएसी लेयर "कंट्रोलर" होता है. इस डिज़ाइन में, होस्ट प्रोसेसर आम तौर पर स्लीप मोड में नहीं होता है. इसकी वजह यह है कि Thread नेटवर्क की विश्वसनीयता बनी रहे.

आरसीपी और होस्ट प्रोसेसर के बीच कम्यूनिकेशन को OpenThread Daemon मैनेज करता है. यह काम, स्पाइनल प्रोटोकॉल के ज़रिए एसपीआई इंटरफ़ेस पर किया जाता है.

इसका फ़ायदा यह है कि OpenThread, ज़्यादा पावर वाले प्रोसेसर के संसाधनों का इस्तेमाल कर सकता है.

यह डिज़ाइन उन डिवाइसों के लिए काम का है जिनमें बैटरी की खपत कम होती है. उदाहरण के लिए, वीडियो कैमरे पर होस्ट प्रोसेसर हमेशा चालू रहता है, ताकि वीडियो को प्रोसेस किया जा सके.

OpenThread बॉर्डर राऊटर, आरसीपी डिज़ाइन के साथ काम करता है. ज़्यादा जानकारी के लिए, OpenThread बॉर्डर राऊटर पर जाएं.

आरसीपी बनाने के लिए, इन कोडलैब को देखें:

nRF52840 की मदद से Thread नेटवर्क बनाना Thread बॉर्डर राऊटर

नेटवर्क को-प्रोसेसर (एनसीपी)

OT NCP आर्किटेक्चर

स्टैंडर्ड एनसीपी डिज़ाइन में, एसओसी पर थ्रेड की सुविधाएं होती हैं. साथ ही, यह होस्ट प्रोसेसर पर ऐप्लिकेशन लेयर चलाता है. आम तौर पर, यह OpenThread डिवाइस से ज़्यादा बेहतर होता है. हालांकि, इसमें ज़्यादा पावर की ज़रूरत होती है.

इस डिज़ाइन का फ़ायदा यह है कि ज़्यादा पावर वाला होस्ट डिवाइस स्लीप मोड में जा सकता है. वहीं, कम पावर वाला OpenThread डिवाइस चालू रहता है, ताकि वह Thread नेटवर्क में अपनी जगह बनाए रख सके. साथ ही, SoC ऐप्लिकेशन लेयर से जुड़ा नहीं होता. इसलिए, ऐप्लिकेशन को डेवलप और टेस्ट करने के लिए, OpenThread बिल्ड की ज़रूरत नहीं होती.

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

स्पाइनल प्रोटोकॉल

Spinel, एक सामान्य मैनेजमेंट प्रोटोकॉल है. इसकी मदद से, होस्ट डिवाइस को को-प्रोसेसर के साथ कम्यूनिकेट करने और उसे मैनेज करने की सुविधा मिलती है. शुरुआत में, Spinel को थ्रेड पर आधारित एनसीपी के साथ काम करने के लिए डिज़ाइन किया गया था. हालांकि, इसे लेयर वाले तरीके से डिज़ाइन किया गया है, ताकि आने वाले समय में इसे अन्य नेटवर्क टेक्नोलॉजी के साथ आसानी से इस्तेमाल किया जा सके. इसका इस्तेमाल, आरसीपी और एनसीपी, दोनों डिज़ाइन के साथ किया जाता है.

यह प्रोटोकॉल, OpenThread के साथ /src/lib/spinel पर शामिल है. जांच के लिए, Pyspinel नाम का Python CLI टूल उपलब्ध है.

ज़्यादा जानकारी के लिए, Spinel Host-Controller Protocol के लिए इंटरनेट-ड्राफ़्ट देखें.