
সুচিপত্র:
2025 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2025-01-23 14:36

তাপমাত্রা এবং আর্দ্রতা আজকের শিল্প বিশ্বে গুরুত্বপূর্ণ ডেটা পয়েন্ট। সার্ভার রুম, বাণিজ্যিক ফ্রিজার এবং উত্পাদন লাইনগুলির জন্য পরিবেশগত ডেটা পর্যবেক্ষণ করা জিনিসগুলিকে সুচারুভাবে চালানোর জন্য প্রয়োজনীয়। মৌলিক থেকে জটিল পর্যন্ত অনেকগুলি সমাধান রয়েছে এবং এটি আপনার ব্যবসার কী প্রয়োজন এবং কোথায় শুরু করবেন তা নিয়ে অপ্রতিরোধ্য মনে হতে পারে।
রাস্পবেরি পাই এবং বিভিন্ন তাপমাত্রা সেন্সর দিয়ে আপনি কীভাবে তাপমাত্রা পর্যবেক্ষণ করতে পারেন তা দিয়ে আমরা চলব। এটি শুরু করার জন্য একটি ভাল জায়গা যেহেতু এই সমাধানগুলি সস্তা, করা সহজ এবং আপনাকে অন্যান্য পরিবেশ পর্যবেক্ষণের জন্য একটি ভিত্তি তৈরি করে।
সরবরাহ
- রাস্পবেরি পাই (3, 4, বা শূন্য WH)
- তাপমাত্রা সেন্সর (DHT2, DSB18B20, BME280, বা Sense HAT)
- 6 "40-পিন আইডিই পুরুষ থেকে মহিলা এক্সটেনশন কেবল (সেন্স এইচএটি সমাধান)
- 10 কে প্রতিরোধক, ব্রেডবোর্ড, 40-পিন ব্রেকআউট বোর্ড + রিবন কেবল, তার (DSB18B20 সমাধানের জন্য)
ধাপ 1: রাস্পবেরি পাই
একটি রাস্পবেরি পাই একটি সস্তা একক বোর্ড কম্পিউটার যা আপনাকে একটি তাপমাত্রা সেন্সরের সাথে সংযুক্ত করতে এবং একটি ডেটা ভিজ্যুয়ালাইজেশন সফ্টওয়্যারে ডেটা স্ট্রিম করতে দেয়। রাস্পবেরি পাই একটি শেখার হাতিয়ার হিসাবে শুরু হয়েছে এবং একটি শিল্প কর্মক্ষেত্রের সরঞ্জাম হিসাবে বিকশিত হয়েছে। পাইথনের সাথে সহজে ব্যবহার এবং কোড করার ক্ষমতা, দ্রুত বর্ধনশীল প্রোগ্রামিং ল্যাঙ্গুয়েজ তাদের সমাধানের দিকে নিয়ে গেছে।
আপনি একটি রাস্পবেরি পাই চাইবেন যার মধ্যে ওয়াইফাই অন্তর্নির্মিত আছে, যে কোন মডেল 3, 4 এবং শূন্য W/WH। তাদের মধ্যে আপনি মূল্য এবং বৈশিষ্ট্যগুলির উপর ভিত্তি করে চয়ন করতে পারেন। জিরো ডব্লিউ/ডব্লিউএইচ হল সবচেয়ে সস্তা কিন্তু যদি আপনার আরও কার্যকারিতা প্রয়োজন হয় তবে আপনি 3 থেকে 4 এর মধ্যে বেছে নিতে পারেন। আপনি যেই Pi চয়ন করুন না কেন, একটি চার্জার কিনতে ভুলবেন না কারণ আপনি অপারেটিং সিস্টেমের ইনস্টলেশনকে যথাসম্ভব সহজ করার জন্য রাস্পবিয়ান দিয়ে Pi এবং একটি SD কার্ডকে শক্তি দিবেন।
অন্যান্য একক বোর্ড কম্পিউটার রয়েছে যা কাজ করতে পারে, তবে এটি অন্য সময় এবং অন্য নিবন্ধের জন্য।
ধাপ 2: সেন্সর
আমরা তিনটি সেন্সর ব্যবহার করার পরামর্শ দিচ্ছি কারণ সেগুলি সস্তা, সংযোগ করা সহজ এবং সঠিক রিডিং দেয়; DSB18B20, DHT22, এবং রাস্পবেরি পাই সেন্স HAT।
DHT22 - এই তাপমাত্রা এবং আর্দ্রতা সেন্সরের তাপমাত্রা নির্ভুলতা +/- 0.5 C এবং আর্দ্রতা 0 থেকে 100 শতাংশ পর্যন্ত থাকে। রাস্পবেরি পাই পর্যন্ত ওয়্যার করা সহজ এবং কোনও টান আপ প্রতিরোধক প্রয়োজন হয় না।
DSB18B20 - এই তাপমাত্রা সেন্সরের একটি ডিজিটাল আউটপুট রয়েছে, যা রাস্পবেরি পাই এর সাথে ভাল কাজ করে। এটিতে তিনটি তার রয়েছে এবং সংযোগের জন্য একটি ব্রেডবোর্ড এবং প্রতিরোধক প্রয়োজন।
BME280 - এই সেন্সর তাপমাত্রা, আর্দ্রতা এবং ব্যারোমেট্রিক চাপ পরিমাপ করে। এটি SPI এবং I2C উভয় ক্ষেত্রেই ব্যবহার করা যেতে পারে।
সেন্স হ্যাট - এটি রাস্পবেরি পাই এর জন্য একটি অ্যাড অন বোর্ড যা এলইডি, সেন্সর এবং একটি ক্ষুদ্র জয়স্টিক রয়েছে। এটি রাস্পবেরি পাইতে সরাসরি জিপিআইওর সাথে সংযুক্ত হয় তবে একটি ফিতা কেবল ব্যবহার করে আপনাকে আরও সঠিক তাপমাত্রা রিডিং দেয়।
ধাপ 3: রাস্পবেরি পাই সেটআপ
যদি এই প্রথম আপনার রাস্পবেরি পাই সেট আপ করা হয় তাহলে আপনাকে রাস্পবিয়ান অপারেটিং সিস্টেম ইনস্টল করতে হবে এবং আপনার পাইকে ওয়াইফাই এর সাথে সংযুক্ত করতে হবে। Pi এর সাথে সংযোগ করার জন্য এটির জন্য একটি মনিটর এবং কীবোর্ডের প্রয়োজন হবে। একবার আপনি এটি চালু এবং চলমান এবং ওয়াইফাইয়ের সাথে সংযুক্ত হয়ে গেলে, আপনার পাই যেতে প্রস্তুত।
ধাপ 4: প্রাথমিক রাজ্য অ্যাকাউন্ট


