فهرست مطالب:

نظارت بر دما و رطوبت با استفاده از تمشک پای: 6 مرحله (همراه با تصاویر)
نظارت بر دما و رطوبت با استفاده از تمشک پای: 6 مرحله (همراه با تصاویر)

تصویری: نظارت بر دما و رطوبت با استفاده از تمشک پای: 6 مرحله (همراه با تصاویر)

تصویری: نظارت بر دما و رطوبت با استفاده از تمشک پای: 6 مرحله (همراه با تصاویر)
تصویری: پیتزا، ساندویچ، کباب: افشاگری در مورد ترفندهای بزرگ رستوران کوچک 2024, جولای
Anonim
نظارت بر دما و رطوبت با استفاده از تمشک پای
نظارت بر دما و رطوبت با استفاده از تمشک پای
نظارت بر دما و رطوبت با استفاده از تمشک پای
نظارت بر دما و رطوبت با استفاده از تمشک پای

تابستان در راه است و کسانی که کولر ندارند باید آماده باشند تا فضای داخل خانه را به صورت دستی کنترل کنند. در این پست ، من روش مدرن اندازه گیری مهمترین پارامترها برای راحتی انسان را توصیف می کنم: دما و رطوبت. این داده های جمع آوری شده به ابر ارسال می شود و در آنجا پردازش می شود.

من از یک برد رزبری پای 1 و سنسور DHT22 استفاده می کنم. شما می توانید همین کار را در هر رایانه ای که دارای اینترنت ، GPIO و پایتون است انجام دهید. سنسور ارزان تر DHT11 نیز خوب کار می کند.

مرحله 1: آماده سازی سخت افزار

آماده سازی سخت افزار
آماده سازی سخت افزار
آماده سازی سخت افزار
آماده سازی سخت افزار

بیایید از ابتدا شروع کنیم ، زیرا من مدت طولانی از Raspberry Pi خود استفاده نکردم.

ما نیاز خواهیم داشت:

  • برد Raspberry Pi (یا سایر پلتفرم های IoT).
  • کارت SD یا microSD (بسته به پلت فرم).
  • 5V/1A از طریق میکرو USB.
  • کابل LAN ، که اتصال اینترنت را فراهم می کند.
  • صفحه نمایش HDMI ، صفحه نمایش RCA یا پورت UART (برای فعال کردن SSH).

اولین گام بارگیری Raspbian است. من نسخه Lite را انتخاب کرده ام ، زیرا از SSH به جای صفحه نمایش استفاده می کنم. از آخرین باری که این کار را انجام دادم ، چیزها تغییر کرده اند: در حال حاضر یک نرم افزار سوزاندن عالی به نام Etcher وجود دارد که کاملاً کار می کند و دارای طراحی خیره کننده است به

پس از اتمام سوزاندن تصویر ، من کارت SD را در Pi خود وارد کردم ، LAN و کابل های برق را به برق وصل کردم و بعد از مدتی روتر من دستگاه جدید را ثبت کرد.

مرحله 2: فعال کردن SSH

فعال کردن SSH
فعال کردن SSH
فعال کردن SSH
فعال کردن SSH
فعال کردن SSH
فعال کردن SSH

SSH به طور پیش فرض غیرفعال است. من می توانم از مبدل UART-USB استفاده کنم یا فقط صفحه ای را برای دسترسی به پوسته و فعال کردن SSH متصل کنم.

پس از راه اندازی مجدد ، بالاخره وارد می شوم. در وهله اول ، بیایید به روز رسانی کنیم:

sudo apt update && sudo apt upgrade -y

حالا بیایید این دستگاه تازه را به Cloud وصل کنیم.

مرحله 3: نصب Cloud4RPi

نصب Cloud4RPi
نصب Cloud4RPi

تصمیم گرفتم پلتفرم ابری به نام Cloud4RPi را که برای IoT طراحی شده است ، امتحان کنم.

طبق اسناد ، برای راه اندازی آن به بسته های زیر نیاز داریم:

sudo apt git python python -pip -y را نصب کنید

کتابخانه کلاینت را می توان در یک دستور واحد نصب کرد:

sudo pip را نصب کنید cloud4rpi

اکنون برای اطمینان از کارکردن به نمونه کد نیاز داریم.

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

تصمیم گرفتم minimal.py را اجرا کنم ، اما از داده های جعلی خوشم نمی آید. خوشبختانه ، من در این مثال راهی آسان برای واقعی سازی داده های تشخیصی مشاهده کردم. یک واردات دیگر را به بخش واردات اضافه کنید:

از واردات rpi *

سپس این توابع را که داده های جعلی ارائه می دهند حذف کنید (rpi.py آنها را اکنون تعریف می کند):

def 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 حساب ایجاد کرده و دکمه دستگاه جدید را در این صفحه فشار دهید. رشته _YOUR_DEVICE_TOKEN_ را در فایل minimal.py با توکن دستگاه خود جایگزین کرده و فایل را ذخیره کنید. اکنون ما برای اولین پرتاب آماده هستیم.

پایتون minimal.py

صفحه دستگاه را باز کنید و بررسی کنید که اطلاعات موجود است.

حالا بیایید به داده های دنیای واقعی برویم.

مرحله 4: اتصال سنسور

اتصال سنسور
اتصال سنسور

ما نیاز خواهیم داشت:

  • سنسور رطوبت DHT22 یا DHT11
  • مقاومت کششی (5-10 کیلو وات)
  • سیم ها

سنسور DHT22 دما و رطوبت را به طور همزمان اندازه گیری می کند. پروتکل ارتباطی استاندارد نیست ، بنابراین نیازی به فعال کردن آن در raspi -config نداریم - یک پین GPIO ساده بیش از اندازه کافی است.

برای به دست آوردن داده ها ، از کتابخانه بزرگ Adafruit برای سنسورهای DHT استفاده می کنم ، اما ممکن است به این شکل کار نکند. من یک بار یک تأخیر ثابت عجیب در کد پیدا کردم ، که برای سخت افزار من کار نمی کرد ، و پس از دو سال درخواست کشیدن من هنوز در انتظار است. من ثابت های تشخیص برد را نیز تغییر داده ام زیرا Raspberry Pi 1 من با BCM2835 به طرز شگفت آوری به عنوان Raspberry Pi 3 تشخیص داده شد. ای کاش حقیقت داشت … بنابراین ، من توصیه می کنم از چنگال خود استفاده کنید. اگر با آن مشکلی دارید ، لطفاً مخزن اصلی را امتحان کنید ، شاید برای کسی کار کند ، اما من یکی از آنها نیستم.

git clone https://github.com/Himura2la/Adafruit_Python_DHT…. Adafruit_Python_DHT

همانطور که کتابخانه به زبان C نوشته شده است ، نیاز به کامپایل دارد ، بنابراین شما به بسته های ضروری و python-dev نیاز دارید.

sudo apt install 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_dht22.py cp rpi.py/rpi.py cd vi cloud_dht22.py

از آنجا که DHT22 دما و رطوبت را در یک تماس باز می گرداند ، من آنها را در سطح جهانی ذخیره می کنم و فقط یک بار در صورت درخواست ، با فرض اینکه تاخیر بین آنها بیش از 10 ثانیه باشد ، به روز می کنم. کد زیر را که اطلاعات DHT22 را دریافت می کند ، در نظر بگیرید:

Adafruit_DHT را وارد کنید

temp، hum = هیچ ، هیچ 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 () round round (temp، 2) if temp is not no other هیچ کس دیگر هیچ

این کد را پس از واردات موجود وارد کرده و قسمت متغیرها را ویرایش کنید تا از توابع جدید استفاده کند:

متغیرها = {

'DHT22 Temp': {'type': 'numeric'، 'bind': get_t}، 'DHT22 Humidity': {'type': 'numeric'، 'bind': get_h}، 'CPU Temp': {'type ':' numeric '،' bind ': cpu_temp}}

برای شروع انتقال داده ، دکمه قرمز را فشار دهید:

python 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 daemon بارگیری: بارگیری (بارگیری (/lib/systemd/system/cloud4rpi.service ؛ فعال) فعال: فعال (در حال اجرا) از چهارشنبه 2017-05-17 20:22:48 UTC ؛ 1 دقیقه قبل PID اصلی: 560 (python) CGroup: /system.slice/cloud4rpi.service └─560/usr/bin/python /home/pi/cloud_dht22.pyMay 17 20:22:51 raspberrypi python [560]: Publishing iot -hub/messages: {'type': 'config'، 'ts': '2017-05-17T20… y'}]} 17 مه 20:22:53 raspberrypi python [560]: انتشار iot-hub/پیام ها: {'type': 'data'، 'ts': '2017-05-17T20: 2… 40'}} 17 مه 20:22:53 raspberrypi python [560]: انتشار iot-hub/پیامها: {'type': 'system'، 'ts': '2017-05-17T20….4'}}

اگر همه چیز مطابق انتظار کار می کند ، می توانیم ادامه دهیم و از قابلیت های بستر Cloud4RPi برای دستکاری داده ها استفاده کنیم.

مرحله 6: نمودارها و هشدارها

نمودارها و زنگ هشدارها
نمودارها و زنگ هشدارها
نمودارها و زنگ هشدارها
نمودارها و زنگ هشدارها
نمودارها و زنگ هشدارها
نمودارها و زنگ هشدارها

اول از همه ، بیایید متغیرها را ترسیم کنیم تا ببینیم چگونه تغییر می کنند. این کار را می توان با افزودن یک کنترل پنل جدید و قرار دادن نمودارهای مورد نیاز در آن انجام داد.

یکی دیگر از کارهایی که می توانیم در اینجا انجام دهیم تنظیم Alert است. این ویژگی به شما امکان می دهد محدوده ایمن را برای یک متغیر پیکربندی کنید. به محض اینکه محدوده بیش از حد شد ، یک اعلان ایمیل ارسال می کند. در صفحه ویرایش کنترل پنل ، می توانید به هشدارها بروید و یکی را تنظیم کنید.

بلافاصله پس از آن ، رطوبت اتاق من بدون هیچ دلیل قابل توجهی به سرعت کاهش یافت و زنگ هشدار به زودی به دنبال آن آمد.

شما می توانید از Cloud4RPi به صورت رایگان با هر سخت افزاری که قادر به اجرای پایتون است استفاده کنید. در مورد من ، من همیشه می دانم چه زمان بخور رطوبت ساز را روشن کنم و حتی می توانم آن را به رله ای برای کنترل از راه دور از طریق Cloud4RPi وصل کنم. من برای گرما آماده ام! تابستان خوش آمدید!

توصیه شده: