সুচিপত্র:

রাস্পবেরি পাই ব্যবহার করে তাপমাত্রা এবং আর্দ্রতা পর্যবেক্ষণ: 6 টি ধাপ (ছবি সহ)
রাস্পবেরি পাই ব্যবহার করে তাপমাত্রা এবং আর্দ্রতা পর্যবেক্ষণ: 6 টি ধাপ (ছবি সহ)

ভিডিও: রাস্পবেরি পাই ব্যবহার করে তাপমাত্রা এবং আর্দ্রতা পর্যবেক্ষণ: 6 টি ধাপ (ছবি সহ)

ভিডিও: রাস্পবেরি পাই ব্যবহার করে তাপমাত্রা এবং আর্দ্রতা পর্যবেক্ষণ: 6 টি ধাপ (ছবি সহ)
ভিডিও: পড়া মনে রাখার ৫ বৈজ্ঞানিক উপায় 2024, জুলাই
Anonim
রাস্পবেরি পাই ব্যবহার করে তাপমাত্রা এবং আর্দ্রতা পর্যবেক্ষণ
রাস্পবেরি পাই ব্যবহার করে তাপমাত্রা এবং আর্দ্রতা পর্যবেক্ষণ
রাস্পবেরি পাই ব্যবহার করে তাপমাত্রা এবং আর্দ্রতা পর্যবেক্ষণ
রাস্পবেরি পাই ব্যবহার করে তাপমাত্রা এবং আর্দ্রতা পর্যবেক্ষণ

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

আমি একটি রাস্পবেরি পাই 1 বোর্ড এবং DHT22 সেন্সর ব্যবহার করছি। আপনি যে কোন কম্পিউটারে ইন্টারনেট, জিপিআইও এবং পাইথন ব্যবহার করতে পারেন। সস্তা DHT11 সেন্সরও ঠিক কাজ করে।

ধাপ 1: হার্ডওয়্যার প্রস্তুত করা

হার্ডওয়্যার প্রস্তুত করা হচ্ছে
হার্ডওয়্যার প্রস্তুত করা হচ্ছে
হার্ডওয়্যার প্রস্তুত করা হচ্ছে
হার্ডওয়্যার প্রস্তুত করা হচ্ছে

আসুন শুরু থেকেই শুরু করি, যেহেতু আমি আমার রাস্পবেরি পাইটি দীর্ঘদিন ব্যবহার করি নি।

আমাদের প্রয়োজন হবে:

  • রাস্পবেরি পাই বোর্ড (বা অন্যান্য আইওটি-ভিত্তিক প্ল্যাটফর্ম)।
  • এসডি বা মাইক্রোএসডি কার্ড (প্ল্যাটফর্মের উপর নির্ভর করে)।
  • মাইক্রো-ইউএসবি এর মাধ্যমে 5V/1A।
  • LAN কেবল, যা ইন্টারনেট সংযোগ প্রদান করে।
  • HDMI ডিসপ্লে, RCA ডিসপ্লে, বা UART পোর্ট (SSH সক্ষম করতে)।

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

ইমেজ বার্ন করা শেষ হওয়ার পর, আমি আমার পাইতে এসডি কার্ড,োকালাম, ল্যান এবং পাওয়ার ক্যাবল প্লাগ করলাম, এবং কিছুক্ষণ পর, আমার রাউটার নতুন ডিভাইসটি রেজিস্টার করল।

ধাপ 2: SSH সক্ষম করা

SSH সক্ষম করা হচ্ছে
SSH সক্ষম করা হচ্ছে
SSH সক্ষম করা হচ্ছে
SSH সক্ষম করা হচ্ছে
SSH সক্ষম করা হচ্ছে
SSH সক্ষম করা হচ্ছে

SSH ডিফল্টরূপে নিষ্ক্রিয় করা হয়। আমি UART-USB কনভার্টার ব্যবহার করতে পারি অথবা শেলটি অ্যাক্সেস করতে এবং SSH সক্ষম করতে কেবল একটি ডিসপ্লে সংযুক্ত করতে পারি।