Somewhereতিহাসিক লগ রাখতে এবং রিয়েল-টাইম ডেটা স্ট্রিম দেখতে আপনার ডেটা পাঠানোর জন্য আপনার কোথাও প্রয়োজন হবে যাতে আমরা প্রাথমিক অবস্থা ব্যবহার করব। Https://iot.app.initialstate.com এ যান এবং একটি নতুন অ্যাকাউন্ট তৈরি করুন অথবা আপনার বিদ্যমান অ্যাকাউন্টে লগ ইন করুন।
এরপরে, আমাদের আপনার পাইতে প্রাথমিক স্টেট পাইথন মডিউল ইনস্টল করতে হবে। একটি কমান্ড প্রম্পটে (প্রথমে আপনার Pi তে SSH করতে ভুলবেন না), নিম্নলিখিত কমান্ডটি চালান:
$ cd/home/pi/
$ / curl -sSL https://get.initialstate.com/python -o -| সুডো বাশ
কমান্ড প্রম্পটে কার্ল কমান্ড প্রবেশ করার পরে আপনি স্ক্রিনে নিম্নলিখিত আউটপুটের অনুরূপ কিছু দেখতে পাবেন:
পাই@রাস্পবেরি i
$ / curl -sSL https://get.initialstate.com/python -o -| sudo bash পাসওয়ার্ড: ISStreamer পাইথন সহজ ইনস্টলেশন শুরু! এটি ইনস্টল করতে কয়েক মিনিট সময় নিতে পারে, কিছু কফি নিন:) কিন্তু ফিরে আসতে ভুলবেন না, আমি পরে প্রশ্ন করব! Easy_install পাওয়া গেছে: setuptools 1.1.6 পাওয়া pip: pip 1.5.6 /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip major version: 1 pip minor version: 5 ISStreamer পাওয়া গেছে, আপডেট করা হচ্ছে … প্রয়োজনীয়তা ইতিমধ্যেই আপডেট: ISStreamer /Library/Python/2.7/site-packages এ পরিষ্কার করা হচ্ছে … আপনি কি স্বয়ংক্রিয়ভাবে একটি উদাহরণ স্ক্রিপ্ট পেতে চান? [y/N] আপনি উদাহরণটি কোথায় সংরক্ষণ করতে চান? [ডিফল্ট:./is_example.py] অনুগ্রহ করে আপনি কোন প্রাথমিক রাজ্যের অ্যাপটি ব্যবহার করছেন তা নির্বাচন করুন:.initialstate.com ব্যবহারকারীর নাম: iot.app.initialstate.com পাসওয়ার্ড লিখুন:
স্বয়ংক্রিয়ভাবে একটি উদাহরণ স্ক্রিপ্ট পেতে অনুরোধ করা হলে, টাইপ করুন y। এটি একটি পরীক্ষার স্ক্রিপ্ট তৈরি করবে যা আমরা নিশ্চিত করতে চালাতে পারি যে আমরা প্রাথমিক অবস্থায় ডেটা প্রবাহিত করতে পারি। পরবর্তী প্রম্পট জিজ্ঞাসা করবে আপনি উদাহরণ ফাইলটি কোথায় সংরক্ষণ করতে চান। আপনি একটি কাস্টম লোকাল পাথ টাইপ করতে পারেন অথবা ডিফল্ট লোকেশন গ্রহণ করতে এন্টার চাপতে পারেন। অবশেষে, আপনাকে জিজ্ঞাসা করা হবে আপনি কোন প্রাথমিক রাজ্যের অ্যাপটি ব্যবহার করছেন। আপনি যদি সম্প্রতি একটি অ্যাকাউন্ট তৈরি করেন, বিকল্প 2 নির্বাচন করুন, আপনার ব্যবহারকারীর নাম এবং পাসওয়ার্ড লিখুন। তারপরে ইনস্টলেশন সম্পূর্ণ হবে।
আসুন দেখে নেওয়া যাক যে উদাহরণ স্ক্রিপ্ট তৈরি করা হয়েছে।
$ nano is_example.py
লাইন 15 এ, আপনি একটি লাইন দেখতে পাবেন যা স্ট্রিমার = স্ট্রিমার (bucket_…) দিয়ে শুরু হয়। এই লাইনগুলি "পাইথন স্ট্রিম উদাহরণ" নামে একটি নতুন ডেটা বালতি তৈরি করে এবং এটি আপনার অ্যাকাউন্টের সাথে যুক্ত। এই অ্যাসোসিয়েশনটি অ্যাক্সেস_কি = "…" এর কারণে ঘটে একই লাইনের প্যারামিটার। অক্ষর এবং সংখ্যার সেই দীর্ঘ সিরিজ হল আপনার প্রাথমিক রাজ্য অ্যাকাউন্ট অ্যাক্সেস কী। আপনি যদি আপনার ওয়েব ব্রাউজারে আপনার প্রাথমিক রাজ্য অ্যাকাউন্টে যান, উপরের ডানদিকে আপনার ব্যবহারকারীর নাম ক্লিক করুন, তারপর "আমার সেটিংস" এ যান, আপনি এখানে "স্ট্রিমিং অ্যাক্সেস কী" এর অধীনে সেই একই অ্যাক্সেস কী পাবেন।
প্রতিবার যখন আপনি একটি ডেটা স্ট্রিম তৈরি করবেন, সেই অ্যাক্সেস কী সেই ডেটা স্ট্রিমকে আপনার অ্যাকাউন্টে নির্দেশ করবে (তাই আপনার কীটি কারো সাথে শেয়ার করবেন না)।
আমরা আপনার প্রাথমিক রাজ্য অ্যাকাউন্টে একটি ডেটা স্ট্রিম তৈরি করতে পারি তা নিশ্চিত করার জন্য পরীক্ষা স্ক্রিপ্টটি চালান। নিম্নলিখিত চালান:
$ পাইথন is_example.py
আপনার ওয়েব ব্রাউজারে আপনার প্রাথমিক রাজ্য অ্যাকাউন্টে ফিরে যান। "পাইথন স্ট্রিম উদাহরণ" নামে একটি নতুন ডেটা বালতি আপনার লগ শেলফে বাম দিকে দেখানো উচিত (আপনাকে পৃষ্ঠাটি রিফ্রেশ করতে হতে পারে)। এই বালতিতে ক্লিক করুন এবং তারপর পরীক্ষার তথ্য দেখতে ওয়েভস আইকনে ক্লিক করুন
আপনি যদি পাইথন 3 ব্যবহার করেন তবে আপনি প্রাথমিক স্ট্রিমার মডিউলটি ইনস্টল করতে পারেন আপনি নিম্নলিখিত কমান্ডটি ব্যবহার করে ইনস্টল করতে পারেন:
pip3 ISStreamer ইনস্টল করুন
এখন আমরা ডাইবোর্ডে তাপমাত্রা প্রবাহিত করার জন্য পাই সহ তাপমাত্রা সেন্সর সেটআপ করার জন্য প্রস্তুত।
ধাপ 5: DHT22 সমাধান

DHT22 এর তিনটি পিন থাকবে - 5V, Gnd, এবং ডেটা। DHT22 (যেমন '+' বা '5V') পাওয়ারের জন্য একটি পিন লেবেল থাকা উচিত। এটিকে পাই এর পিন 2 (উপরের ডান পিন, 5V) এর সাথে সংযুক্ত করুন। Gnd পিনকে '-' বা 'Gnd' বা সমতুল্য কিছু লেবেল করা হবে। Pi এ 6 Gnd (5V পিনের নিচে দুইটি পিন) এর সাথে এটি সংযুক্ত করুন। DHT22 এর অবশিষ্ট পিন হল ডেটা পিন এবং এটিকে 'আউট' বা 's' বা 'ডেটা' লেবেল করা হবে। এটি GPIO4 (পিন 7) এর মতো Pi- এর একটি GPIO পিনের সাথে সংযুক্ত করুন। একবার এটি ওয়্যার্ড হয়ে গেলে, আপনার পাইতে শক্তি।
ডিএইচটি 22 সেন্সর ডেটা পড়া খুব সহজ করার জন্য একটি কমান্ড প্রম্পটে অ্যাডাফ্রুট ডিএইচটি পাইথন মডিউল ইনস্টল করুন:
$ sudo pip Adafruit_DHT ইনস্টল করুন
সেন্সর ডেটা পড়া এবং প্রাথমিক অবস্থায় ডেটা পাঠানোর জন্য আমাদের দুটি পাইথন মডিউল সহ আমাদের অপারেটিং সিস্টেম ইনস্টল করার সাথে সাথে আমরা আমাদের পাইথন স্ক্রিপ্ট লিখতে প্রস্তুত। নিম্নোক্ত স্ক্রিপ্ট একটি প্রাথমিক রাজ্যের ডেটা বালতি তৈরি/সংযুক্ত করবে, DHT22 সেন্সর ডেটা পড়বে এবং সেই ডেটা রিয়েল-টাইম ড্যাশবোর্ডে পাঠাবে। আপনাকে যা করতে হবে তা হল লাইন 6-11 পরিবর্তন করা।
Adafruit_DHT আমদানি করুন
ISStreamer. Streamer আমদানি থেকে Streamer আমদানি সময়# --------- ব্যবহারকারী সেটিংস --------- SENSOR_LOCATION_NAME = "অফিস" BUCKET_NAME = ": partly_sunny: রুম তাপমাত্রা" BUCKET_KEY = "rt0129" ACCESS_KEY = "আপনার প্রাথমিক রাজ্য অ্যাক্সেস এখানে রাখুন" MINUTES_BETWEEN_READS = 10METRIC_UNITS = মিথ্যা # --------------------------------- স্ট্রিমার = স্ট্রিমার (bucket_name = BUCKET_NAME, bucket_key = BUCKET_KEY, access_key = ACCESS_KEY) যখন সত্য: আর্দ্রতা, temp_c = Adafruit_DHT.read_retry (Adafruit_DHT।: temp_f = বিন্যাস (temp_c * 9.0 / 5.0 + 32.0, ".2f") streamer.log (SENSOR_LOCATION_NAME + "তাপমাত্রা (F)", temp_f) আর্দ্রতা = বিন্যাস (আর্দ্রতা, ".2f") streamer.log (SENSOR_LOCATION_NAME + "আর্দ্রতা (%)", আর্দ্রতা) streamer.flush () time.sleep (60*MINUTES_BETWEEN_READS)
- লাইন 6 - এই মানটি প্রতিটি নোড/তাপমাত্রা সেন্সরের জন্য অনন্য হওয়া উচিত। এটি আপনার সেন্সর নোডের রুমের নাম, শারীরিক অবস্থান, অনন্য শনাক্তকারী, বা যাই হোক না কেন হতে পারে। শুধু নিশ্চিত করুন যে প্রতিটি নোডের জন্য এটি অনন্য কিনা তা নিশ্চিত করুন যে এই নোড থেকে ডেটা আপনার ড্যাশবোর্ডে তার নিজস্ব ডেটা স্ট্রীমে যায়।
- লাইন 7 - এটি ডেটা বালতির নাম। এটি প্রাথমিক রাজ্য UI- এ যেকোনো সময় পরিবর্তন করা যেতে পারে।
- লাইন 8 - এটি আপনার বালতি কী। এটি একই ড্যাশবোর্ডে প্রদর্শিত প্রতিটি নোডের জন্য একই বালতি কী হতে হবে।
- লাইন 9 - এটি আপনার প্রাথমিক রাজ্য অ্যাকাউন্ট অ্যাক্সেস কী। আপনার প্রাথমিক রাজ্য অ্যাকাউন্ট থেকে এই কীটি অনুলিপি করুন এবং আটকান।
- লাইন 10 - এই সময় সেন্সর পড়ার মধ্যে। সেই অনুযায়ী পরিবর্তন করুন।
- লাইন 11 - আপনি লাইন 11 এ মেট্রিক বা ইম্পেরিয়াল ইউনিট নির্দিষ্ট করতে পারেন।
আপনার পাই -তে আপনার পাইথন স্ক্রিপ্টে লাইন 6–11 সেট করার পরে, টেক্সট এডিটর সংরক্ষণ করুন এবং প্রস্থান করুন। নিম্নলিখিত কমান্ড দিয়ে স্ক্রিপ্টটি চালান:
$ পাইথন tempsensor.py
এখন আপনার একটি প্রাথমিক রাজ্যের ড্যাশবোর্ডে ডেটা পাঠানো হবে। কিভাবে আপনার ড্যাশবোর্ড কাস্টমাইজ করবেন তার বিস্তারিত জানার জন্য এই নিবন্ধের চূড়ান্ত বিভাগে যান।
ধাপ 6: DSB18B20 সমাধান


রিবন কেবল পাই -তে GPIO পিনের সাথে সংযোগ স্থাপন করে। DS18B20 এর তিনটি তার রয়েছে। লাল তারের সংযোগ 3.3V নীল/কালো তার মাটির সাথে সংযুক্ত। হলুদ তারটি একটি পুল-আপ রোধক/পিনের সাথে সংযোগ স্থাপন করে Once একবার এটি তারযুক্ত হয়ে গেলে, আপনার পাই-তে শক্তি।
রাস্পবিয়ানের সর্বশেষ সংস্করণ (কার্নেল 18.১)) এর জন্য আপনার /boot/config.txt ফাইলে একটি সংযোজন প্রয়োজন যাতে Pi DS18B20 এর সাথে যোগাযোগ করতে পারে। এই ফাইলটি সম্পাদনা করতে নিম্নলিখিতটি চালান:
$ sudo nano /boot/config.txt
যদি নিচের লাইনটি ইতিমধ্যেই এই ফাইলে না থাকে (যদি থাকে, এটি সম্ভবত ফাইলের নীচে), এটি যোগ করুন এবং ফাইলটি সংরক্ষণ করুন।
dtoverlay = w1-gpio, gpiopin = 4
পরিবর্তনগুলি কার্যকর হওয়ার জন্য আপনার Pi পুনরায় চালু করুন।
$ sudo রিবুট
তাপমাত্রা সেন্সর রিড ইন্টারফেস শুরু করতে আমাদের দুটি কমান্ড চালাতে হবে। আপনার পিআই বা এসএসএইচ -এ একটি কমান্ড প্রম্পটে যান। নিম্নলিখিত কমান্ড টাইপ করুন:
$ sudo modprobe w1-gpio $ sudo modprobe w1-therm
আপনার তাপমাত্রা সেন্সরের আউটপুট এখন আপনার পাইতে একটি ফাইলে লেখা হচ্ছে। ফাইলটি খুঁজে পেতে:
$ cd/sys/bus/w1/devices
এই ডিরেক্টরিতে, একটি সাব-ডিরেক্টরী থাকবে যা "28-" দিয়ে শুরু হবে। "28-" এর পরে যা আসে তা হল আপনার সেন্সরের সিরিয়াল নম্বর। cd সেই ডিরেক্টরিতে। এই ডিরেক্টরিটির ভিতরে, w1_slave নামে একটি ফাইল আপনার সেন্সরের আউটপুট ধারণ করে। ফাইলের বিষয়বস্তু দেখতে ন্যানো ব্যবহার করুন। একবার আপনি ফাইলে প্রবেশ করলে, এটি দেখতে এরকম কিছু হবে:
a2 01 4b 46 7f ff 0e 10 d8: crc = d8 YESa2 01 4b 46 7f ff 0e 10 d8 t = 26125
“T =” এর পরের সংখ্যা হল আমরা যে সংখ্যাটি চাই। এটি 1/1000 ডিগ্রি সেলসিয়াস তাপমাত্রা (উপরের উদাহরণে, তাপমাত্রা 26.125 C)। আমাদের কেবল একটি সহজ প্রোগ্রাম দরকার যা এই ফাইলটি পড়ে এবং সেই সংখ্যাটি বিশ্লেষণ করে। আমরা এক সেকেন্ডের মধ্যে এটি পেতে হবে।
স্ট্রিমিং ডেটা শুরু করার জন্য এখন সবকিছু প্রস্তুত। টেক্সট এডিটর খুলতে কমান্ড প্রম্পটে নিম্নলিখিতটি টাইপ করুন:
$ nano temperature.py
নীচের কোডটি টেক্সট এডিটরে কপি করে পেস্ট করুন।
আমদানি ওএস
ISStreamer. Streamer থেকে স্ট্রিমার আমদানি করুন -therm ') base_dir ='/sys/bus/w1/devices/'device_folder = glob.glob (base_dir + '28*') [0] device_file = device_folder + '/w1_slave' def read_temp_raw (): f = open (device_file, 'r') lines = f.readlines () f.close () return lines def read_temp (): lines = read_temp_raw () যখন লাইন [0].strip () [-3:]! = 'হ্যাঁ': time.sleep (0.2) line = read_temp_raw () equals_pos = lines [1]। find ('t =') if equals_pos! = -1: temp_string = lines [1] [equals_pos+2:] temp_c = float (temp_string) / 1000.0 ফেরত temp_c যখন সত্য: temp_c = read_temp () temp_f = temp_c * 9.0 / 5.0 + 32.0 streamer.log ("তাপমাত্রা (C)", temp_c) streamer.log ("তাপমাত্রা (F)", temp_f) time.sleep (.5)
PUT_YOUR_ACCESS_KEY_HERE এর জায়গায় আপনাকে আপনার প্রাথমিক রাজ্য অ্যাক্সেস কীটি 6 নম্বরে রাখতে হবে ('আমার অ্যাকাউন্ট' থেকে আপনার ক্লিপবোর্ডে স্ট্রিমিং কীটি অনুলিপি করুন এবং আপনার টার্মিনালে ন্যানো কোডে পেস্ট করুন)।
লাইন 6 আপনার প্রাথমিক রাজ্য অ্যাকাউন্টে "তাপমাত্রা প্রবাহ" নামে একটি বালতি তৈরি করবে (আপনি এই একই লাইনে আপনার অ্যাক্সেস_কি সঠিকভাবে উল্লেখ করেছেন)। এই স্ক্রিপ্টের 8 থেকে 30 লাইনগুলি কেবল DS18B20 সেন্সরের সাথে ইন্টারফেস করে w1_slave ফাইল থেকে এর তাপমাত্রা পড়তে যা আমরা আগে আলোচনা করেছি। লাইন 15 এ read_temp_raw () ফাংশনটি কাঁচা w1_slave ফাইল পড়ে। লাইন 21 এ read_temp () ফাংশন সেই ফাইল থেকে তাপমাত্রা বিশ্লেষণ করে। লাইন 34 এই ফাংশনগুলিকে বর্তমান তাপমাত্রা পেতে কল করে। লাইন 35 তাপমাত্রা সেলসিয়াস থেকে ফারেনহাইটে রূপান্তরিত করে। লাইন 35 এবং 36 আপনার প্রাথমিক রাজ্য অ্যাকাউন্টে তাপমাত্রা প্রবাহিত করে। লাইন 37 স্ক্রিপ্টটি 0.5 সেকেন্ডের জন্য বিরতি দেয়, তাপমাত্রা সেন্সরটি কতবার পড়বে এবং প্রবাহিত হবে তা নির্ধারণ করে।
আমরা স্ট্রিমিং শুরু করার জন্য প্রস্তুত। নিম্নলিখিত কমান্ডটি চালান:
$ sudo python temperature.py
আপনার ওয়েব ব্রাউজারে আপনার প্রাথমিক রাজ্য অ্যাকাউন্টে ফিরে যান এবং তাপমাত্রা প্রবাহ নামে একটি নতুন ডেটা বালতি সন্ধান করুন। আপনার লাইভে তাপমাত্রার ডেটা স্ট্রিমিং দেখা উচিত। আপনার হাতে ধরে বা বরফের গ্লাসে রেখে সেন্সরের তাপমাত্রা পরিবর্তন করুন।
এখন আপনার একটি প্রাথমিক রাজ্যের ড্যাশবোর্ডে ডেটা পাঠানো হবে। কিভাবে আপনার ড্যাশবোর্ড কাস্টমাইজ করবেন তার বিস্তারিত জানার জন্য এই নিবন্ধের চূড়ান্ত বিভাগে যান।
ধাপ 7: BME280 সমাধান
এই সমাধানটি তৈরি করতে আপনার নিম্নলিখিতগুলির প্রয়োজন হবে:
-BME280 চাপ, তাপমাত্রা, এবং আর্দ্রতা সেন্সর
এই সেন্সরটি পিনের সাথে আসে যা আপনাকে সেন্সরে সোল্ডার করতে হবে। সোল্ডারিং সহজ করার জন্য আমি ব্রেডবোর্ডে লম্বা পিনের নিচে একটি ব্রেডবোর্ড ব্যবহার করার পরামর্শ দিই। একবার আপনি এটি সম্পন্ন করলে আমাদের সেন্সরটি পাইতে লাগাতে হবে।
Pi তে 3.3V পিন 1 এর সাথে সেন্সরের VIN পিন সংযুক্ত করুন। সেন্সরের উপর GND পিনটি সংযুক্ত করুন Pi- এ গ্রাউন্ড পিন 6। সেন্সরে SCK পিনটি Pi- এ SCLIN পিন 5 এর সাথে সংযুক্ত করুন। সেন্সরের SDI পিনকে Pi এর SDA পিন 3 এর সাথে সংযুক্ত করুন। এই সমাধানের জন্য আপনাকে পাইথন 3 ব্যবহার করতে হবে এবং pip3 ইনস্টল পদ্ধতি ব্যবহার করে প্রাথমিক রাজ্যের স্ট্রিমার মডিউল ইনস্টল করতে হবে।
আপনাকে কয়েকটি অ্যাডাফ্রুট পাইথন লাইব্রেরিও ইনস্টল করতে হবে।
pip3 install adafruit-blinkapip3 install pureio pip3 install spidev pip3 install adafruit-GPIO pip3 install adafruit-circuitpython-bme280
সেন্সর ব্যবহার করার জন্য আমাদের Pi তে I2C সক্ষম করতে হবে।
sudo raspi-config
এটি রাস্পবেরি পাই সফটওয়্যার কনফিগারেশন টুল খুলবে। বিকল্প 5 ইন্টারফেসিং বিকল্পগুলিতে যান। এখান থেকে I2C এ যান। এটি আপনাকে জিজ্ঞাসা করবে যে আপনি I2C সক্ষম করতে চান কিনা, হ্যাঁ নির্বাচন করুন এবং শেষ করুন। এখন আপনি সেন্সরের সাথে যোগাযোগ করতে I2C সক্ষম করেছেন।
আমরা নিম্নলিখিতগুলি চালানোর মাধ্যমে এটি পরীক্ষা করতে পারি:
sudo i2cdetect -y 1
এটি যাচাই করবে যে আপনার পাই সেন্সর দেখে। যেভাবে এটি সংযুক্ত থাকে, এটি সেন্সর address এড্রেসে দেখানো উচিত। যদি আপনি সেন্সরটি সনাক্ত না করেন, আপনার Pi রিবুট করুন, আপনার Pi- এ I2C ইন্টারফেস বিকল্পটি পুনরায় চালু করুন এবং আবার চেষ্টা করুন। আমাদের মূল কোডটি চালানোর জন্য যা প্রাথমিক অবস্থায় ডেটা পাঠাবে। ন্যানো কমান্ড দিয়ে bme280sensor.py নামে একটি ফাইল তৈরি করেছেন। টেক্সট এডিটর থেকে কোডটি কপি করে পেস্ট করুন। আপনাকে 12-19 লাইনে পরিবর্তন করতে হবে।
আমদানির সময়
ISStreamer. Streamer থেকে স্ট্রিমার আমদানি করুন adafruit_bme280 আমদানি বোর্ড # আমাদের বাস I2C porti2c = busio. I2C (board. SCL, board. SDA) bme280 = adafruit_bme280. Adafruit_BME280_I2C (i2c) # ------ -ব্যবহারকারীর সেটিংস --------- SENSOR_LOCATION_NAME = "অফিস" BUCKET_NAME = ": partly_sunny: রুম তাপমাত্রা" BUCKET_KEY = "temp1" ACCESS_KEY = "আপনার অ্যাক্সেস কী এখানে" # লোকেশনের চাপের সাথে মিলিয়ে এটি পরিবর্তন করুন (hPa) সমুদ্রপৃষ্ঠে bme280.sea_level_pressure = 1013.25 MINUTES_BETWEEN_READS = 10 METRIC_UNITS = মিথ্যা # --------------------------------- # অথবা আমাদের বাস SPI পোর্ট #spi = busio. SPI (board. SCK, board. MOSI, board. MISO) #bme_cs = digitalio. DigitalInOut (board. D10) #bme280 = adafruit_bme280. Adafruit_BME280_SPI (spi, bme_cs) ব্যবহার করে লাইব্রেরি বস্তু তৈরি করুন। স্ট্রিমার = স্ট্রিমার (bucket_name = BUCKET_NAME, bucket_key = BUCKET_KEY, access_key = ACCESS_KEY) যখন সত্য: আর্দ্রতা = বিন্যাস (bme280.humidity, ".1f") চাপ = বিন্যাস (bme280.pressure, ".1f") temp_c = bme280 আবার যদি METRIC_UNITS: streamer.log (SENSOR_LOCATION_NAME + "তাপমাত্রা (C)", temp_c) অন্য: temp_f = বিন্যাস (temp_c * 9.0 / 5.0 + 32.0, ".1f") streamer.log (SENSOR_LOCATION_NAME + "তাপমাত্রা (F)", temp_f) streamer.log (SENSOR_LOCATION_NAME + "আর্দ্রতা (%)", আর্দ্রতা) streamer.log (SENSOR_LOCATION_NAME + "চাপ (hPA)", চাপ) streamer.flush () time.sleep (60*MINUTES_BETWEEN_READS)
- লাইন 12- এই মানটি প্রতিটি নোড/তাপমাত্রা সেন্সরের জন্য অনন্য হওয়া উচিত। এটি আপনার সেন্সর নোডের রুমের নাম, শারীরিক অবস্থান, অনন্য শনাক্তকারী, বা যাই হোক না কেন হতে পারে। শুধু নিশ্চিত করুন যে এটি প্রতিটি নোডের জন্য অনন্য তা নিশ্চিত করার জন্য যে এই নোড থেকে ডেটা আপনার ড্যাশবোর্ডে তার নিজস্ব ডেটা স্ট্রীমে যায়।
- লাইন 13- এটি ডেটা বালতির নাম। এটি প্রাথমিক রাজ্য UI- এ যেকোনো সময় পরিবর্তন করা যেতে পারে।
- লাইন 14- এটি আপনার বালতি কী। এটি একই ড্যাশবোর্ডে প্রদর্শিত প্রতিটি নোডের জন্য একই বালতি কী হতে হবে।
- লাইন 15- এটি আপনার প্রাথমিক রাজ্য অ্যাকাউন্ট অ্যাক্সেস কী। আপনার প্রাথমিক রাজ্য অ্যাকাউন্ট থেকে এই কীটি অনুলিপি করুন এবং আটকান।
- লাইন 17- এটি সমুদ্রপৃষ্ঠে আপনার অবস্থানের চাপ (hPa)। আপনি বেশিরভাগ আবহাওয়ার ওয়েবসাইটে এই তথ্য পেতে পারেন।
- লাইন 18 - এই সময় সেন্সর পড়ার মধ্যে। সেই অনুযায়ী পরিবর্তন করুন লাইন 19- এখানে আপনি মেট্রিক বা ইম্পেরিয়াল ইউনিট নির্দিষ্ট করতে পারেন।
আপনার পাই জিরো ডব্লিউএইচ -এ আপনার পাইথন স্ক্রিপ্টে 12-19 লাইন সেট করার পরে, পাঠ্য সম্পাদক সংরক্ষণ করুন এবং প্রস্থান করুন। নিম্নলিখিত কমান্ড দিয়ে স্ক্রিপ্টটি চালান:
$ python3 bme280sensor.py
এখন আপনার একটি প্রাথমিক রাজ্যের ড্যাশবোর্ডে ডেটা পাঠানো হবে। কিভাবে আপনার ড্যাশবোর্ড কাস্টমাইজ করবেন তার বিস্তারিত জানার জন্য এই নিবন্ধের চূড়ান্ত বিভাগে যান।
ধাপ 8: সংবেদন HAT


সেন্স HAT ব্যবহার করার প্রথম ধাপ হল শারীরিকভাবে এটি আপনার Pi তে ইনস্টল করা। Pi চালিত ডাউন দিয়ে, ছবিতে দেখানো HAT সংযুক্ত করুন।
আপনি যদি উপরে দেখানো সমাধানটি ব্যবহার করার সিদ্ধান্ত নেন তবে আপনি লক্ষ্য করতে পারেন যে আপনার সেন্স HAT এর তাপমাত্রা রিডিং কিছুটা বেশি হবে - কারণ সেগুলি। অপরাধী হল Pi এর CPU থেকে উৎপন্ন তাপ যখন Pi এর উপরে বসে থাকে তখন সেন্স HAT এর চারপাশে বাতাস গরম করে। তাপমাত্রা সেন্সরকে উপযোগী করার জন্য, আমাদেরকে Pi থেকে HAT দূরে পেতে হবে অথবা তাপমাত্রা সেন্সর রিডিংকে ক্যালিব্রেট করার চেষ্টা করতে হবে। Pi থেকে সেন্সরকে দূরে সরানোর জন্য একটি ভাল সমাধান হল একটি কেবল যা সেন্স HAT কে Pi থেকে দূরে যেতে দেয়। একটি 6 , 40-পিন আইডিই পুরুষ থেকে মহিলা এক্সটেনশন ক্যাবল কেবল কৌশলটি করবে।
একবার আপনি দুটি বিকল্পের বিষয়ে সিদ্ধান্ত নিলে, আপনার পাইতে শক্তি দিন। সেন্স HAT থেকে সেন্সর ভ্যালু পড়া সহজ করার জন্য আমাদের পাইথন লাইব্রেরি ইনস্টল করতে হবে। প্রথমে, আপনাকে নিশ্চিত করতে হবে যে আপনার রাস্পবিয়ানের সংস্করণে সবকিছু আপ-টু-ডেট আছে:
$ sudo apt-get update
পরবর্তী, সেন্স HAT পাইথন লাইব্রেরি ইনস্টল করুন:
$ sudo apt-get install sense-hat
আপনার Pi রিবুট করুন। আমরা সেখান থেকে সেন্সর ডেটা পড়ে এবং প্রাথমিক অবস্থায় সেই ডেটা পাঠিয়ে সেন্স HAT পরীক্ষা করতে প্রস্তুত।
সেনসহ্যাট নামে একটি ফাইল তৈরি করুন এবং কমান্ড প্রম্পটে ফোলোয়িং প্রবেশ করে পাঠ্য সম্পাদকের মধ্যে এটি খুলুন:
$ nano sensehat.py
নীচের কোডটি টেক্সট এডিটরে কপি করে পেস্ট করুন।
sens_hat থেকে SenseHat আমদানি করুন
ISStreamer. Streamer থেকে স্ট্রিমার আমদানির সময় আমদানি করুন অফিস "MINUTES_BETWEEN_SENSEHAT_READS = 0.1 # --------------------------------- streamer = স্ট্রিমার (bucket_name = BUCKET_NAME, bucket_key = BUCKET_KEY, access_key = ACCESS_KEY) sense = SenseHat () যখন সত্য: # সেন্সর পড়ুন temp_c = sense.get_temperature () আর্দ্রতা = sense.get_humidity () pressure_mb = sense.get_pressure () # ফরম্যাট ডেটা temp_f = temp_c * 9.0 / 5.0 + 32.0 temp_f = float ("{0:.2f}"। বিন্যাস (temp_f)) আর্দ্রতা = float ("{0:.2f}"। বিন্যাস (আর্দ্রতা)) pressure_in = 0.03937008*(pressure_mb) pressure_in = float ("{{ 0:.2f}। চাপ (IN): " + str (pressure_in) streamer.log (": sunny: " + SEN SOR_LOCATION_NAME + "তাপমাত্রা (F)", temp_f) streamer.log (": sweat_drops:" + SENSOR_LOCATION_NAME + "আর্দ্রতা (%)", আর্দ্রতা streamer.log (": cloud:" + SENSOR_LOCATION_NAME + "চাপ (IN)", pressure_in) streamer.flush () time.sleep (60*MINUTES_BETWEEN_SENSEHAT_READS)
প্রথম লাইনে লক্ষ্য করুন যে আমরা স্ক্রিপ্টে সেন্সহ্যাট লাইব্রেরি আমদানি করছি। আপনি এই স্ক্রিপ্টটি চালানোর আগে, আমাদের ব্যবহারকারীর প্যারামিটার সেটআপ করতে হবে।
# --------- ব্যবহারকারীর সেটিংস ---------
BUCKET_NAME = "অফিসের আবহাওয়া" BUCKET_KEY = "sensehat" ACCESS_KEY = "Your_Access_Key" SENSOR_LOCATION_NAME = "অফিস" MINUTES_BETWEEN_SENSEHAT_READS = 0.1# ------------------------- --------
বিশেষ করে, আপনাকে আপনার ACCESS_KEY কে আপনার প্রাথমিক রাজ্য অ্যাকাউন্ট অ্যাক্সেস কীতে সেট করতে হবে। আপনি BUCKET_NAME এবং SENSOR_LOCATION_NAME কে প্রকৃত সেন্সর অবস্থানে পরিবর্তন করতে পারেন। টেক্সট এডিটর সংরক্ষণ করুন এবং প্রস্থান করুন।
আপনার পাইতে একটি কমান্ড প্রম্পটে, স্ক্রিপ্টটি চালান:
$ sudo পাইথন sensehat.py
এখন আপনার একটি প্রাথমিক রাজ্যের ড্যাশবোর্ডে ডেটা পাঠানো হবে। কিভাবে আপনার ড্যাশবোর্ড কাস্টমাইজ করবেন তার বিস্তারিত জানার জন্য এই নিবন্ধের চূড়ান্ত বিভাগে যান।
ধাপ 9: আপনার প্রাথমিক রাজ্যের ড্যাশবোর্ড কাস্টমাইজ করুন

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

কীভাবে একটি রাস্পবেরি পাই সেটআপ করবেন এবং এটি ব্যবহার শুরু করবেন: ভবিষ্যতের পাঠকদের জন্য, আমরা ২০২০ সালে এসেছি। যে বছর, যদি আপনি ভাগ্যবান হন এবং কোভিড -১ by দ্বারা সংক্রমিত না হন, আপনি হঠাৎ করে , আপনার কল্পনার চেয়ে অনেক বেশি ফ্রি সময় পেয়েছেন। তাহলে আমি কিভাবে নিজেকে খুব বেশি মূid় ভাবে দখল করতে পারি? হ্যাঁ
রাস্পবেরি পাই ল্যাপটপ কীভাবে তৈরি করবেন: 8 টি ধাপ

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

রাস্পবেরি পাই এবং পার্টিকেল আর্গন ব্যবহার করে স্মার্ট ফ্লাড ডিটেকশন অ্যালার্ম সিস্টেম কিভাবে তৈরি করবেন: আপনার বাড়ি বা কর্মস্থলে ব্যাপক ক্ষতি রোধ করার জন্য স্ট্যান্ডার্ড ফ্লাড সেন্সর থাকা খুবই ভালো। আপনি সেই স্মার্টগুলি কিনতে পারেন এই বন্যা অ্যালার্ম সিস্টেমটি কোন তরল সনাক্ত করে এবং অ্যালার ট্রিগার করে
রাস্পবেরি পাই সহ LED ব্লিঙ্ক - রাস্পবেরি পাইতে কীভাবে জিপিআইও পিন ব্যবহার করবেন: 4 টি ধাপ

রাস্পবেরি পাই সহ LED ব্লিঙ্ক | রাস্পবেরি পাইতে কীভাবে জিপিআইও পিন ব্যবহার করবেন: হাই বন্ধুরা এই নির্দেশাবলীতে আমরা শিখব কিভাবে জিপিআইওর রাস্পবেরি পাই ব্যবহার করতে হয়। আপনি যদি কখনো Arduino ব্যবহার করে থাকেন তাহলে সম্ভবত আপনি জানেন যে আমরা LED সুইচ ইত্যাদি তার পিনের সাথে সংযুক্ত করতে পারি এবং এটিকে এর মত কাজ করতে পারি। এলইডি ব্লিংক করুন বা সুইচ থেকে ইনপুট পান তাই
HDMI ছাড়া রাস্পবেরি পাই 3 বি তে রাস্পবিয়ান ইনস্টল করা - রাস্পবেরি পাই 3B দিয়ে শুরু করা - আপনার রাস্পবেরি পাই 3: 6 ধাপ সেট আপ করা হচ্ছে

HDMI ছাড়া রাস্পবেরি পাই 3 বি তে রাস্পবিয়ান ইনস্টল করা | রাস্পবেরি পাই 3B দিয়ে শুরু করা | আপনার রাস্পবেরি পাই 3 সেট আপ করা: আপনারা কেউ কেউ জানেন যে রাস্পবেরি পাই কম্পিউটারগুলি বেশ দুর্দান্ত এবং আপনি কেবলমাত্র একটি ছোট বোর্ডে পুরো কম্পিউটারটি পেতে পারেন। 1.2 GHz এ ঘড়ি। এটি পাই 3 কে মোটামুটি 50 রাখে