

**থিংস** বলতে আইওটির এই অংশটি এমন একটি ডিভাইসকে বোঝায় যা চারপাশের জগতের সাথে যোগাযোগ করতে পারে। এই ডিভাইসগুলি সাধারণত ছোট, কম দামের কম্পিউটার, কম গতিতে চলমান এবং কম শক্তি ব্যবহার করে। উদাহরণস্বরূপ সাধারণ মাইক্রোকন্ট্রোলারগুলি কিলোবাইট র্যামের (অথচ একটি পিসিতে তা গিগাবাইটের) চালিত হয় মাত্র কয়েক শতাধিক মেগাহার্টজ (অথচ একটি পিসিতে তা গিগাহার্টজের)। তবে কখনও কখনও এত অল্প শক্তি ব্যবহার করে তারা ব্যাটারিতে সপ্তাহ, মাস বা কয়েক বছর ধরে চলতে পারে।
এই যন্ত্রগুলো আমাদের চারপাশের পৃথিবীর সাথে সংযুক্ত থাকে; হয় সেন্সর ব্যবহার করে তথ্য সংগ্রহ করে অথবা একচুয়েটরের আউটপুট নিয়ন্ত্রণ করে কোন কাজ করার মাধ্যমে। এর সাধারণ একটি উদাহরণ হল স্মার্ট থার্মোস্ট্যাট -এমন একটি ডিভাইস যার মধ্যে তাপমাত্রা সেন্সর থাকে। এছাড়াও এতে থাকে একটি পছন্দসই তাপমাত্রা সেট করার উপায় যেমন ডায়াল বা টাচস্ক্রিন ব্যবহার করে এবং একটি তাপীকরণ বা শীতলকরণ ব্যবস্থার সাথে সংযুক্ত থাকে। ব্যবহারকারীর নির্ধারিত সীমার বাইরে গেলেই এই যন্ত্রগুলো চালু হয় । এখানে উদাহরণস্বরূপ, তাপমাত্রা সেন্সর সনাক্ত করে যে ঘরটি খুব শীতল এবং একটি একচুয়েটর তখন হিটিং চালু করে।


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


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


✅ ইন্টারনেট সংযুক্ত থার্মোস্ট্যাটকে আরও স্মার্ট করে তুলতে অন্য কোন কোন ধরণের ডেটা সাহায্য করতে পারে?
@ -79,7 +79,7 @@
> 💁 সিপিইউগুলো [fetch-decode-execute cycle](https://wikipedia.org/wiki/Instruction_cycle) ব্যবহার করে প্রোগ্রাম এক্সেকিউট করে। প্রতি টিক এর সাথে সিপিইউ পরবর্তী নির্দেশনা গ্রহণ করবে, তা ডিকোড করবে এবং পরিশেষে এক্সেকিউট করবে যেমনঃ Arithmetic Logic Unit (ALU) ব্যবহার করে ২ যোগ করা। কিছু কিছু এক্সেকিউশন এর জন্য একাধিক টিক বা সাইকেল দরকার হয়। কাজ হয়ে যাওয়ার পর, পরবর্তী টিক আসলে তবেই পরের সাইকেলটি রান করবে।


মাইক্রোকন্ট্রোলারগুলির ক্লক স্পীড ডেস্কটপ বা ল্যাপটপ কম্পিউটার, এমনকি বেশিরভাগ স্মার্টফোনের চেয়ে অনেক কম। উদাহরণস্বরূপ, Wio টার্মিনালের একটি সিপিইউ রয়েছে যা 120MHz বা সেকেন্ডে 120,000,000 সাইকেল চালায়।
@ -113,7 +113,7 @@
নীচের চিত্রটি 192KB এবং 8GB এর মধ্যে আপেক্ষিক আকারের পার্থক্য দেখায় - কেন্দ্রের ছোট ডটটি 192KB উপস্থাপন করে।


প্রোগ্রাম মেমোরিও পিসির তুলনায় কম। একটি সাধারণ পিসিতে প্রোগ্রাম স্টোরেজের জন্য 500 গিগাবাইটের হার্ড ড্রাইভ থাকতে পারে, অন্যদিকে মাইক্রোকন্ট্রোলারের কাছে কেবল কিলোবাইট পর্যায়ের বা কয়েক মেগাবাইট (এমবি) স্টোরেজ থাকতে পারে (1 এমবি হলো 1000KB বা 1,000,000 বাইট এর সমান)। উইও টার্মিনালে 4MB প্রোগ্রাম স্টোরেজ রয়েছে।
[আরডুইনো](https://www.arduino.cc) খুব সম্ভবত সবচেয়ে জনপ্রিয় মাইক্রোকন্ট্রোলার ফ্রেমওয়ার্ক, বিশেষতঃ শিক্ষার্থী, শখের বশে আইওটিতে কাজ করতে আগ্রহীদের মাঝে। আরডুইনো একটি ওপেন সোর্স ইলেক্ট্রনিক্স প্ল্যাটফর্ম যা সফ্টওয়্যার এবং হার্ডওয়্যার সমন্বিত। আরডুইনো থেকে বা অন্য নির্মাতাদের কাছ থেকে আমরা আরডুইন সম্বলিত বোর্ড কিনে সেই ফ্রেমওয়ার্ক ব্যবহার করে কোড করতে পারবো।
@ -169,7 +169,7 @@ Wio Terminal পর্যালোচনা করি।
আমরা সেটআপ কোডটি `setup` ফাংশনে লিখবো, যেমন ওয়াইফাই এবং ক্লাউড সার্ভিসের সাথে সংযুক্ত হওয়া বা ইনপুট এবং আউটপুট জন্য পিন চালু হওয়া। আমাদের লুপ কোডটিতে তখন প্রসেসিং কোড থাকবে যেমন সেন্সর থেকে ডেটা নেয়া এবং ক্লাউডে তা পাঠানো । প্রতিটি লুপে সাধারণত একটি বিলম্ব (delay) অন্তর্ভুক্ত করতে হবে, উদাহরণস্বরূপ যদি আমরা কেবল 10 সেকেন্ড পরপর সেন্সর ডেটা প্রেরণ করতে চাই, তবে লুপের শেষে 10 সেকেন্ডের বিলম্ব যুক্ত করতে হবে, যাতে মাইক্রোকন্ট্রোলার তখন বিশ্রামে থাকে, শক্তি সঞ্চয় করে এবং তারপরে আবার 10 সেকেন্ড পরে যখন ডেটা প্রয়োজন হবে, তখন ল্যুপ চলবে।


✅ এই প্রোগ্রাম আর্কিটেকচারকে বলা হয় *event loop* অথবা *message loop*. অনেক অ্যাপ্লিকেশন এটি ব্যবহার করে এবং উইন্ডোজ, ম্যাক-ওএস বা লিনাক্সের মতো ওএসে চালিত বেশিরভাগ ডেস্কটপ অ্যাপ্লিকেশনগুলির জন্য এটি স্ট্যান্ডার্ড। `loop` এখানে বাটনের মতো ব্যবহারকারী বা ইন্টারফেস উপাদান বা কীবোর্ডের মতো ডিভাইসগুলির নির্দেশনা গ্রহণ করে এবং সেই অনুযায়ে সাড়া দেয়। আরো বিস্তারিত জানতে [ইভেন্ট ল্যুপ](https://wikipedia.org/wiki/Event_loop) সংক্রান্ত লেখাটি পড়তে পারি।
@ -177,7 +177,7 @@ Wio Terminal পর্যালোচনা করি।
থার্ড-পার্টি আরডুইনো লাইব্রেরির একটি বড় সংগ্রহ রয়েছে যা আরডুইনো প্রকল্পগুলিতে অতিরিক্ত বৈশিষ্ট্য যুক্ত করার অনুমতি দেয় যেমন সেন্সর এবং অ্যাকচুয়েটর ব্যবহার করে বা ক্লাউড আইওটি সার্ভিসগুলিতে সংযুক্ত করা।
##### কাজ
#### কাজ
Wio Terminal পর্যালোচনা করি।
@ -189,17 +189,17 @@ Wio Terminal পর্যালোচনা করি।
### রাস্পবেরি পাই


[Raspberry Pi Foundation](https://www.raspberrypi.org) হলো মূলত স্কুল পর্যায়ে কম্পিউটার বিজ্ঞানের অধ্যয়নের প্রচারের জন্য ২০০৯ সালে প্রতিষ্ঠিত যুক্তরাজ্যের একটি দাতব্য সংস্থা। এই মিশনের অংশ হিসাবে তারা সিংগেল-বোর্ড কম্পিউটার তৈরী করে, যার নাম রাস্পবেরি পাই। এটি বর্তমানে ৩টি ভেরিয়েন্টে পাওয়া যা - একটি পূর্ণ আকারের সংস্করণ, ছোট পাই জিরো এবং একটি চূড়ান্ত মডিউল যা দিয়ে আমাদের আইওটি ডিভাইসে তৈরি করা যেতে পারে।


পূর্ণ আকারের রাস্পবেরি পাইয়ের সর্বশেষ ভার্সন হল Raspberry Pi 4B । এটিতে একটি কোয়াড-কোর (4 কোর) সিপিইউ রয়েছে যা 1.5GHz এবং 2, 4, বা 8 জিবি র্যাম, গিগাবিট ইথারনেট, ওয়াইফাই, 2টি এইচডিএমআই পোর্ট 4K স্ক্রিন সমর্থন করে, একটি অডিও এবং মিশ্রিত ভিডিও আউটপুট পোর্ট, ইউএসবি পোর্টস (USB 2.0, 2 USB 3.0 ভার্সন), 40টি জিপিআইও পিন, রাস্পবেরি পাই ক্যামেরা মডিউলটির জন্য একটি ক্যামেরা সংযোজক এবং একটি এসডি কার্ড স্লট। এই সমস্ত বোর্ড যা রয়েছে সব মিলিয়ে 88mm x 58mm x 19.5mm সাইজ এবং এটি একটি 3A USB-C পাওয়ার সাপ্লাই দ্বারা চালিত। রাস্পবেরি পাইয়ের দাম 35 মার্কিন ডলার থেকে শুরু হয়, যা পিসি বা ম্যাক এর তুলনায় অনেক কম।
> 💁 Pi400 নামে একটি "একের-ভিতর-সব" কম্পিউটার রয়েছে, যার কীবোর্ডে Pi4 বিল্ট-ইন রয়েছে।


পাই জিরো এর আকার অনেক ছোট , যার পাওয়ার অনেক কম। এটিতে একটি একক কোর 1GHz সিপিইউ, 512 এমবি র্যাম, ওয়াইফাই (Zero W model এ ), একটি এইচডিএমআই পোর্ট, একটি মাইক্রো-ইউএসবি পোর্ট, 40টি জিপিআইও পিন, রাস্পবেরি পাই ক্যামেরা মডিউলটির সাথে একটি ক্যামেরা সংযোগকারী এবং একটি এসডি কার্ড স্লট রয়েছে।পাই এর আকার 65 মিমি x 30 মিমি x 5 মিমি এবং খুব অল্প পাওয়ার নিয়েই কাজ করতে পারে। পাই জিরো এর মূল্য 5 মার্কিন ডলার, আর ওয়াইফাই সহ , W ভার্সনটির দাম 10 মার্কিন ডলার।
@ -242,9 +242,10 @@ Wio Terminal পর্যালোচনা করি।
* [Arduino getting started guide](https://www.arduino.cc/en/Guide/Introduction) টি পড়ে আরডুইনো প্লাটফর্ম সম্পর্কে আরো জানতে হবে।
* [introduction to the Raspberry Pi 4](https://www.raspberrypi.org/products/raspberry-pi-4-model-b/) পড়ে রাস্পবেরি পাই সম্পর্কে আরো জানতে হবে।
* বিভিন্ন কনসেপ্ট এবং সংক্ষিপ্ত শব্দ এর ব্যাপারে জানতে [What the FAQ are CPUs, MPUs, MCUs, and GPUs article in the Electrical Engineering Journal](https://www.eejournal.com/article/what-the-faq-are-cpus-mpus-mcus-and-gpus/) আর্টিকেল টি উপকারী হবে।
✅ কোন হার্ডওয়্যার প্ল্যাটফর্মটি ব্যবহার করলে ভালো হবে বা শুধুমাত্র ভার্চুয়াল ডিভাইস ব্যবহার করবো কিনা তবে সিদ্ধান্ত নেওয়ার জন্য [হার্ডওয়্যার গাইডের](../../../hardware.md) লিংকগুলোতে প্রদত্ত খরচ এর তুলনা করতে হবে।
✅ কোন হার্ডওয়্যার প্ল্যাটফর্মটি ব্যবহার করলে ভালো হবে বা শুধুমাত্র ভার্চুয়াল ডিভাইস ব্যবহার করবো কিনা তবে সিদ্ধান্ত নেওয়ার জন্য [হার্ডওয়্যার গাইডের](../../../../translations/hardware.bn.md) লিংকগুলোতে প্রদত্ত খরচ এর তুলনা করতে হবে।
## এসাইনমেন্ট
[মাইক্রোকন্ট্রোলার এবং সিংগেল-বোর্ড কম্পিউটারের তুলনা করে পার্থক্য দাঁড় করানো](assignment.md)।
[মাইক্রোকন্ট্রোলার এবং সিংগেল-বোর্ড কম্পিউটারের তুলনা করে পার্থক্য দাঁড় করানো](assignment.bn.md)।