सिलिकॉन लोगो

सिलिकॉन लैब्स लैब 3बी - स्विच ऑन/ऑफ उपयोगकर्ता गाइड संशोधित करें

सिलिकॉन लैब्स लैब 3बी - स्विच ऑन/ऑफ संशोधित करें

यह व्यावहारिक अभ्यास यह प्रदर्शित करेगा कि किसी एक पर संशोधन कैसे किया जाएampयह Z-Wave SDK के भाग के रूप में आने वाले अनुप्रयोगों को भी शामिल करता है।

यह अभ्यास “जेड-वेव 1-दिवसीय पाठ्यक्रम” श्रृंखला का हिस्सा है।

  1. स्मार्टस्टार्ट का उपयोग शामिल करें
  2. Zniffer का उपयोग करके Z-Wave RF फ़्रेम को डिक्रिप्ट करें
  3. 3A: संकलन स्विच चालू/बंद करें और डीबग सक्षम करें
    3B: स्विच चालू/बंद संशोधित करें
  4. FLiRS उपकरणों को समझें

 

प्रमुख विशेषताऐं

  • GPIO बदलें
  • पीडब्लूएम को लागू करें
  • ऑन-बोर्ड RGB LED का उपयोग करें

 

1 परिचय

यह अभ्यास पिछले अभ्यास "3A: स्विच ऑन/ऑफ संकलित करें और डीबग सक्षम करें" के शीर्ष पर बनाया गया है, जिसमें दिखाया गया था कि स्विच ऑन/ऑफ को कैसे संकलित और उपयोग किया जाए।ampले आवेदन।

इस अभ्यास में हम एस में संशोधन करेंगेampले एप्लीकेशन, एलईडी को नियंत्रित करने वाले GPIO को बदलकर। इसके अलावा, हम एक RGB एलईडी का उपयोग करेंगे और रंग बदलने के लिए PWM का उपयोग करना सीखेंगे।

1.1 हार्डवेयर आवश्यकताएँ

  • 1 WSTK मुख्य विकास बोर्ड
  • 1 जेड-वेव रेडियो डेवलपमेंट बोर्ड: ZGM130S SiP मॉड्यूल
  • 1 यूजेडबी नियंत्रक
  • 1 यूएसबी ज़्निफर

1.2 सॉफ्टवेयर आवश्यकताएँ

  • सादगी स्टूडियो v4
  • जेड-वेव 7 एसडीके
  • जेड-वेव पीसी नियंत्रक
  • जेड-वेव ज़्निफर

चित्र 1 Z-वेव SiP मॉड्यूल के साथ मुख्य विकास बोर्ड

चित्र 1: Z-Wave SiP मॉड्यूल के साथ मुख्य विकास बोर्ड

1.3 पूर्वापेक्षाएँ
पिछले व्यावहारिक अभ्यासों में बताया गया है कि Z-Wave नेटवर्क बनाने और विकास के उद्देश्य से RF संचार को कैप्चर करने के लिए PC कंट्रोलर और Zniffer एप्लिकेशन का उपयोग कैसे करें। यह अभ्यास मानता है कि आप इन उपकरणों से परिचित हैं।

पिछले हैंड्स-ऑन अभ्यासों में यह भी बताया गया है कि एस का उपयोग कैसे करेंampZ-Wave SDK के साथ आने वाले अनुप्रयोगों को संकलित करें। यह अभ्यास मानता है कि आप इनमें से किसी एक का उपयोग करने और संकलित करने से परिचित हैंampले अनुप्रयोगों।

 

2. बोर्ड इंटरफ़ेस नेविगेट करें

Z-Wave फ्रेमवर्क board.h और board.c द्वारा परिभाषित हार्डवेयर एब्स्ट्रेक्शन लेयर (HAL) के साथ आता है, जो आपके प्रत्येक हार्डवेयर प्लेटफॉर्म के लिए कार्यान्वयन की संभावना प्रदान करता है।

हार्डवेयर एब्स्ट्रक्शन लेयर (HAL) एक सिस्टम के हार्डवेयर और उसके सॉफ़्टवेयर के बीच का प्रोग्राम कोड है जो ऐसे अनुप्रयोगों के लिए एक सुसंगत इंटरफ़ेस प्रदान करता है जो कई अलग-अलग हार्डवेयर प्लेटफ़ॉर्म पर चल सकते हैं।tagइस क्षमता के कारण, एप्लिकेशन को सीधे HAL द्वारा प्रदान की गई API के माध्यम से हार्डवेयर तक पहुँचना चाहिए, न कि सीधे। फिर, जब आप नए हार्डवेयर पर जाते हैं, तो आपको केवल HAL को अपडेट करना होगा।

2.1 ओपन एसampले प्रोजेक्ट
इस अभ्यास के लिए आपको स्विच ऑन / ऑफ खोलना होगाample एप्लीकेशन। यदि आपने अभ्यास "3A संकलन स्विच ऑनऑफ और डीबग सक्षम करें" पूरा कर लिया है, तो यह आपके सिंपलिसिटी स्टूडियो IDE में पहले से ही खुला होना चाहिए।

इस अनुभाग में हम बोर्ड पर नज़र डालेंगे fileऔर समझें कि एल.ई.डी. को कैसे आरंभ किया जाता है।

  1. मुख्य भाग से file “SwitchOnOff.c”, “ApplicationInit()” का पता लगाएं और Board_Init() के लिए कॉल पर ध्यान दें।
  2. अपने कोर्सर को Board_Init() पर रखें और घोषणा को खोलने के लिए F3 दबाएं।

चित्र 2 खुला एसampले प्रोजेक्ट

3. Board_Init() में ध्यान दें कि BOARD_LED_COUNT में निहित LED को Board_Con-figLed() कह कर कैसे आरंभ किया जा रहा है

चित्र 3 खुला एसampले प्रोजेक्ट

4. अपने कोर्सर को BOARD_LED_COUNT पर रखें और घोषणा खोलने के लिए F3 दबाएं।
5. led_id_t में परिभाषित एलईडी निम्नानुसार हैं:

चित्र 4 खुला एसampले प्रोजेक्ट

6. बोर्ड पर वापस लौटें.c file.
7. अपने कोर्सर को Board_ConfigLed() पर रखें और घोषणा खोलने के लिए F3 दबाएं।
8. ध्यान दें कि led_id_t में परिभाषित सभी LED को आउटपुट के रूप में Board_ConfigLed() में कॉन्फ़िगर किया गया है।

चित्र 5 खुला एसampले प्रोजेक्ट

इसका अर्थ यह है कि विकास बोर्ड पर सभी एलईडी पहले से ही आउटपुट के रूप में परिभाषित हैं और उपयोग के लिए तैयार हैं।

 

3. Z-Wave S में संशोधन करेंampले आवेदन

इस अभ्यास में हम स्विच ऑन/ऑफ में एलईडी के लिए उपयोग किए जाने वाले GPIO को संशोधित करेंगे।ampपिछले अनुभाग में हमने सीखा कि कैसे विकास बोर्ड पर सभी एलईडी पहले से ही आउटपुट के रूप में आरंभीकृत हैं और उपयोग के लिए तैयार हैं।

3.1 RGB LED का उपयोग करें

हम बटन बोर्ड पर लगे एलईडी के स्थान पर जेड-वेव विकास मॉड्यूल पर ऑनबोर्ड आरजीबी एलईडी का उपयोग करेंगे।

1. SwitchOnOff.c मुख्य एप्लिकेशन में RefreshMMI फ़ंक्शन का पता लगाएं, जैसा कि चित्र 6 में दिखाया गया है file.

चित्र 6 बिना किसी संशोधन के रिफ्रेशएमएमआई

चित्र 6: बिना किसी संशोधन के RefreshMMI

2. हम “Board_SetLed” फ़ंक्शन का उपयोग करेंगे लेकिन GPIO को बदल देंगे
ओ बोर्ड_RGB1_R
ओ बोर्ड_RGB1_G
ओ बोर्ड_RGB1_B

3. चित्र 3 में दिखाए अनुसार, OFF और ON दोनों अवस्थाओं में “Board_SetLed” को 7 बार कॉल करें।

चित्र 7 रिफ्रेशएमएमआई को आरजीबी एलईडी का उपयोग करने के लिए संशोधित किया गया

हमारा नया संशोधन अब कार्यान्वित हो गया है, और आप संकलन के लिए तैयार हैं।
डिवाइस को प्रोग्राम करने के चरण अभ्यास “3A कंपाइल स्विच ऑनऑफ और डिबग सक्षम करें” में शामिल किए गए हैं, और यहां संक्षेप में दोहराए गए हैं:

  1. “बिल्ड” पर क्लिक करें ICON 1 बटन पर क्लिक करके प्रोजेक्ट का निर्माण शुरू करें।
  2. जब निर्माण पूरा हो जाए, तो “बाइनरीज़” फ़ोल्डर का विस्तार करें और *.hex पर राइट क्लिक करें file “फ्लैश टू डिवाइस..” का चयन करने के लिए.
  3. पॉप-अप विंडो में कनेक्टेड हार्डवेयर का चयन करें। “फ़्लैश प्रोग्रामर” अब सभी आवश्यक डेटा से भरा हुआ है, और आप “प्रोग्राम” पर क्लिक करने के लिए तैयार हैं।
  4. “प्रोग्राम” पर क्लिक करें।

थोड़ी देर के बाद प्रोग्रामिंग समाप्त हो जाती है, और आपका अंतिम डिवाइस अब स्विच ऑन/ऑफ के आपके संशोधित संस्करण के साथ फ्लैश हो जाता है।

3.1.1 कार्यक्षमता का परीक्षण करें

पिछले अभ्यासों में हमने स्मार्टस्टार्ट का उपयोग करके डिवाइस को सुरक्षित Z-Wave नेटवर्क में शामिल कर लिया है। निर्देशों के लिए अभ्यास “स्मार्टस्टार्ट का उपयोग करके शामिल करें” देखें।

संकेत आंतरिक file सिस्टम को पुनः प्रोग्रामिंग के बीच मिटाया नहीं जाता है। यह नोड को नेटवर्क में बने रहने और पुनः प्रोग्राम करने पर समान नेटवर्क कुंजियाँ रखने की अनुमति देता है।

यदि आपको परिवर्तन करने की आवश्यकता है, उदाहरण के लिए, वह आवृत्ति जिस पर मॉड्यूल संचालित होता है या DSK, तो आपको नई आवृत्ति को आंतरिक NVM में लिखे जाने से पहले चिप को "मिटाना" होगा।

इस प्रकार, आपका डिवाइस पहले से ही नेटवर्क में शामिल है।

कार्यक्षमता का परीक्षण यह सत्यापित करके करें कि आप RGB LED को चालू और बंद कर सकते हैं।

  • पीसी कंट्रोलर में “बेसिक सेट ऑन” और “बेसिक सेट ऑफ” का उपयोग करके कार्यक्षमता का परीक्षण करें। RGB LED चालू और बंद होनी चाहिए।
  • हार्डवेयर पर BTN0 का उपयोग करके RGB LED को चालू और बंद भी किया जा सकता है।

हमने अब सत्यापित कर लिया है कि संशोधन अपेक्षानुसार काम कर रहा है और हमने S में प्रयुक्त GPIO को सफलतापूर्वक बदल दिया हैampले आवेदन

3.2 RGB रंग घटक बदलें

इस अनुभाग में, हम RGB LED को संशोधित करेंगे और रंग घटकों को मिश्रित करने का प्रयास करेंगे।

"आरजीबी रंग मॉडल में एक रंग का वर्णन इस बात से किया जाता है कि लाल, हरा और नीला में से प्रत्येक कितना शामिल है। रंग को आरजीबी ट्रिपलेट (आर, जी, बी) के रूप में व्यक्त किया जाता है, जिसका प्रत्येक घटक शून्य से लेकर एक निर्धारित अधिकतम मान तक भिन्न हो सकता है। यदि सभी घटक शून्य पर हैं, तो परिणाम काला होता है; यदि सभी अधिकतम पर हैं, तो परिणाम सबसे चमकीला प्रतिनिधित्व योग्य सफेद होता है।"

विकिपीडिया से आरजीबी रंग मॉडल.

चित्र 8 RGB रंग घटक एक साथ मिश्रित

चूंकि हमने पिछले अनुभाग में सभी रंग घटकों को सक्षम किया है, इसलिए RGB LED चालू होने पर सफ़ेद दिखाई देती है। अलग-अलग घटकों को चालू और बंद करके, हम LED को बदल सकते हैं। इसके अलावा, प्रत्येक रंग घटकों की तीव्रता को समायोजित करके, हम बीच के सभी रंग बना सकते हैं। इसके लिए, हम GPIO को नियंत्रित करने के लिए PWM का उपयोग करेंगे।

  1. ApplicationTask() में PwmTimer को आरंभीकृत करें और RGB पिन को PWM पर सेटअप करें, जैसा कि चित्र 9 में दिखाया गया है।                                                                                चित्र 9 एप्लीकेशनटास्क में आरंभीकृत PWM
  2. RefreshMMI() में, हम हर रंग घटक के लिए एक यादृच्छिक संख्या का उपयोग करेंगे। हर बार LED चालू होने पर एक नया मान प्राप्त करने के लिए rand() का उपयोग करें।
  3. नव निर्मित मान को सीरियल डिबग पोर्ट पर लिखने के लिए DPRINTF() का उपयोग करें।
  4. यादृच्छिक मान का उपयोग करने के लिए Board_SetLed() को Board_RgbLedSetPwm() से प्रतिस्थापित करें।
  5. अद्यतनित RefreshMMI() के लिए चित्र 10 देखें।

चित्र 10 रिफ्रेशएमएमआई को पीडब्लूएम के साथ अपडेट किया गया

चित्र 10: PWM के साथ अपडेट किया गया RefreshMMI

हमारा नया संशोधन अब कार्यान्वित हो गया है, और आप संकलन के लिए तैयार हैं।

  1. “बिल्ड” पर क्लिक करें ICON 1 बटन पर क्लिक करके प्रोजेक्ट का निर्माण शुरू करें।
  2. जब निर्माण पूरा हो जाए, तो “बाइनरीज़” फ़ोल्डर का विस्तार करें और *.hex पर राइट क्लिक करें file “फ्लैश टू डिवाइस..” का चयन करने के लिए.
  3. पॉप-अप विंडो में कनेक्टेड हार्डवेयर का चयन करें। “फ़्लैश प्रोग्रामर” अब सभी आवश्यक डेटा से भरा हुआ है, और आप “प्रोग्राम” पर क्लिक करने के लिए तैयार हैं।
  4. “प्रोग्राम” पर क्लिक करें।

थोड़ी देर के बाद प्रोग्रामिंग समाप्त हो जाती है, और आपका अंतिम डिवाइस अब स्विच ऑन/ऑफ के आपके संशोधित संस्करण के साथ फ्लैश हो जाता है।

3.2.1 कार्यक्षमता का परीक्षण करें

कार्यक्षमता का परीक्षण यह सत्यापित करके करें कि आप RGB LED का रंग बदल सकते हैं।

  1. पीसी कंट्रोलर में “बेसिक सेट ऑन” का उपयोग करके कार्यक्षमता का परीक्षण करें।
  2. रंग में परिवर्तन देखने के लिए “बेसिक सेट ऑन” पर क्लिक करें।

हमने अब यह सत्यापित कर लिया है कि संशोधन अपेक्षानुसार काम कर रहा है, तथा हमने GPIO को PWM का उपयोग करने के लिए सफलतापूर्वक परिवर्तित कर दिया है।

4। चर्चा

इस अभ्यास में हमने स्विच ऑन/ऑफ को एक साधारण एलईडी को नियंत्रित करने से बदलकर बहु-रंगीन एलईडी को नियंत्रित करने के लिए संशोधित किया है। PWM मानों के आधार पर, हम अब किसी भी रंग और तीव्रता में बदलाव कर सकते हैं।

  • क्या इस एप्लिकेशन के लिए डिवाइस प्रकार के रूप में "बाइनरी स्विच" का उपयोग किया जाना चाहिए?
  • बहु-रंगीन एलईडी के लिए कौन सी कमांड क्लासें बेहतर हैं?

प्रश्न का उत्तर देने के लिए, आपको Z-Wave विनिर्देश का संदर्भ लेना चाहिए:

  • Z-Wave Plus v2 डिवाइस प्रकार विशिष्टता
  • Z-वेव एप्लीकेशन कमांड क्लास विनिर्देश

यह Z-Wave S के GPIO को संशोधित और परिवर्तित करने के तरीके पर ट्यूटोरियल का समापन करता हैampले आवेदन।

 

इस मैनुअल के बारे में अधिक पढ़ें एवं पीडीएफ डाउनलोड करें:

दस्तावेज़ / संसाधन

सिलिकॉन लैब्स लैब 3बी - स्विच ऑन/ऑफ संशोधित करें [पीडीएफ] उपयोगकर्ता गाइड
लैब 3बी, संशोधित स्विच, चालू, बंद, जेड-वेव, एसडीके

संदर्भ

एक टिप्पणी छोड़ें

आपकी ईमेल आईडी प्रकाशित नहीं की जाएगी। आवश्यक फ़ील्ड चिह्नित हैं *