# তাপমাত্রা পরিমাপ করুন - ভার্চুয়াল IoT হার্ডওয়্যার এই পাঠের এই অংশে, আপনি আপনার ভার্চুয়াল IoT ডিভাইসে একটি তাপমাত্রা সেন্সর যোগ করবেন। ## ভার্চুয়াল হার্ডওয়্যার ভার্চুয়াল IoT ডিভাইসটি একটি সিমুলেটেড Grove Digital Humidity এবং Temperature সেন্সর ব্যবহার করবে। এটি এই ল্যাবটিকে একটি Raspberry Pi এবং একটি বাস্তব Grove DHT11 সেন্সর ব্যবহার করার মতোই রাখে। এই সেন্সরটি **তাপমাত্রা সেন্সর** এবং **আর্দ্রতা সেন্সর** একত্রিত করে, তবে এই ল্যাবে আপনি শুধুমাত্র তাপমাত্রা সেন্সর অংশটি নিয়ে কাজ করবেন। একটি বাস্তব IoT ডিভাইসে, তাপমাত্রা সেন্সরটি একটি [থার্মিস্টর](https://wikipedia.org/wiki/Thermistor) হবে যা তাপমাত্রার পরিবর্তনের সাথে প্রতিরোধের পরিবর্তন অনুভব করে তাপমাত্রা পরিমাপ করে। তাপমাত্রা সেন্সর সাধারণত ডিজিটাল সেন্সর হয় যা অভ্যন্তরীণভাবে পরিমাপ করা প্রতিরোধকে ডিগ্রি সেলসিয়াস (বা কেলভিন, বা ফারেনহাইট) তাপমাত্রায় রূপান্তরিত করে। ### CounterFit-এ সেন্সর যোগ করুন একটি ভার্চুয়াল আর্দ্রতা এবং তাপমাত্রা সেন্সর ব্যবহার করতে, আপনাকে CounterFit অ্যাপে দুটি সেন্সর যোগ করতে হবে। #### কাজ - CounterFit-এ সেন্সর যোগ করুন CounterFit অ্যাপে আর্দ্রতা এবং তাপমাত্রা সেন্সর যোগ করুন। 1. আপনার কম্পিউটারে `temperature-sensor` নামে একটি ফোল্ডারে একটি নতুন Python অ্যাপ তৈরি করুন, যেখানে একটি ফাইল থাকবে `app.py` নামে এবং একটি Python ভার্চুয়াল পরিবেশ থাকবে। CounterFit pip প্যাকেজগুলো যোগ করুন। > ⚠️ [CounterFit Python প্রকল্প তৈরি এবং সেটআপ করার নির্দেশনা প্রথম পাঠে পাওয়া যাবে](../../../1-getting-started/lessons/1-introduction-to-iot/virtual-device.md)। 1. DHT11 সেন্সরের জন্য একটি CounterFit শিম ইনস্টল করতে একটি অতিরিক্ত Pip প্যাকেজ ইনস্টল করুন। নিশ্চিত করুন যে আপনি এটি একটি টার্মিনাল থেকে ইনস্টল করছেন যেখানে ভার্চুয়াল পরিবেশ সক্রিয় রয়েছে। ```sh pip install counterfit-shims-seeed-python-dht ``` 1. নিশ্চিত করুন যে CounterFit ওয়েব অ্যাপটি চালু রয়েছে। 1. একটি আর্দ্রতা সেন্সর তৈরি করুন: 1. *Sensors* প্যানের *Create sensor* বাক্সে, *Sensor type* ড্রপডাউন থেকে *Humidity* নির্বাচন করুন। 1. *Units* সেট করুন *Percentage*। 1. নিশ্চিত করুন যে *Pin* সেট করা আছে *5*। 1. **Add** বোতামটি নির্বাচন করুন যাতে পিন 5-এ আর্দ্রতা সেন্সর তৈরি হয়। ![আর্দ্রতা সেন্সরের সেটিংস](../../../../../translated_images/counterfit-create-humidity-sensor.2750e27b6f30e09cf4e22101defd5252710717620816ab41ba688f91f757c49a.bn.png) আর্দ্রতা সেন্সর তৈরি হবে এবং সেন্সর তালিকায় প্রদর্শিত হবে। ![তৈরি করা আর্দ্রতা সেন্সর](../../../../../translated_images/counterfit-humidity-sensor.7b12f7f339e430cb26c8211d2dba4ef75261b353a01da0932698b5bebd693f27.bn.png) 1. একটি তাপমাত্রা সেন্সর তৈরি করুন: 1. *Sensors* প্যানের *Create sensor* বাক্সে, *Sensor type* ড্রপডাউন থেকে *Temperature* নির্বাচন করুন। 1. *Units* সেট করুন *Celsius*। 1. নিশ্চিত করুন যে *Pin* সেট করা আছে *6*। 1. **Add** বোতামটি নির্বাচন করুন যাতে পিন 6-এ তাপমাত্রা সেন্সর তৈরি হয়। ![তাপমাত্রা সেন্সরের সেটিংস](../../../../../translated_images/counterfit-create-temperature-sensor.199350ed34f7343d79dccbe95eaf6c11d2121f03d1c35ab9613b330c23f39b29.bn.png) তাপমাত্রা সেন্সর তৈরি হবে এবং সেন্সর তালিকায় প্রদর্শিত হবে। ![তৈরি করা তাপমাত্রা সেন্সর](../../../../../translated_images/counterfit-temperature-sensor.f0560236c96a9016bafce7f6f792476fe3367bc6941a1f7d5811d144d4bcbfff.bn.png) ## তাপমাত্রা সেন্সর অ্যাপ প্রোগ্রাম করুন এখন CounterFit সেন্সর ব্যবহার করে তাপমাত্রা সেন্সর অ্যাপ প্রোগ্রাম করা যাবে। ### কাজ - তাপমাত্রা সেন্সর অ্যাপ প্রোগ্রাম করুন তাপমাত্রা সেন্সর অ্যাপ প্রোগ্রাম করুন। 1. নিশ্চিত করুন যে `temperature-sensor` অ্যাপটি VS Code-এ খোলা রয়েছে। 1. `app.py` ফাইলটি খুলুন। 1. CounterFit-এর সাথে অ্যাপটি সংযুক্ত করতে `app.py`-এর শীর্ষে নিম্নলিখিত কোড যোগ করুন: ```python from counterfit_connection import CounterFitConnection CounterFitConnection.init('127.0.0.1', 5000) ``` 1. প্রয়োজনীয় লাইব্রেরি আমদানি করতে `app.py` ফাইলে নিম্নলিখিত কোড যোগ করুন: ```python import time from counterfit_shims_seeed_python_dht import DHT ``` `from seeed_dht import DHT` স্টেটমেন্টটি `DHT` সেন্সর ক্লাস আমদানি করে যাতে `counterfit_shims_seeed_python_dht` মডিউল থেকে শিম ব্যবহার করে একটি ভার্চুয়াল Grove তাপমাত্রা সেন্সরের সাথে ইন্টারঅ্যাক্ট করা যায়। 1. উপরের কোডের পরে নিম্নলিখিত কোড যোগ করুন যাতে ভার্চুয়াল আর্দ্রতা এবং তাপমাত্রা সেন্সর পরিচালনা করার জন্য একটি ক্লাসের ইনস্ট্যান্স তৈরি করা যায়: ```python sensor = DHT("11", 5) ``` এটি **D**igital **H**umidity এবং **T**emperature সেন্সর পরিচালনা করার জন্য `DHT` ক্লাসের একটি ইনস্ট্যান্স ঘোষণা করে। প্রথম প্যারামিটারটি কোডকে জানায় যে ব্যবহৃত সেন্সরটি একটি ভার্চুয়াল *DHT11* সেন্সর। দ্বিতীয় প্যারামিটারটি কোডকে জানায় যে সেন্সরটি পোর্ট `5`-এ সংযুক্ত। > 💁 CounterFit এই সংযুক্ত আর্দ্রতা এবং তাপমাত্রা সেন্সরটি দুটি সেন্সরের সাথে সংযোগ করে সিমুলেট করে। যদি আর্দ্রতা সেন্সরটি পিন 5-এ থাকে, তাহলে শিমটি তাপমাত্রা সেন্সরটি পিন 6-এ থাকার আশা করে। 1. একটি ইনফিনিট লুপ যোগ করুন যাতে তাপমাত্রা সেন্সরের মান পোল করা যায় এবং কনসোলে প্রিন্ট করা যায়: ```python while True: _, temp = sensor.read() print(f'Temperature {temp}°C') ``` `sensor.read()` কলটি আর্দ্রতা এবং তাপমাত্রার একটি টুপল রিটার্ন করে। আপনাকে শুধুমাত্র তাপমাত্রার মান দরকার, তাই আর্দ্রতা উপেক্ষা করা হয়। তারপর তাপমাত্রার মানটি কনসোলে প্রিন্ট করা হয়। 1. লুপের শেষে দশ সেকেন্ডের একটি ছোট বিরতি যোগ করুন কারণ তাপমাত্রার স্তরগুলি ক্রমাগত চেক করার প্রয়োজন নেই। একটি বিরতি ডিভাইসের পাওয়ার খরচ কমায়। ```python time.sleep(10) ``` 1. VS Code টার্মিনাল থেকে একটি সক্রিয় ভার্চুয়াল পরিবেশ সহ নিম্নলিখিতটি চালান যাতে আপনার Python অ্যাপটি চালানো যায়: ```sh python app.py ``` 1. CounterFit অ্যাপ থেকে তাপমাত্রা সেন্সরের মান পরিবর্তন করুন যা অ্যাপটি পড়বে। এটি দুটি উপায়ে করা যেতে পারে: * তাপমাত্রা সেন্সরের *Value* বাক্সে একটি সংখ্যা লিখুন, তারপর **Set** বোতামটি নির্বাচন করুন। আপনি যে সংখ্যা লিখবেন সেটি সেন্সর দ্বারা রিটার্ন করা মান হবে। * *Random* চেকবক্সটি চেক করুন এবং *Min* এবং *Max* মান লিখুন, তারপর **Set** বোতামটি নির্বাচন করুন। প্রতিবার সেন্সর একটি মান পড়বে, এটি *Min* এবং *Max* এর মধ্যে একটি র্যান্ডম সংখ্যা পড়বে। আপনি কনসোলে আপনার সেট করা মানগুলি দেখতে পাবেন। *Value* বা *Random* সেটিংস পরিবর্তন করুন যাতে মান পরিবর্তন দেখতে পারেন। ```output (.venv) ➜ temperature-sensor python app.py Temperature 28.25°C Temperature 30.71°C Temperature 25.17°C ``` > 💁 আপনি এই কোডটি [code-temperature/virtual-device](../../../../../2-farm/lessons/1-predict-plant-growth/code-temperature/virtual-device) ফোল্ডারে খুঁজে পেতে পারেন। 😀 আপনার তাপমাত্রা সেন্সর প্রোগ্রাম সফল হয়েছে! --- **অস্বীকৃতি**: এই নথিটি AI অনুবাদ পরিষেবা [Co-op Translator](https://github.com/Azure/co-op-translator) ব্যবহার করে অনুবাদ করা হয়েছে। আমরা যথাসম্ভব সঠিক অনুবাদের চেষ্টা করি, তবে অনুগ্রহ করে মনে রাখবেন যে স্বয়ংক্রিয় অনুবাদে ত্রুটি বা অসঙ্গতি থাকতে পারে। নথিটির মূল ভাষায় লেখা সংস্করণটিকেই প্রামাণিক উৎস হিসেবে বিবেচনা করা উচিত। গুরুত্বপূর্ণ তথ্যের জন্য, পেশাদার মানব অনুবাদ ব্যবহার করার পরামর্শ দেওয়া হয়। এই অনুবাদ ব্যবহারের ফলে সৃষ্ট কোনো ভুল বোঝাবুঝি বা ভুল ব্যাখ্যার জন্য আমরা দায়ী নই।