রিবুট করার পরে, আমি অবশেষে প্রবেশ করছি। প্রথম জিনিসগুলি প্রথমে, আসুন আপডেট করি:

sudo apt update && sudo apt upgrade -y

এখন আসুন এই নতুন ডিভাইসটিকে ক্লাউডের সাথে সংযুক্ত করি।

ধাপ 3: Cloud4RPi ইনস্টল করা

Cloud4RPi ইনস্টল করা হচ্ছে
Cloud4RPi ইনস্টল করা হচ্ছে

আমি ক্লাউড 4 আরপিআই নামে ক্লাউড প্ল্যাটফর্মটি চেষ্টা করার সিদ্ধান্ত নিয়েছি, যা আইওটির জন্য ডিজাইন করা হয়েছে।

ডক্স অনুসারে, এটি চালানোর জন্য আমাদের নিম্নলিখিত প্যাকেজগুলির প্রয়োজন:

sudo apt git python python -pip -y ইনস্টল করুন

ক্লায়েন্ট লাইব্রেরি একটি একক কমান্ডে ইনস্টল করা যেতে পারে:

sudo pip install cloud4rpi

এখন কাজ করার জন্য আমাদের কিছু নমুনা কোড দরকার।

git clone https://github.com/cloud4rpi/cloud4rpi-raspberrypi-python && cd cloud4rpi-raspberrypi-python git clone https://gist.github.com/f8327a1ef09ceb1ef142fa68701270de.g min e&mimal e&mimal && rmdir -re

আমি minimal.py চালানোর সিদ্ধান্ত নিয়েছি, কিন্তু আমি জাল তথ্য পছন্দ করি না। ভাগ্যক্রমে, আমি এই উদাহরণে ডায়াগনস্টিক ডেটা বাস্তব করার একটি সহজ উপায় লক্ষ্য করেছি। আমদানি বিভাগে আরও একটি আমদানি যোগ করুন:

rpi আমদানি থেকে *

তারপরে এই ফাংশনগুলি মুছে দিন যা জাল ডেটা সরবরাহ করে (rpi.py এখন তাদের সংজ্ঞায়িত করে):

ডিফ cpu_temp ():

return 70 def ip_address (): return '8.8.8.8' def host_name (): return 'hostname' def os_name (): return 'osx'

এখন আমাদের একটি টোকেন দরকার, যা Cloud4RPi কে অ্যাকাউন্টগুলির সাথে ডিভাইসগুলিকে লিঙ্ক করার অনুমতি দেয়। একটি পেতে, cloud4rpi.io এ একটি অ্যাকাউন্ট তৈরি করুন এবং এই পৃষ্ঠায় নতুন ডিভাইস বোতামটি টিপুন। Minimal.py ফাইলে _YOUR_DEVICE_TOKEN_ স্ট্রিংটি আপনার ডিভাইসের টোকেন দিয়ে প্রতিস্থাপন করুন এবং ফাইলটি সেভ করুন। এখন আমরা প্রথম উৎক্ষেপণের জন্য প্রস্তুত।

পাইথন minimal.py

ডিভাইসের পৃষ্ঠাটি খুলুন এবং দেখুন যে ডেটা আছে।

এখন আসুন বাস্তব জগতের তথ্যের দিকে।

ধাপ 4: সেন্সর সংযুক্ত করা

সেন্সর সংযুক্ত করা হচ্ছে
সেন্সর সংযুক্ত করা হচ্ছে

আমাদের প্রয়োজন হবে:

  • DHT22 বা DHT11 আর্দ্রতা সেন্সর
  • পুল-আপ প্রতিরোধক (5-10 KΩ)
  • তারের

DHT22 সেন্সর একই সাথে তাপমাত্রা এবং আর্দ্রতা পরিমাপ করে। যোগাযোগ প্রোটোকলটি মানসম্মত নয়, তাই আমাদের এটি রাস্পি -কনফিগারে সক্ষম করার দরকার নেই - একটি সাধারণ জিপিআইও পিন যথেষ্ট বেশি।

ডেটা অর্জনের জন্য, আমি DHT সেন্সরের জন্য Adafruit এর মহান লাইব্রেরি ব্যবহার করব, কিন্তু এটি আগের মতো কাজ নাও করতে পারে। আমি একবার কোডে একটি অদ্ভুত ধ্রুবক বিলম্ব খুঁজে পেয়েছিলাম, যা আমার হার্ডওয়্যারের জন্য কাজ করে নি, এবং দুই বছর পরেও আমার পুল অনুরোধ এখনও মুলতুবি আছে। আমি বোর্ড সনাক্তকরণ ধ্রুবকও পরিবর্তন করেছি কারণ BCM2835 সহ আমার রাস্পবেরি পাই 1 আশ্চর্যজনকভাবে রাস্পবেরি পাই 3 হিসাবে সনাক্ত করা হয়েছিল। যদি আপনি এটির সাথে কোন সমস্যা অনুভব করেন, অনুগ্রহ করে মূল সংগ্রহস্থলটি চেষ্টা করুন, হয়তো এটি কারো জন্য কাজ করে, কিন্তু আমি তাদের একজন নই।

গিট ক্লোন https://github.com/Himura2la/Adafruit_Python_DHT…। Adafruit_Python_DHT

যেহেতু লাইব্রেরিটি সি তে লেখা হয়েছে, এর জন্য সংকলন প্রয়োজন, তাই আপনার প্রয়োজন বিল্ড-এসেনশিয়াল এবং পাইথন-ডেভ প্যাকেজ।

sudo apt build-essential python-dev -ysudo python setup.py install

প্যাকেজগুলি ইনস্টল করার সময়, ছবিতে দেখানো হিসাবে DHT22 সংযোগ করুন।

এবং এটি পরীক্ষা করুন:

cd ~ python -c "Adafruit_DHT d হিসাবে আমদানি করুন; d.read_retry (d. DHT22, 4) মুদ্রণ করুন"

যদি আপনি কিছু দেখতে পান (39.20000076293945, 22.600000381469727), আপনার জানা উচিত যে এটি সেলসিয়াসের পার্সেন্ট এবং তাপমাত্রায় আর্দ্রতা।

এখন, আসুন সবকিছু একত্রিত করি!

ধাপ 5: ক্লাউডে সেন্সর রিডিং পাঠানো

ক্লাউডে সেন্সর রিডিং পাঠানো হচ্ছে
ক্লাউডে সেন্সর রিডিং পাঠানো হচ্ছে

আমি minimal.py কে বেস হিসেবে ব্যবহার করব এবং এর মধ্যে DHT22 ইন্টারঅ্যাকশন যুক্ত করব।

cd cloud4rpi-raspberrypi-python

cp minimal.py cloud/cloud_dht22.py cp rpi.py ~/rpi.py cd vi cloud_dht22.py

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

Adafruit_DHT আমদানি করুন

temp, hum = None, None last_update = time.time () - 20 def update_data (): global last_update, hum, temp if time.time () - last_update> 10: hum, temp = Adafruit_DHT.read_retry (Adafruit_DHT. DHT22, 4) last_update = time.time () def get_t (): update_data () return round (temp, 2) temp না থাকলে অন্য কেউ নেই def get_h (): update_data () return round (hum, 2) যদি hum না হয় আর কেউ না কেউ না

বিদ্যমান আমদানির পরে এই কোডটি সন্নিবেশ করান এবং পরিবর্তনশীল বিভাগটি সম্পাদনা করুন যাতে এটি নতুন ফাংশন ব্যবহার করে:

ভেরিয়েবল = {

'DHT22 টেম্প': {'type': 'numeric', 'bind': get_t}, 'DHT22 Humidity': {'type': 'numeric', 'bind': get_h}, 'CPU Temp': {'type ':' সংখ্যাসূচক ',' বাঁধ ': cpu_temp}}

ডাটা ট্রান্সফার শুরু করতে লাল বোতাম টিপুন:

পাইথন cloud_dht22.py

তারপরে আপনি ডিভাইস পৃষ্ঠাটি পরীক্ষা করতে পারেন।

আপনি এটিকে যেরকম রেখে দিতে পারেন, কিন্তু আমি সবকিছুর জন্য একটি পরিষেবা পছন্দ করি। এটি নিশ্চিত করে যে স্ক্রিপ্ট সর্বদা চলছে। সম্পূর্ণ স্বয়ংক্রিয় স্ক্রিপ্ট দিয়ে একটি পরিষেবা তৈরি করা:

wget -O https://github.com/cloud4rpi/cloud4rpi-raspberrypi-python/blob/master/service_install.sh | sudo bash -s cloud_dht22.py

পরিষেবা শুরু করা:

sudo সার্ভিস cloud4rpi শুরু

এবং এটি পরীক্ষা করে দেখুন:

pi@raspberrypi: ~ $ sudo service cloud4rpi status -l

● cloud4rpi.service-Cloud4RPi ডেমন লোড: লোড (/lib/systemd/system/cloud4rpi.service; সক্রিয়) সক্রিয়: সক্রিয় (চলমান) বুধ 2017-05-17 20:22:48 ইউটিসি থেকে; 1 মিনিট আগে প্রধান পিআইডি: 560 (পাইথন) -হাব/বার্তা: {'type': 'config', 'ts': '2017-05-17T20… y'}]} মে 17 20:22:53 রাস্পবেরি পাইথন [560]: আইওটি-হাব/বার্তা প্রকাশ: {'type': 'data', 'ts': '2017-05-17T20: 2… 40'}} 17 মে 20:22:53 রাস্পবেরি পাইথন [560]: আইওটি-হাব/বার্তা প্রকাশ: {'type': 'সিস্টেম', 'ts': '2017-05-17T20….4'}}

যদি সবকিছু প্রত্যাশিতভাবে কাজ করে, তাহলে আমরা ডেটা দিয়ে হেরফের করতে Cloud4RPi প্ল্যাটফর্মের ক্ষমতা ব্যবহার করতে পারি।

ধাপ 6: চার্ট এবং অ্যালার্ম

চার্ট এবং অ্যালার্ম
চার্ট এবং অ্যালার্ম
চার্ট এবং অ্যালার্ম
চার্ট এবং অ্যালার্ম
চার্ট এবং অ্যালার্ম
চার্ট এবং অ্যালার্ম

প্রথমত, চলকগুলিকে কীভাবে পরিবর্তন করা যায় তা দেখার জন্য প্লট করা যাক। এটি একটি নতুন কন্ট্রোল প্যানেল যুক্ত করে এবং প্রয়োজনীয় চার্টগুলি এতে করে করা যেতে পারে।

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

এর ঠিক পরে, আমার ঘরের আর্দ্রতা কোন লক্ষণীয় কারণ ছাড়াই দ্রুত হ্রাস পেতে শুরু করে এবং শীঘ্রই অ্যালার্মটি অনুসরণ করে।

আপনি পাইথন চালাতে সক্ষম এমন যেকোনো হার্ডওয়্যারের সাথে বিনামূল্যে Cloud4RPi ব্যবহার করতে পারেন।আমার হিসাবে, এখন আমি সবসময় জানি কখন এয়ার হিউমিডিফায়ার চালু করতে হয়, এবং আমি ক্লাউড 4RPi এর মাধ্যমে রিমোট কন্ট্রোলের জন্য এটি একটি রিলেতেও সংযুক্ত করতে পারি। আমি গরমের জন্য প্রস্তুত! স্বাগতম গ্রীষ্ম!

প্রস্তাবিত: