جدول المحتويات:

الرطوبة في السحابة: 5 خطوات
الرطوبة في السحابة: 5 خطوات

فيديو: الرطوبة في السحابة: 5 خطوات

فيديو: الرطوبة في السحابة: 5 خطوات
فيديو: دورة الماء في الطبيعة | كيف يتكون المطر | لماذا تمطر | Water Cycle for Kids| Arabic for kids 2024, يوليو
Anonim
الرطوبة في السحابة
الرطوبة في السحابة

الصيف قادم ، ويجب على من ليس لديهم مكيف هواء أن يكونوا مستعدين للتحكم في الجو في الداخل يدويًا. في هذا المنشور ، أصف الطريقة الحديثة لقياس أهم المعايير لراحة الإنسان: درجة الحرارة والرطوبة. يتم إرسال هذه البيانات المجمعة إلى السحابة ومعالجتها هناك.

اللوازم

أنا أستخدم لوحة Raspberry Pi ومستشعر DHT22. يمكنك فعل الشيء نفسه على أي جهاز كمبيوتر يحتوي على الإنترنت و GPIO و Python. يعمل مستشعر DHT11 الأرخص أيضًا بشكل جيد.

الخطوة 1: تجهيز الأجهزة

تحضير الأجهزة
تحضير الأجهزة
تحضير الأجهزة
تحضير الأجهزة
تحضير الأجهزة
تحضير الأجهزة
تحضير الأجهزة
تحضير الأجهزة

لنبدأ من البداية ، لأنني لم أستخدم Raspberry Pi الخاص بي لفترة طويلة.

سنحتاج:

  • لوحة Raspberry Pi (أو منصة أخرى موجهة لإنترنت الأشياء).
  • بطاقة SD أو microSD (حسب النظام الأساسي).
  • 5V / 1A عبر كابل micro-USB. LAN الذي يوفر الاتصال بالإنترنت.
  • شاشة HDMI أو شاشة RCA أو منفذ UART (لتمكين SSH).

الخطوة الأولى هي تنزيل Raspbian. لقد اخترت الإصدار البسيط ، حيث سأستخدم SSH بدلاً من العرض.

لقد تغيرت الأشياء منذ آخر مرة قمت فيها بذلك: يوجد الآن برنامج حرق رائع يسمى Etcher ، والذي يعمل بشكل مثالي ، وله تصميم مذهل.

بعد اكتمال نسخ الصورة ، أدخلت بطاقة SD في Pi ، وقمت بتوصيل الشبكة المحلية وكابلات الطاقة ، وبعد فترة ، قام جهاز التوجيه الخاص بي بتسجيل الجهاز الجديد.

رائعة! دعنا نذهب و SSH فيه.

الأمان على ما يرام ، أنا أحبه ، لكن هذا يجعل الأمور أصعب قليلاً. سأستخدم محول UART-USB للوصول إلى الغلاف وتمكين SSH …

استخدام شاشة بدلاً من UART يجعل الأمر أسهل بكثير.

بعد إعادة التشغيل ، دخلت أخيرًا.

أول الأشياء أولاً ، دعنا نحدث:

تحديث sudo apt && sudo apt Upgrade -y

دعونا الآن نربط هذا الجهاز الجديد بـ Cloud.

الخطوة الثانية: تثبيت Cloud4RPi

تثبيت Cloud4RPi
تثبيت Cloud4RPi

قررت أن أجرب النظام الأساسي السحابي المسمى Cloud4RPi ، المصمم لإنترنت الأشياء.

وفقًا للمستندات ، نحتاج إلى الحزم التالية لتشغيله:

sudo apt install git python3 python3-pip -y

يمكن تثبيت مكتبة العميل بأمر واحد:

تثبيت sudo pip3 cloud4rpi

الآن نحن بحاجة إلى بعض التعليمات البرمجية.

git clone https://github.com/cloud4rpi/cloud4rpi-raspberrypi-python && cd cloud4rpi-raspberrypi-python

البرنامج النصي القابل للتنفيذ هو control.py.

نحتاج إلى رمز مميز يسمح لـ Cloud4RPi بربط الأجهزة بالحسابات. للحصول على حساب ، قم بإنشاء حساب على cloud4rpi.io واضغط على زر جهاز جديد في هذه الصفحة. استبدل سلسلة _YOUR_DEVICE_TOKEN_ في ملف control.py بالرمز المميز لجهازك واحفظ الملف. الآن نحن جاهزون للإطلاق الأول.

sudo python3 control.py

افتح صفحة الجهاز وتحقق من وجود البيانات.

دعنا الآن ننتقل إلى بيانات العالم الحقيقي.

الخطوة الثالثة: توصيل المستشعر

توصيل جهاز الاستشعار
توصيل جهاز الاستشعار

سنحتاج:

  • مستشعر الرطوبة DHT22 أو DHT11
  • مقاوم سحب (5-10 KΩ)
  • الأسلاك

يقيس مستشعر DHT22 درجة الحرارة والرطوبة في نفس الوقت. بروتوكول الاتصال غير موحد ، لذلك لا نحتاج إلى تمكينه في raspi-config - دبوس GPIO البسيط أكثر من كافٍ.

للحصول على البيانات ، سأستخدم مكتبة Adafruit الرائعة لأجهزة استشعار DHT ، ولكنها قد لا تعمل كما هي. لقد وجدت ذات مرة تأخيرًا مستمرًا غريبًا في الكود ، والذي لم يعمل مع أجهزتي ، وبعد عامين لا يزال طلب السحب معلقًا. لقد قمت أيضًا بتغيير ثوابت اكتشاف اللوحة لأن Raspberry Pi 1 الخاص بي مع BCM2835 تم اكتشافه بشكل مفاجئ على أنه Raspberry Pi 3. أتمنى أن يكون هذا صحيحًا … وبالتالي ، أوصي باستخدام مفترقتي. إذا واجهت أي مشاكل في ذلك ، فالرجاء تجربة المستودع الأصلي ، فربما يعمل مع شخص ما ، لكنني لست واحدًا منهم.

استنساخ بوابة https://github.com/Himura2la/Adafruit_Python_DHT.gitcd Adafruit_Python_DHT

نظرًا لأن المكتبة مكتوبة بلغة C ، فإنها تتطلب التجميع ، لذا فأنت بحاجة إلى حزم build-basic و python-dev.

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

أثناء تثبيت الحزم ، قم بتوصيل DHT22 كما هو موضح في الصورة.

واختبرها:

cd ~ python -c "استيراد Adafruit_DHT مثل d ؛ طباعة d.read_retry (ت. DHT22 ، 4)"

إذا رأيت شيئًا مثل (39.20000076293945 ، 22.600000381469727) ، فيجب أن تعلم أن هذه هي الرطوبة بالنسب المئوية ودرجة الحرارة بالدرجة المئوية.

الآن ، دعونا نجمع كل شيء معًا!

الخطوة 4: إرسال قراءات المستشعر إلى السحابة

إرسال قراءات أجهزة الاستشعار إلى السحابة
إرسال قراءات أجهزة الاستشعار إلى السحابة
إرسال قراءات أجهزة الاستشعار إلى السحابة
إرسال قراءات أجهزة الاستشعار إلى السحابة

سأستخدم control.py كقاعدة وأضيف تفاعل DHT22 فيه.

cp cloud4rpi-raspberrypi-python / control.py./cloud_dht22.pycp cloud4rpi-raspberrypi-python / rpi.py./rpi.pyvi cloud_dht22.py

قم بإزالة نموذج الكود كما في الصورة أعلاه.

نظرًا لأن DHT22 يُرجع كلاً من درجة الحرارة والرطوبة في مكالمة واحدة ، فسأخزنها عالميًا وأقوم بالتحديث مرة واحدة فقط في الطلب ، بافتراض أن التأخير بينهما يزيد عن 10 ثوانٍ. ضع في اعتبارك الكود التالي ، الذي يكتسب بيانات DHT22:

استيراد Adafruit_DHT

temp ، همهمة = لا شيء ، لا شيء

last_update = time.time () - 20

def update_data ():

last_update العالمي ، همهمة ، 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 () عودة الجولة (درجة الحرارة ، 2) إذا لم تكن درجة الحرارة لا شيء آخر لا شيء def get_h (): update_data () عودة الجولة (همهمة ، 2) إذا لم يكن الطنين لا شيء آخر لا شيء

أدخل هذا الرمز بعد عمليات الاستيراد الحالية وقم بتحرير قسم المتغيرات بحيث يستخدم الوظائف الجديدة:

المتغيرات = {'DHT22 Temp': {'type': 'numeric'، 'bind': get_t}، 'DHT22 Humidity': {'type': 'numeric'، 'bind': get_h}، 'CPU Temp': {'type': 'numeric'، 'bind': cpu_temp}}

إذا وجدت أن التلاعبات محيرة ، فاحصل على الإصدار الأخير من هذا الملف واضغط على الزر الأحمر لبدء نقل البيانات:

ثم يمكنك التحقق من صفحة الجهاز.

python3 cloud_dht22.py

ثم يمكنك التحقق من صفحة الجهاز.

يمكنك تركها كما هي ، لكني أفضل وجود خدمة لكل شيء. هذا يضمن أن البرنامج النصي يعمل دائمًا. إنشاء خدمة باستخدام البرنامج النصي المؤتمت بالكامل الموجود بالفعل في دليل cloud4rpi-raspberrypi-python:

service_install.sh cloud_dht22.py

بدء الخدمة:

تبدأ خدمة sudo cloud4rpi

والتحقق منها:

pi @ raspberrypi: ~ $ sudo service cloud4rpi status -l ● cloud4rpi.service - Cloud4RPi daemon Loaded: تم تحميله (/lib/systemd/system/cloud4rpi.service ؛ مُمكّن) نشط: نشط (قيد التشغيل) منذ الأربعاء 2017-05-17 20: 22:48 بالتوقيت العالمي المنسق ؛ منذ دقيقة واحدة معرف المنتج الرئيسي: 560 (بيثون) مجموعة C: / system.slice/cloud4rpi.service └─560 / usr / bin / python /home/pi/cloud_dht22.py

17 مايو 20:22:51 raspberrypi python [560]: نشر iot-hub / messages: {'type': 'config'، 'ts': '2017-05-17T20… y'}]}

17 مايو 20:22:53 raspberrypi python [560]: نشر iot-hub / messages: {'type': 'data'، 'ts': '2017-05-17T20: 2… 40'}} 17 مايو 20: 22:53 raspberrypi python [560]: نشر iot-hub / messages: {'type': 'system'، 'ts': '2017-05-17T20….4'}}

إذا كان كل شيء يعمل كما هو متوقع ، فيمكننا المضي قدمًا واستخدام إمكانات النظام الأساسي Cloud4RPi للتعامل مع البيانات.

الخطوة 5: الرسوم البيانية والإنذارات

الرسوم البيانية والإنذارات
الرسوم البيانية والإنذارات
الرسوم البيانية والإنذارات
الرسوم البيانية والإنذارات
الرسوم البيانية والإنذارات
الرسوم البيانية والإنذارات

بادئ ذي بدء ، دعنا نرسم المتغيرات لنرى كيف تتغير. يمكن القيام بذلك عن طريق إضافة لوحة تحكم جديدة ووضع المخططات المطلوبة فيها.

شيء آخر يمكننا القيام به هنا هو تعيين تنبيه. تمكنك هذه الميزة من تكوين النطاق الآمن لمتغير. بمجرد تجاوز النطاق ، يرسل إشعارًا بالبريد الإلكتروني. في صفحة تحرير لوحة التحكم ، يمكنك التبديل إلى التنبيهات وإعداد واحدة.

بعد ذلك مباشرة ، بدأت الرطوبة في غرفتي في الانخفاض بسرعة دون أي سبب ملحوظ ، وسرعان ما تبع الإنذار.

يمكنك استخدام Cloud4RPi مجانًا مع أي جهاز قادر على تنفيذ Python ، أما بالنسبة لي ، فأنا الآن أعرف دائمًا متى يجب تشغيل مرطب الهواء ، ويمكنني أيضًا توصيله بمرحل للتحكم عن بُعد عبر Cloud4RPi. أنا مستعد للحرارة! أهلا بالصيف!

باستخدام Cloud4RPi ، يمكنك التحكم في Raspberry Pi وأجهزة إنترنت الأشياء الأخرى عن بُعد في الوقت الفعلي. قم بزيارة موقعنا وقم بتوصيل عدد غير محدود من الأجهزة مجانًا.

موصى به: