সিলিকন লোগো

সিলিকন ল্যাবস ল্যাব 3B - ব্যবহারকারীর নির্দেশিকা চালু/বন্ধ পরিবর্তন করুন

সিলিকন ল্যাবস ল্যাব 3B - সুইচ অন/অফ পরিবর্তন করুন

এই হ্যান্ডস-অন ব্যায়ামটি প্রদর্শন করবে কিভাবে এস-এর একটিতে পরিবর্তন করা যায়ampজেড-ওয়েভ SDK-এর অংশ হিসেবে পাঠানো হয় এমন অ্যাপ্লিকেশন।

এই অনুশীলনটি "জেড-ওয়েভ 1-দিনের কোর্স" সিরিজের অংশ।

  1. SmartStart ব্যবহার করে অন্তর্ভুক্ত করুন
  2. Zniffer ব্যবহার করে Z-Wave RF ফ্রেমগুলি ডিক্রিপ্ট করুন
  3. 3A: কম্পাইল সুইচ অন/অফ এবং ডিবাগ সক্ষম করুন
    3B: সুইচ অন/অফ পরিবর্তন করুন
  4. FLiRS ডিভাইসগুলি বুঝুন

 

মূল বৈশিষ্ট্য

  • GPIO পরিবর্তন করুন
  • PWM বাস্তবায়ন করুন
  • অন-বোর্ড RGB LED ব্যবহার করুন

 

1. ভূমিকা

এই অনুশীলনটি পূর্ববর্তী অনুশীলনের উপরে তৈরি করা হয়েছে "3A: কম্পাইল সুইচ অন/অফ এবং ডিবাগ সক্ষম করুন", যা প্রদর্শন করে যে কীভাবে সুইচ অন/অফগুলি কম্পাইল এবং ব্যবহার করতে হয়।ampআবেদন

এই অনুশীলনে আমরা এস-এ একটি পরিবর্তন করবample অ্যাপ্লিকেশন, GPIO পরিবর্তন করে যা LED নিয়ন্ত্রণ করে। উপরন্তু, আমরা একটি RGB LED ব্যবহার করব এবং রঙ পরিবর্তন করতে PWM ব্যবহার করতে শিখব।

1.1 হার্ডওয়্যার প্রয়োজনীয়তা

  • 1 WSTK প্রধান উন্নয়ন বোর্ড
  • 1 Z-ওয়েভ রেডিও ডেভেলপমেন্ট বোর্ড: ZGM130S SiP মডিউল
  • 1 UZB কন্ট্রোলার
  • 1 ইউএসবি জেনিফার

1.2 সফ্টওয়্যার প্রয়োজনীয়তা

  • সরলতা স্টুডিও v4
  • Z-ওয়েভ 7 SDK
  • জেড-ওয়েভ পিসি কন্ট্রোলার
  • জেড-ওয়েভ জেনিফার

FIG 1 Z-Wave SiP মডিউল সহ প্রধান উন্নয়ন বোর্ড

চিত্র 1: Z-ওয়েভ SiP মডিউল সহ প্রধান উন্নয়ন বোর্ড

1.3 পূর্বশর্ত
পূর্ববর্তী হ্যান্ডস-অন ব্যায়ামগুলি একটি জেড-ওয়েভ নেটওয়ার্ক তৈরি করতে এবং বিকাশের উদ্দেশ্যে আরএফ যোগাযোগ ক্যাপচার করতে পিসি কন্ট্রোলার এবং জেনিফার অ্যাপ্লিকেশনটি কীভাবে ব্যবহার করতে হয় তা কভার করেছে। এই অনুশীলনটি অনুমান করে যে আপনি এই সরঞ্জামগুলির সাথে পরিচিত।

পূর্ববর্তী হ্যান্ড-অন ব্যায়ামগুলি কীভাবে এস ব্যবহার করতে হয় তাও কভার করেছেampজেড-ওয়েভ SDK-এর সাথে পাঠানো হয় এমন অ্যাপ্লিকেশন। এই অনুশীলনটি অনুমান করে যে আপনি s-এর একটি ব্যবহার এবং সংকলন করার সাথে পরিচিতampলে অ্যাপ্লিকেশন।

 

2. বোর্ড ইন্টারফেস নেভিগেট করুন

Z-ওয়েভ ফ্রেমওয়ার্ক board.h এবং board.c দ্বারা সংজ্ঞায়িত একটি হার্ডওয়্যার অ্যাবস্ট্রাকশন লেয়ার (HAL) সহ আসে, যা আপনার প্রতিটি হার্ডওয়্যার প্ল্যাটফর্মের জন্য বাস্তবায়নের সম্ভাবনা প্রদান করে।

হার্ডওয়্যার অ্যাবস্ট্রাকশন লেয়ার (HAL) হল একটি সিস্টেমের হার্ডওয়্যার এবং এর সফ্টওয়্যারের মধ্যে প্রোগ্রাম কোড যা বিভিন্ন হার্ডওয়্যার প্ল্যাটফর্মে চলতে পারে এমন অ্যাপ্লিকেশনগুলির জন্য একটি সামঞ্জস্যপূর্ণ ইন্টারফেস প্রদান করে। অ্যাডভান নিতেtagএই ক্ষমতার জন্য, অ্যাপ্লিকেশনগুলিকে সরাসরি না করে HAL দ্বারা প্রদত্ত API-এর মাধ্যমে হার্ডওয়্যার অ্যাক্সেস করা উচিত। তারপর, আপনি যখন নতুন হার্ডওয়্যারে যান, আপনাকে শুধুমাত্র HAL আপডেট করতে হবে।

2.1 ওপেন এসampলে প্রকল্প
এই অনুশীলনের জন্য আপনাকে সুইচ অন/অফ খুলতে হবেampআবেদন আপনি যদি "3A কম্পাইল সুইচ অনঅফ এবং ডিবাগ সক্ষম করুন" ব্যায়াম সম্পন্ন করেন, তাহলে এটি ইতিমধ্যেই আপনার সরলতা স্টুডিও আইডিই-তে খোলা উচিত।

এই বিভাগে আমরা বোর্ড এ খুঁজছেন হবে files এবং বুঝুন কিভাবে LEDs শুরু করা হয়।

  1. প্রধান থেকে file "SwitchOnOff.c", "ApplicationInit()" সনাক্ত করুন এবং Board_Init() এ কলটি লক্ষ্য করুন।
  2. আপনার কোর্সারটি Board_Init() এ রাখুন এবং ঘোষণাটি খুলতে F3 টিপুন।

FIG 2 খুলুন এসampলে প্রকল্প

3. Board_Init()-এ লক্ষ্য করুন যে কীভাবে BOARD_LED_COUNT-এ থাকা LED গুলিকে Board_Con-figLed() বলে শুরু করা হচ্ছে

FIG 3 খুলুন এসampলে প্রকল্প

4. আপনার কোর্সারটি BOARD_LED_COUNT এ রাখুন এবং ঘোষণাটি খুলতে F3 টিপুন৷
5. led_id_t এ সংজ্ঞায়িত এলইডিগুলি নিম্নরূপ:

FIG 4 খুলুন এসampলে প্রকল্প

6. বোর্ডে ফিরে যান file.
7. আপনার কোর্সারটি Board_ConfigLed() এ রাখুন এবং ঘোষণাটি খুলতে F3 টিপুন।
8. লক্ষ্য করুন led_id_t-এ সংজ্ঞায়িত সমস্ত LEDs তারপর আউটপুট হিসাবে Board_ConfigLed() এ কনফিগার করা হয়েছে।

FIG 5 খুলুন এসampলে প্রকল্প

এর অর্থ হল, ডেভেলপমেন্ট বোর্ডে সমস্ত LEDs ইতিমধ্যেই আউটপুট হিসাবে সংজ্ঞায়িত এবং ব্যবহারের জন্য প্রস্তুত।

 

3. একটি Z-ওয়েভ এস-এ একটি পরিবর্তন করুনampলে অ্যাপ্লিকেশন

এই অনুশীলনে আমরা সুইচ অন/অফ-এ LED-এর জন্য ব্যবহৃত GPIO-গুলিকে সংশোধন করব।ampআবেদন পূর্ববর্তী বিভাগে আমরা শিখেছি কিভাবে ডেভেলপমেন্ট বোর্ডের সমস্ত LED ইতিমধ্যেই আউটপুট হিসাবে শুরু করা হয়েছে এবং ব্যবহারের জন্য প্রস্তুত।

3.1 RGB LED ব্যবহার করুন

আমরা বোতাম বোর্ডে LED এর পরিবর্তে Z-ওয়েভ ডেভেলপমেন্ট মডিউলে অনবোর্ড RGB LED ব্যবহার করব।

1. SwitchOnOff.c প্রধান অ্যাপ্লিকেশানে চিত্র 6-এ দেখানো RefreshMMI ফাংশনটি সনাক্ত করুন file.

FIG 6 কোনো পরিবর্তন ছাড়াই রিফ্রেশ এমএমআই

চিত্র 6: কোনো পরিবর্তন ছাড়াই রিফ্রেশ এমএমআই

2. আমরা "Board_SetLed" ফাংশনটি ব্যবহার করব কিন্তু GPIO পরিবর্তন করব৷
o BOARD_RGB1_R
o BOARD_RGB1_G
o BOARD_RGB1_B

3. চিত্র 3-এ দেখানো হিসাবে "বোর্ড_সেটLed" বন্ধ অবস্থায় এবং চালু অবস্থায় 7 বার কল করুন।

FIG 7 RGB LED ব্যবহার করার জন্য RefreshMMI পরিবর্তিত হয়েছে

আমাদের নতুন পরিবর্তন এখন বাস্তবায়িত হয়েছে, এবং আপনি কম্পাইল করতে প্রস্তুত।
একটি ডিভাইস প্রোগ্রাম করার পদক্ষেপগুলি "3A কম্পাইল সুইচ অনঅফ এবং ডিবাগ সক্ষম করুন" অনুশীলনে কভার করা হয়েছে, এবং এখানে সংক্ষিপ্তভাবে পুনরাবৃত্তি করা হয়েছে:

  1. "বিল্ড" এ ক্লিক করুন আইকন 1 প্রকল্প নির্মাণ শুরু করার জন্য বোতাম।
  2. বিল্ড শেষ হলে, “Binaries” ফোল্ডারটি প্রসারিত করুন এবং *.hex-এ রাইট ক্লিক করুন file "ডিভাইস থেকে ফ্ল্যাশ..." নির্বাচন করতে।
  3. পপ-আপ উইন্ডোতে সংযুক্ত হার্ডওয়্যার নির্বাচন করুন। "ফ্ল্যাশ প্রোগ্রামার" এখন সমস্ত প্রয়োজনীয় ডেটা দিয়ে ভরা হয়েছে, এবং আপনি "প্রোগ্রাম" এ ক্লিক করতে প্রস্তুত।
  4. "প্রোগ্রাম" ক্লিক করুন।

কিছুক্ষণ পরে প্রোগ্রামিং শেষ হয়, এবং আপনার শেষ ডিভাইসটি এখন আপনার সুইচ অন/অফের পরিবর্তিত সংস্করণের সাথে ফ্ল্যাশ হয়।

3.1.1 কার্যকারিতা পরীক্ষা করুন

পূর্ববর্তী অনুশীলনে আমরা ইতিমধ্যেই স্মার্টস্টার্ট ব্যবহার করে ডিভাইসটিকে একটি সুরক্ষিত Z-ওয়েভ নেটওয়ার্কে অন্তর্ভুক্ত করেছি। নির্দেশাবলীর জন্য "SmartStart ব্যবহার করে অন্তর্ভুক্ত করুন" অনুশীলনটি পড়ুন।

অভ্যন্তরীণ ইঙ্গিত file রিপ্রোগ্রামিংয়ের মধ্যে সিস্টেমটি মুছে ফেলা হয় না। এটি একটি নোডকে একটি নেটওয়ার্কে থাকার অনুমতি দেয় এবং আপনি যখন এটি পুনরায় প্রোগ্রাম করেন তখন একই নেটওয়ার্ক কীগুলি রাখতে পারেন।

আপনি যদি পরিবর্তন করতে চান যেমন মডিউলটি যে ফ্রিকোয়েন্সিতে কাজ করে বা DSK, তাহলে নতুন ফ্রিকোয়েন্সি অভ্যন্তরীণ NVM-এ লেখা হওয়ার আগে আপনাকে চিপটিকে "মুছে ফেলতে" হবে।

যেমন, আপনার ডিভাইস ইতিমধ্যেই নেটওয়ার্কে অন্তর্ভুক্ত করা হয়েছে৷

আপনি RGB LED চালু এবং বন্ধ করতে পারেন তা যাচাই করে কার্যকারিতা পরীক্ষা করুন।

  • পিসি কন্ট্রোলারে "বেসিক সেট অন" এবং "বেসিক সেট অফ" ব্যবহার করে কার্যকারিতা পরীক্ষা করুন। RGB LED চালু এবং বন্ধ করা উচিত।
  • হার্ডওয়্যারে BTN0 ব্যবহার করে RGB LED চালু এবং বন্ধ করা যেতে পারে।

আমরা এখন যাচাই করেছি যে পরিবর্তনটি প্রত্যাশিতভাবে কাজ করছে এবং সফলভাবে একটি এস-এ ব্যবহৃত GPIO পরিবর্তন করেছিampলে অ্যাপ্লিকেশন

3.2 RGB রঙের উপাদান পরিবর্তন করুন

এই বিভাগে, আমরা RGB LED পরিবর্তন করব এবং রঙের উপাদানগুলিকে মিশ্রিত করার চেষ্টা করব।

“RGB রঙের মডেলে একটি রঙ বর্ণনা করা হয়েছে লাল, সবুজ এবং নীলের প্রতিটির কতটা অন্তর্ভুক্ত করা হয়েছে তা নির্দেশ করে। রঙটি একটি RGB ট্রিপলেট (r,g,b) হিসাবে প্রকাশ করা হয়, যার প্রতিটি উপাদান শূন্য থেকে একটি সংজ্ঞায়িত সর্বোচ্চ মান পর্যন্ত পরিবর্তিত হতে পারে। যদি সমস্ত উপাদান শূন্য থাকে তবে ফলাফলটি কালো হয়; যদি সবগুলি সর্বাধিক হয়, ফলাফলটি সবচেয়ে উজ্জ্বল প্রতিনিধিত্বযোগ্য সাদা।"

উইকিপিডিয়া থেকে আরজিবি কালার মডেল।

FIG 8 RGB রঙের উপাদান একসাথে মিশ্রিত

যেহেতু আমরা পূর্ববর্তী বিভাগে সমস্ত রঙের উপাদানগুলি সক্ষম করেছি তখন আরজিবি এলইডি চালু থাকলে সাদা হয়৷ পৃথক উপাদান চালু এবং বন্ধ করে, আমরা LED পরিবর্তন করতে পারি। এছাড়াও, প্রতিটি রঙের উপাদানগুলির তীব্রতা সামঞ্জস্য করে, আমরা এর মধ্যে সমস্ত রঙ তৈরি করতে পারি। এর জন্য, আমরা GPIO গুলি নিয়ন্ত্রণ করতে PWM ব্যবহার করব।

  1. ApplicationTask() এ PwmTimer শুরু করুন এবং RGB পিনগুলিকে PWM-এ সেটআপ করুন, যেমন চিত্র 9-এ দেখানো হয়েছে।                                                                                FIG 9 PWM ApplicationTask-এ আরম্ভ করা হয়েছে
  2. RefreshMMI(), আমরা প্রতিটি রঙের উপাদানের জন্য একটি এলোমেলো সংখ্যা ব্যবহার করব। LED চালু করার সময় একটি নতুন মান পেতে rand() ব্যবহার করুন।
  3. সিরিয়াল ডিবাগ পোর্টে নতুন উৎপন্ন মান লিখতে DPRINTF() ব্যবহার করুন।
  4. এলোমেলো মান ব্যবহার করার জন্য Board_SetLed() কে Board_RgbLedSetPwm() দিয়ে প্রতিস্থাপন করুন।
  5. আপডেট করা RefreshMMI() এর জন্য চিত্র 10 পড়ুন।

FIG 10 RefreshMMI PWM-এর সাথে আপডেট করা হয়েছে

চিত্র 10: রিফ্রেশএমএমআই PWM এর সাথে আপডেট করা হয়েছে

আমাদের নতুন পরিবর্তন এখন বাস্তবায়িত হয়েছে, এবং আপনি কম্পাইল করতে প্রস্তুত।

  1. "বিল্ড" এ ক্লিক করুন আইকন 1 প্রকল্প নির্মাণ শুরু করার জন্য বোতাম।
  2. বিল্ড শেষ হলে, “Binaries” ফোল্ডারটি প্রসারিত করুন এবং *.hex-এ রাইট ক্লিক করুন file "ডিভাইস থেকে ফ্ল্যাশ..." নির্বাচন করতে।
  3. পপ-আপ উইন্ডোতে সংযুক্ত হার্ডওয়্যার নির্বাচন করুন। "ফ্ল্যাশ প্রোগ্রামার" এখন সমস্ত প্রয়োজনীয় ডেটা দিয়ে ভরা হয়েছে, এবং আপনি "প্রোগ্রাম" এ ক্লিক করতে প্রস্তুত।
  4. "প্রোগ্রাম" ক্লিক করুন।

কিছুক্ষণ পরে প্রোগ্রামিং শেষ হয়, এবং আপনার শেষ ডিভাইসটি এখন আপনার সুইচ অন/অফের পরিবর্তিত সংস্করণের সাথে ফ্ল্যাশ হয়।

3.2.1 কার্যকারিতা পরীক্ষা করুন

আপনি RGB LED এর রঙ পরিবর্তন করতে পারেন তা যাচাই করে কার্যকারিতা পরীক্ষা করুন।

  1. পিসি কন্ট্রোলারে "বেসিক সেট অন" ব্যবহার করে কার্যকারিতা পরীক্ষা করুন।
  2. রঙের পরিবর্তন দেখতে "বেসিক সেট অন" এ ক্লিক করুন।

আমরা এখন যাচাই করেছি যে পরিবর্তনটি প্রত্যাশিতভাবে কাজ করছে এবং PWM ব্যবহার করার জন্য GPIO সফলভাবে পরিবর্তন করেছি।

4 আলোচনা

এই অনুশীলনে আমরা একটি সাধারণ LED নিয়ন্ত্রণ থেকে বহু রঙের LED নিয়ন্ত্রণে সুইচ অন/অফ পরিবর্তন করেছি। PWM মানগুলির উপর নির্ভর করে, আমরা এখন যেকোনো রঙ এবং তীব্রতায় পরিবর্তন করতে পারি।

  • একটি "বাইনারী সুইচ" এই অ্যাপ্লিকেশনের জন্য ডিভাইসের ধরন হিসাবে ব্যবহার করা উচিত?
  • মাল্টি-কালার এলইডির জন্য কোন কমান্ড ক্লাসগুলি আরও উপযুক্ত?

প্রশ্নের উত্তর দেওয়ার জন্য, আপনার জেড-ওয়েভ স্পেসিফিকেশন উল্লেখ করা উচিত:

  • জেড-ওয়েভ প্লাস v2 ডিভাইস টাইপ স্পেসিফিকেশন
  • জেড-ওয়েভ অ্যাপ্লিকেশন কমান্ড ক্লাস স্পেসিফিকেশন

এটি একটি জেড-ওয়েভ এস এর জিপিআইওগুলিকে কীভাবে পরিবর্তন এবং পরিবর্তন করতে হয় তার টিউটোরিয়ালটি শেষ করে।ampলে অ্যাপ্লিকেশন।

 

এই ম্যানুয়াল সম্পর্কে আরও পড়ুন এবং PDF ডাউনলোড করুন:

দলিল/সম্পদ

সিলিকন ল্যাবস ল্যাব 3B - সুইচ অন/অফ পরিবর্তন করুন [পিডিএফ] ব্যবহারকারীর নির্দেশিকা
ল্যাব 3B, মডিফাই সুইচ, অন, অফ, জেড-ওয়েভ, SDK

তথ্যসূত্র

একটি মন্তব্য করুন

আপনার ইমেল ঠিকানা প্রকাশ করা হবে না. প্রয়োজনীয় ক্ষেত্রগুলি চিহ্নিত করা হয়েছে *