جدول المحتويات:
- اللوازم
- الخطوة 1: تجهيز الأجهزة
- الخطوة الثانية: تثبيت Cloud4RPi
- الخطوة الثالثة: توصيل المستشعر
- الخطوة 4: إرسال قراءات المستشعر إلى السحابة
- الخطوة 5: الرسوم البيانية والإنذارات
فيديو: الرطوبة في السحابة: 5 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:38
الصيف قادم ، ويجب على من ليس لديهم مكيف هواء أن يكونوا مستعدين للتحكم في الجو في الداخل يدويًا. في هذا المنشور ، أصف الطريقة الحديثة لقياس أهم المعايير لراحة الإنسان: درجة الحرارة والرطوبة. يتم إرسال هذه البيانات المجمعة إلى السحابة ومعالجتها هناك.
اللوازم
أنا أستخدم لوحة 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 ، المصمم لإنترنت الأشياء.
وفقًا للمستندات ، نحتاج إلى الحزم التالية لتشغيله:
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 وأجهزة إنترنت الأشياء الأخرى عن بُعد في الوقت الفعلي. قم بزيارة موقعنا وقم بتوصيل عدد غير محدود من الأجهزة مجانًا.
موصى به:
مصباح السحابة المزاجية: 5 خطوات
مصباح سحابة المزاج: Esta lámpara de humor puede ayudarte a crear un ambiente agradable accradable a los colores que desees poner. Este tiene dos funciones en las cuales pueden ser de forma manual، en donde tu puedas jugar con los colores متوافقة مع gusto partiendo de
أتمتة المنزل التي يتم التحكم فيها عبر الإنترنت / السحابة باستخدام Esp8266 (aREST ، MQTT ، IoT): 7 خطوات (بالصور)
أتمتة المنزل المتحكم فيه عبر الإنترنت / السحابة باستخدام Esp8266 (aREST ، MQTT ، IoT): جميع الاعتمادات إلى http://arest.io/ للخدمة السحابية !! الخوادم والخدمات السحابية التي تجعل هذا ممكنًا هي نقطة الجذب في عالم اليوم … كان التغلب على حاجز المسافة وما زال
كيفية إرسال البيانات إلى السحابة باستخدام Arduino Ethernet: 8 خطوات
كيفية إرسال البيانات إلى السحابة باستخدام Arduino Ethernet: يوضح لك هذا التوجيه كيفية نشر بياناتك إلى منصة AskSensors IoT باستخدام Arduino Ethernet Shield. يتيح Ethernet Shield لـ Arduino الاتصال بسهولة بالسحابة وإرسال واستقبال البيانات عبر اتصال بالإنترنت. ما كنا
السحابة الاصطناعية: 3 خطوات
السحابة الاصطناعية: مرحبًا بالجميع ، سأقوم اليوم بصنع سحابة اصطناعية بألوان قوس قزح
جهاز مراقبة الرطوبة اللاسلكي (ESP8266 + مستشعر الرطوبة): 5 خطوات
مراقب الرطوبة اللاسلكي (ESP8266 + مستشعر الرطوبة): أشتري البقدونس في وعاء ، وكانت التربة جافة معظم اليوم. لذلك قررت أن أقوم بهذا المشروع ، حول استشعار رطوبة التربة في وعاء بالبقدونس ، للتحقق ، عندما أحتاج إلى صب التربة بالماء ، أعتقد أن هذا المستشعر (مستشعر الرطوبة بالسعة v1.2) جيد لأن