সুচিপত্র:

ইউটিউব দর্শনের জন্য একটি আরডুইনো লাইব্রেরি তৈরি করা: 7 টি ধাপ
ইউটিউব দর্শনের জন্য একটি আরডুইনো লাইব্রেরি তৈরি করা: 7 টি ধাপ

ভিডিও: ইউটিউব দর্শনের জন্য একটি আরডুইনো লাইব্রেরি তৈরি করা: 7 টি ধাপ

ভিডিও: ইউটিউব দর্শনের জন্য একটি আরডুইনো লাইব্রেরি তৈরি করা: 7 টি ধাপ
ভিডিও: PCA9685 এবং আরডুইনো: ভি 3 ব্যবহার করে 32 সার্ভো মোটর নিয়ন্ত্রণ করছে 2024, সেপ্টেম্বর
Anonim
Image
Image
লাইব্রেরি কি?
লাইব্রেরি কি?

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

ধাপ 1: লাইব্রেরি কি?

লাইব্রেরি কি?
লাইব্রেরি কি?

একটি লাইব্রেরি হল কোডের একটি অংশ যা একটি নির্দিষ্ট অপারেশন পরিচালনা করতে পারে, এক ধরনের ডেটা প্রক্রিয়া করতে পারে অথবা একটি নির্দিষ্ট হার্ডওয়্যার উপাদানের সাথে কীভাবে যোগাযোগ করতে হয় তা জানতে পারে। তারা আমাদের সহজেই Arduino পরিবেশ প্রসারিত করতে দেয় এবং তাদের মধ্যে অনেকগুলি Arduino IDE এর সাথে প্রাক-ইনস্টল করা আছে।

আমার মতো ক্ষেত্রে, যেখানে আমরা আরডুইনোতে নতুন সম্ভাবনা যোগ করতে চাই, আমরা অন্যদের ব্যবহার করার জন্য আমাদের নিজস্ব লাইব্রেরি তৈরি করতে পারি। ইনস্টল করা সমস্ত লাইব্রেরি আমাদের কম্পিউটারের একটি নির্দিষ্ট ফোল্ডারে থাকে। উইন্ডোজ পিসির জন্য আমার ক্ষেত্রে, লাইব্রেরিগুলি ডকুমেন্টস/আরডুইনো ফোল্ডারের অধীনে থাকে। আপনার ব্যবহারকারীর নামের উপর ভিত্তি করে সম্পূর্ণ পথটি আপনার জন্য নির্দিষ্ট হবে।

ধাপ 2: লাইব্রেরির গঠন এবং ফাইল

গ্রন্থাগার কাঠামো এবং ফাইল
গ্রন্থাগার কাঠামো এবং ফাইল

আমাদের লাইব্রেরি নির্মাণ শুরু করার জন্য, আমাদের প্রথমে এর নামের সাথে একটি ফোল্ডার তৈরি করতে হবে তাই আমি ইউটিউব সাইট নামে একটি ফোল্ডার তৈরি করেছি। লাইব্রেরির ন্যূনতম সংস্করণে আমাদের কমপক্ষে দুটি ফাইল থাকতে হবে।

প্রথমটি একটি তথাকথিত "হেডার" ফাইল যা আমাদের লাইব্রেরি দ্বারা প্রদত্ত পদ্ধতি এবং বৈশিষ্ট্যগুলির সমস্ত সংজ্ঞা ধারণ করে এবং দ্বিতীয়টি হল সোর্স ফাইল যাতে সমস্ত সোর্স কোড থাকবে।

হেডার ফাইলগুলির ".h" এর একটি এক্সটেনশন থাকে যখন সোর্স ফাইলটির ".cpp" এর একটি এক্সটেনশন থাকে এবং তাদের সাধারণত ফাইলের নাম হিসাবে লাইব্রেরির নাম থাকে। আমার ক্ষেত্রে, দুটি ফাইলকে "YouTubeSight.h" এবং "YouTubeSight.cpp" বলা হয়।

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

সম্পূর্ণ কোড এবং লাইব্রেরি GitHub থেকে নিচের লিঙ্কে ডাউনলোড করার জন্য উপলব্ধ:

ধাপ 3: হেডার ফাইল

হেডার ফাইল
হেডার ফাইল
হেডার ফাইল
হেডার ফাইল
হেডার ফাইল
হেডার ফাইল

শিরোলেখ ফাইলের ভিতরে, শুরুতে, সম্পূর্ণ ফাইলটি একটি "ifndef" স্টেটমেন্টের ভিতরে আবৃত থাকে যা যাচাই করে যে নির্দিষ্ট ভেরিয়েবলটি সংজ্ঞায়িত হয়েছে কি না। এটি যে কেউ লাইব্রেরি ব্যবহার করে তার ভুল ত্রুটি রোধ করবে যদি তারা ভুল করে একই স্কেচে দুবার অন্তর্ভুক্ত করে।

এরপরে, আমাদের বেস আরডুইনো লাইব্রেরি অন্তর্ভুক্ত করতে হবে এবং যেহেতু আমরা ইউটিউব সাইটের কাছে অনুরোধ পাঠানোর জন্য কোনও ধরণের HTTP ক্লায়েন্টের সাথে কাজ করব আমরা বেস ক্লায়েন্ট লাইব্রেরিও অন্তর্ভুক্ত করব।

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

এছাড়াও এই বিভাগে, আমরা এই চ্যানেল স্ট্যাটিস্টিকস স্ট্রাকচারের মত যে কোন কাস্টম প্রকারের সংজ্ঞা দিতে পারি যা আমরা ফলাফল সংরক্ষণ করব।

শ্রেণী কাঠামোর সংজ্ঞা দুটি ভাগে বিভক্ত। প্রথম অংশ হল সমস্ত পাবলিক ফাংশন এবং বৈশিষ্ট্যের সংজ্ঞা এবং দ্বিতীয়টি হল সমস্ত ব্যক্তিগত ফাংশন এবং বৈশিষ্ট্যের সংজ্ঞা। উভয়ের মধ্যে পার্থক্য হল যে আমাদের লাইব্রেরির শেষ ব্যবহারকারীরা সরাসরি ব্যক্তিগত বিভাগ থেকে কিছু ব্যবহার করতে পারবে না, যখন তারা জনসাধারণের অংশ থেকে কোন বৈশিষ্ট্য এবং ফাংশন সরাসরি সংশোধন করতে এবং ব্যবহার করতে সক্ষম হবে।

পাবলিক বিভাগে, আমরা ক্লাস কনস্ট্রাক্টর, চ্যানেল স্ট্যাটস ভেরিয়েবলকে সংজ্ঞায়িত করি যেখানে আমরা ফলাফল সংরক্ষণ করব, যে ফাংশনটি ডেটা পাবে এবং একটি ডিবাগ প্রপার্টি যা আমরা পরবর্তীতে ব্যবহার করতে পারি এমন ক্ষেত্রে যেখানে আমরা প্রত্যাশিত ফলাফল নাও পেতে পারি।

ব্যক্তিগত বৈশিষ্ট্যগুলির জন্য, আমরা চ্যানেল GUID সংরক্ষণের জন্য একটি সংজ্ঞায়িত করব, HTTP ক্লায়েন্টের জন্য একটি নির্দেশক যা আমরা ব্যবহার করব এবং একটি ফাংশন যা ইউটিউব সাইট থেকে ফিরে আসা স্ট্রিংকে বিভক্ত করবে।

ধাপ 4: সোর্স ফাইল

সোর্স ফাইল
সোর্স ফাইল
সোর্স ফাইল
সোর্স ফাইল

এখন আসুন সোর্স ফাইলের ভিতরে এই সমস্ত বাস্তব বাস্তবায়ন দেখি।

আমাদের জন্য প্রথম পদক্ষেপ হল আমাদের নিজস্ব হেডার ফাইলটি অন্তর্ভুক্ত করা যা আমরা সদ্য তৈরি করেছি এবং তারপরে আমাদের লাইব্রেরি কনস্ট্রাক্টরকে সংজ্ঞায়িত করতে হবে। এতে, আমরা দুটি ভেরিয়েবল পাস করি। GUID প্রাইভেট ভেরিয়েবলে সংরক্ষিত আছে যা আমরা আগে সংজ্ঞায়িত করেছি এবং ক্লায়েন্ট রেফারেন্স দ্বারা পাস করা হয় যাতে আমরা সেই একই উদাহরণকে কল করতে পারি যা আমরা পেয়েছিলাম।

লাইব্রেরির প্রধান গেটডাটা ফাংশনটি প্রথমে সংজ্ঞায়িত করা হয় প্রথমে রিটার্ন টাইপ উল্লেখ করে, এরপর লাইব্রেরির নাম এবং ফাংশনের নাম। আমি এই ফাংশনে প্রতিটি একক লাইন কী করে তার বিশদ বিবরণে যাব না, তবে সাধারণভাবে, ফাংশনটি ইউটিউব সাইট সার্ভারের সাথে একটি সংযোগ খুলে দেয়, পরিসংখ্যান পাওয়ার অনুরোধ পাঠায় এবং তারপরে ফিরে আসা ডেটা পার্স করে ব্যক্তিগত getValue ফাংশন।

পুনরুদ্ধারকৃত ফলাফলগুলি চ্যানেল স্ট্যাটস ভেরিয়েবলে সেট করা হয় এবং যদি আমরা ফলাফলগুলি পুনরুদ্ধার করতে সফল হই বা না করি এবং সেই সাথে আমাদের লাইব্রেরির মূলটি সম্পূর্ণ হয় তবে একটি সূচক প্রদান করা হয়।

ধাপ 5: উদাহরণ স্কেচ প্রদান

উদাহরণ স্কেচ প্রদান
উদাহরণ স্কেচ প্রদান

সাধারণত আপনি, প্রতিটি লাইব্রেরি এমন উদাহরণ দেয় যা আপনি দ্রুত লোড করতে পারেন এবং লাইব্রেরি কী করতে পারে এবং কীভাবে এটি করতে পারে তা প্রদর্শন করতে ব্যবহার করতে পারেন। এই ধরনের উদাহরণ প্রদানের জন্য, আমাদের লাইব্রেরির কাঠামো পরিবর্তন করতে হবে যেখানে এখন হেডার এবং সোর্স ফাইল একটি "src" ফোল্ডারে থাকবে এবং লাইব্রেরির মূলের অধীনে একটি নতুন ফোল্ডার যোগ করা হবে যার নাম "উদাহরণ"।

এই ফোল্ডারের ভিতরে আপনি যে কোন Arduino স্কেচ রাখবেন তা Arduino IDE থেকে আপনার লাইব্রেরির উদাহরণ হিসেবে পরিবেশন করা হবে এবং মানুষ তা দ্রুত অন্বেষণ করতে পারে এবং লাইব্রেরি কীভাবে কাজ করে তা জানতে পারে।

ধাপ 6: লাইব্রেরি ম্যানেজারের কাছে প্রকাশ

লাইব্রেরি ম্যানেজারের কাছে প্রকাশ
লাইব্রেরি ম্যানেজারের কাছে প্রকাশ

লাইব্রেরি ব্যবহার করার জন্য, লোকেদের কেবল আপনার লাইব্রেরির হেডার ফাইলটি তাদের স্কেচে অন্তর্ভুক্ত করতে হবে এবং Arduino IDE এটিকে একসাথে তৈরি করবে। কিন্তু এটি করার জন্য, তাদের প্রথমে তাদের মেশিনে এটি ইনস্টল করতে হবে।

একটি সাধারণ উপায় হল GitHub থেকে লাইব্রেরি ডাউনলোড করা এবং IDE তে ZIP ইনস্টলারের মাধ্যমে এটি ইনস্টল করা বা কেবল লাইব্রেরি ফোল্ডারের ভিতরে রাখুন যেমনটা আমরা যখন তৈরি করছিলাম। যাইহোক, আরডুইনো আইডিইতে লাইব্রেরি ম্যানেজার নামে একটি সরঞ্জাম অন্তর্ভুক্ত রয়েছে যা আপনাকে সরাসরি আইডিই থেকে লাইব্রেরি অনুসন্ধান করতে দেয়।

এতে আপনার লাইব্রেরী অন্তর্ভুক্ত করার জন্য, আমাদের প্রথমে "library.properties" নামক রুট ফোল্ডারে একটি অতিরিক্ত ফাইল তৈরি করতে হবে এবং এতে আমাদের লাইব্রেরির নাম, বর্তমান সংস্করণ এবং কিছু অতিরিক্ত তথ্য উল্লেখ করতে হবে যা লাইব্রেরি ম্যানেজারকে সাহায্য করবে এটি সম্পর্কে আরও ভাল তথ্য প্রদর্শন করতে।

ফাইলের জায়গায়, Arduino GitHub পৃষ্ঠায় একটি সমস্যা তৈরি করা দরকার যা কেবল আপনার লাইব্রেরিকে লিঙ্ক সহ সূচীতে অন্তর্ভুক্ত করতে বলে এবং একবার এটি অনুমোদিত হয়ে গেলে এবং Arduino কর্মীদের দ্বারা যোগ করা হলে, লাইব্রেরি ম্যানেজার হবে ফলাফলে আপনার লাইব্রেরি দেওয়া শুরু করুন। উপরন্তু, ম্যানেজার ভবিষ্যতে গিটহাব রেপোতে যে কোনও সংস্করণের ট্যাগগুলি সন্ধান করবেন এবং এটি পরিবর্তন করার পরে এটি ব্যবহারকারীকে একটি আপডেট প্রদান করবেন।

ধাপ 7: পরবর্তী পদক্ষেপ

আমি আশা করি যে এই নির্দেশের পরে, আপনি Arduino লাইব্রেরিগুলি কীভাবে কাজ করেন, আপনি কীভাবে একটি তৈরি করতে পারেন এবং সবচেয়ে গুরুত্বপূর্ণভাবে, আপনার আরও বড় ধারণা সম্পর্কে কাজ শুরু করার জন্য অনুপ্রাণিত হবেন সে সম্পর্কে আপনার আরও ভাল ধারণা আছে।

কোন অতিরিক্ত প্রশ্ন বা পরামর্শের জন্য নির্দ্বিধায় মন্তব্যগুলিতে লিখুন, আমার ইউটিউব চ্যানেলটি সাবস্ক্রাইব করুন এবং আমাকে এখানে নির্দেশাবলীতে অনুসরণ করুন।

প্রস্তাবিত: