جدول المحتويات:
- اللوازم
- الخطوة 1: Raspberry Pi
- الخطوة الثانية: المستشعرات
- الخطوة 3: إعداد Raspberry Pi
- الخطوة 4: حساب الدولة المبدئي
- الخطوة 5: محلول DHT22
- الخطوة 6: حل DSB18B20
- الخطوة 7: حل BME280
- الخطوة 8: تحسس HAT
- الخطوة 9: تخصيص لوحة معلومات الحالة الأولية الخاصة بك
فيديو: كيفية بناء جهاز مراقبة درجة حرارة Raspberry Pi: 9 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:38
تعتبر درجة الحرارة والرطوبة نقاط بيانات حيوية في العالم الصناعي اليوم. تعد مراقبة البيانات البيئية لغرف الخادم والمجمدات التجارية وخطوط الإنتاج أمرًا ضروريًا للحفاظ على سير الأمور بسلاسة. هناك الكثير من الحلول التي تتراوح من الأساسية إلى المعقدة ويمكن أن تبدو مربكة فيما يتعلق بما يحتاجه عملك ومن أين تبدأ.
سنتعرف على كيفية مراقبة درجة الحرارة باستخدام Raspberry Pi ومستشعرات درجات الحرارة المختلفة التي يمكنك استخدامها. يعد هذا مكانًا جيدًا للبدء نظرًا لأن هذه الحلول غير مكلفة وسهلة التنفيذ وتمنحك أساسًا للبناء عليه من أجل المراقبة البيئية الأخرى.
اللوازم
- Raspberry Pi (3 أو 4 أو Zero WH)
- مستشعر درجة الحرارة (DHT2 أو DSB18B20 أو BME280 أو Sense HAT)
- 6 "40-Pin IDE ذكر إلى أنثى تمديد كابل (Sense HAT Solution)
- 10K المقاوم ، اللوح ، لوحة القطع 40 دبوس + كابل الشريط ، الأسلاك (لحل DSB18B20)
الخطوة 1: Raspberry Pi
يعد Raspberry Pi كمبيوترًا منفردًا غير مكلف يسمح لك بالاتصال بمستشعر درجة الحرارة وتدفق البيانات إلى برنامج تصور البيانات. بدأ Raspberry Pi كأداة تعليمية وتطورت إلى أداة صناعية في مكان العمل. جعلت سهولة الاستخدام والقدرة على البرمجة باستخدام Python ، لغة البرمجة الأسرع نموًا ، من الحلول المناسبة.
ستحتاج إلى Raspberry Pi الذي يحتوي على WiFi مدمج ، وهو أي طراز 3 و 4 وصفر W / WH. من بين هؤلاء يمكنك الاختيار على أساس الأسعار والميزات. يعتبر Zero W / WH هو الأرخص ، ولكن إذا كنت بحاجة إلى المزيد من الوظائف ، يمكنك الاختيار بين 3 و 4. يمكنك فقط شراء Zero W / WH في كل مرة بسبب القيود التي تفرضها مؤسسة Raspberry Pi Foundation. مهما كان Pi الذي تختاره ، تأكد من شراء شاحن لأن هذه هي الطريقة التي ستشغل بها Pi وبطاقة SD مع Raspbian لجعل تثبيت نظام التشغيل سهلاً قدر الإمكان.
هناك أجهزة كمبيوتر أخرى ذات لوحة فردية يمكنها العمل أيضًا ، ولكن هذا لمرة أخرى ومقال آخر.
الخطوة الثانية: المستشعرات
هناك ثلاثة أجهزة استشعار نوصي باستخدامها لأنها غير مكلفة وسهلة التوصيل وتعطي قراءات دقيقة ؛ قبعة DSB18B20 و DHT22 و Raspberry Pi Sense.
DHT22 - يتمتع مستشعر درجة الحرارة والرطوبة هذا بدقة درجة حرارة +/- 0.5 درجة مئوية ومدى الرطوبة من 0 إلى 100 بالمائة. من السهل توصيل جهاز Raspberry Pi ولا يتطلب أي مقاومات سحب.
DSB18B20 - يحتوي مستشعر درجة الحرارة هذا على خرج رقمي يعمل بشكل جيد مع Raspberry Pi. يحتوي على ثلاثة أسلاك ويتطلب لوح توصيل ومقاوم للاتصال.
BME280 - يقيس هذا المستشعر درجة الحرارة والرطوبة والضغط الجوي. يمكن استخدامه في كل من SPI و I2C.
Sense HAT - هذه إضافة على لوحة Raspberry Pi التي تحتوي على مصابيح LED وأجهزة استشعار وعصا تحكم صغيرة. يتصل مباشرة بـ GPIO على Raspberry Pi ولكن باستخدام كابل الشريط يمنحك قراءات أكثر دقة لدرجة الحرارة.
الخطوة 3: إعداد Raspberry Pi
إذا كانت هذه هي المرة الأولى التي تقوم فيها بإعداد Raspberry Pi ، فستحتاج إلى تثبيت نظام التشغيل Raspbian وتوصيل Pi بشبكة WiFi. سيتطلب ذلك شاشة ولوحة مفاتيح للاتصال بـ Pi. بمجرد تشغيله وتشغيله وتوصيله بشبكة WiFI ، يكون Pi جاهزًا للعمل.
الخطوة 4: حساب الدولة المبدئي
ستحتاج إلى مكان ما لإرسال بياناتك للاحتفاظ بسجل تاريخي وعرض تدفق البيانات في الوقت الفعلي حتى نستخدم الحالة الأولية. انتقل إلى https://iot.app.initialstate.com وأنشئ حسابًا جديدًا أو سجّل الدخول إلى حسابك الحالي.
بعد ذلك ، نحتاج إلى تثبيت الوحدة النمطية الأولية لـ Python على Pi الخاص بك. في موجه الأوامر (لا تنس إدخال SSH في Pi أولاً) ، قم بتشغيل الأمر التالي:
$ cd / الرئيسية / pi /
$ / curl -sSL https://get.initialstate.com/python -o - | سودو باش
بعد إدخال الأمر curl في موجه الأوامر ، سترى شيئًا مشابهًا للإخراج التالي على الشاشة:
@ raspberrypi ~
$ / curl -sSL https://get.initialstate.com/python -o - | كلمة مرور sudo bash: بداية ISStreamer Python سهلة التثبيت! قد يستغرق هذا بضع دقائق للتثبيت ، احصل على بعض القهوة:) ولكن لا تنسَ العودة ، سأطرح أسئلة لاحقًا! Found easy_install: setuptools 1.1.6 Found pip: pip 1.5.6 from /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) إصدار النقطة الرئيسي: 1 pip إصدار ثانوي: تم العثور على 5 ISStreamer ، يتم تحديثه … المطلب محدث بالفعل: ISStreamer في /Library/Python/2.7/site-packages تنظيف … هل تريد الحصول تلقائيًا على مثال على البرنامج النصي؟ [y / N] أين تريد حفظ المثال؟ [افتراضي:./is_example.py] يرجى تحديد تطبيق الحالة الأولية الذي تستخدمه: 1. app.initialstate.com 2. [NEW!] iot.app.initialstate.com أدخل الخيار 1 أو 2: أدخل iot.app اسم مستخدم.initialstate.com: أدخل كلمة مرور iot.app.initialstate.com:
عند مطالبتك بالحصول على مثال على برنامج نصي تلقائيًا ، اكتب y. سيؤدي ذلك إلى إنشاء برنامج نصي للاختبار يمكننا تشغيله للتأكد من أنه يمكننا دفق البيانات إلى الحالة الأولية. سيطلب الموجه التالي المكان الذي تريد حفظ ملف المثال فيه. يمكنك إما كتابة مسار محلي مخصص أو الضغط على إدخال لقبول الموقع الافتراضي. أخيرًا ، سيتم سؤالك عن تطبيق Initial State الذي تستخدمه. إذا كنت قد أنشأت حسابًا مؤخرًا ، فحدد الخيار 2 ، وأدخل اسم المستخدم وكلمة المرور. بعد ذلك سيكتمل التثبيت.
دعنا نلقي نظرة على مثال البرنامج النصي الذي تم إنشاؤه.
نانو $ is_example.py
في السطر 15 ، سترى سطرًا يبدأ بـ Streamer = Streamer (bucket_…. تنشئ هذه السطور حاوية بيانات جديدة تسمى "Python Stream Example" وترتبط بحسابك. يحدث هذا الارتباط بسبب access_key = "…" المعلمة في نفس السطر. هذه السلسلة الطويلة من الأحرف والأرقام هي مفتاح الوصول إلى حساب الولاية الأولية. إذا انتقلت إلى حسابك الأولي في متصفح الويب ، فانقر على اسم المستخدم في الجزء العلوي الأيسر ، ثم انتقل إلى "إعداداتي" ، ستجد مفتاح الوصول نفسه هنا تحت عنوان "Streaming Access Keys".
في كل مرة تقوم فيها بإنشاء دفق بيانات ، سيوجه مفتاح الوصول هذا تدفق البيانات إلى حسابك (لذلك لا تشارك مفتاحك مع أي شخص).
قم بتشغيل البرنامج النصي التجريبي للتأكد من أنه يمكننا إنشاء دفق بيانات إلى حساب Initial State الخاص بك. قم بتشغيل ما يلي:
$ python is_example.py
ارجع إلى حساب Initial State الخاص بك في متصفح الويب الخاص بك. يجب أن تظهر مجموعة بيانات جديدة تسمى "Python Stream Example" على اليسار في رف السجل (قد تضطر إلى تحديث الصفحة). انقر فوق هذا المستودع ثم انقر فوق رمز Waves لعرض بيانات الاختبار
إذا كنت تستخدم Python 3 ، فيمكنك تثبيت Initial State Streamer Module الذي يمكنك تثبيته باستخدام الأمر التالي:
pip3 تثبيت ISStreamer
نحن الآن جاهزون لإعداد مستشعر درجة الحرارة باستخدام Pi لتدفق درجة الحرارة إلى لوحة القيادة.
الخطوة 5: محلول DHT22
سيحتوي DHT22 على ثلاثة دبابيس - 5V و Gnd والبيانات. يجب أن يكون هناك ملصق دبوس للطاقة على DHT22 (على سبيل المثال "+" أو "5V"). قم بتوصيل هذا بالدبوس 2 (الدبوس الأيمن العلوي ، 5 فولت) من Pi. سيتم تسمية دبوس Gnd "-" أو "Gnd" أو ما يعادله. قم بتوصيل هذا بالدبوس 6 Gnd (دبابيس أسفل دبوس 5V) على Pi. الدبوس المتبقي على DHT22 هو دبوس البيانات وسيتم تسميته "خارج" أو "s" أو "بيانات". قم بتوصيل هذا بأحد دبابيس GPIO على Pi مثل GPIO4 (دبوس 7). بمجرد توصيل هذا بالسلك ، قم بتشغيل Pi الخاص بك.
قم بتثبيت وحدة Adafruit DHT Python في موجه الأوامر لجعل قراءة بيانات مستشعر DHT22 سهلة للغاية:
sudo pip قم بتثبيت Adafruit_DHT
مع تثبيت نظام التشغيل الخاص بنا مع وحدتي Python لقراءة بيانات المستشعر وإرسال البيانات إلى Initial State ، نحن على استعداد لكتابة نص Python الخاص بنا. سيقوم البرنامج النصي التالي بإنشاء / إلحاق مجموعة بيانات الحالة الأولية ، وقراءة بيانات مستشعر DHT22 ، وإرسال تلك البيانات إلى لوحة معلومات في الوقت الفعلي. كل ما عليك فعله هو تعديل الأسطر 6-11.
استيراد Adafruit_DHT
من ISStreamer. Streamer استيراد وقت استيراد جهاز البث # --------- إعدادات المستخدم --------- SENSOR_LOCATION_NAME = "Office" BUCKET_NAME = ": partly_sunny: درجات حرارة الغرفة" BUCKET_KEY = "rt0129" ACCESS_KEY = "ضع مفتاح الوصول الأولي إلى الولاية هنا" MINUTES_BETWEEN_READS = 10METRIC_UNITS = False # --------------------------------- streamer = جهاز البث (bucket_name = BUCKET_NAME ، bucket_key = BUCKET_KEY ، access_key = ACCESS_KEY) بينما صحيح: الرطوبة ، temp_c = Adafruit_DHT.read_retry (Adafruit_DHT. DHT22، 4) إذا METRIC_UNITS: streamer.log (SENS TemperatureOR_LOCATION_NAME) ": temp_f = format (temp_c * 9.0 / 5.0 + 32.0، ".2f") streamer.log (SENSOR_LOCATION_NAME + "درجة الحرارة (F)" ، temp_f) الرطوبة = التنسيق (الرطوبة ، ".2f") "الرطوبة (٪)" ، الرطوبة) التدفق. تدفق التدفق () الوقت. النوم (60 * MINUTES_BETWEEN_READS)
- السطر 6 - يجب أن تكون هذه القيمة فريدة لكل عقدة / مستشعر درجة الحرارة. قد يكون هذا هو اسم غرفة عقدة المستشعر أو الموقع الفعلي أو المعرف الفريد أو أي شيء آخر. فقط تأكد من أنه فريد لكل عقدة للتأكد من أن البيانات من هذه العقدة تنتقل إلى دفق البيانات الخاص بها في لوحة المعلومات الخاصة بك.
- السطر 7 - هذا هو اسم مجموعة البيانات. يمكن تغيير هذا في أي وقت في واجهة المستخدم الأولية للحالة.
- السطر 8 - هذا هو مفتاح الجرافة. يجب أن يكون نفس مفتاح الحاوية لكل عقدة تريد عرضها في نفس لوحة القيادة.
- السطر 9 - هذا هو مفتاح الوصول إلى حساب الولاية الأولي الخاص بك. انسخ والصق هذا المفتاح من حساب الدولة الأولي الخاص بك.
- السطر 10 - هذا هو الوقت بين قراءات المستشعر. قم بالتغيير وفقًا لذلك.
- السطر 11 - يمكنك تحديد الوحدات المترية أو الإمبراطورية في السطر 11.
بعد تعيين الأسطر من 6 إلى 11 في نص Python على Pi الخاص بك ، احفظ محرر النصوص واخرج منه. قم بتشغيل البرنامج النصي بالأمر التالي:
$ python tempsensor.py
الآن سيكون لديك إرسال البيانات إلى لوحة معلومات الحالة الأولية. انتقل إلى القسم الأخير من هذه المقالة للحصول على تفاصيل حول كيفية تخصيص لوحة القيادة الخاصة بك.
الخطوة 6: حل DSB18B20
يتصل كبل الشريط بدبابيس GPIO على Pi. يحتوي DS18B20 على ثلاثة أسلاك. السلك الأحمر يتصل بـ 3.3 فولت. السلك الأزرق / الأسود يتصل بالأرض. يتصل السلك الأصفر بمقاوم سحب / دبوس 4. بمجرد توصيله بالأسلاك ، قم بتشغيل Pi الخاص بك.
يتطلب أحدث إصدار من Raspbian (kernel 3.18) إضافة إلى ملف /boot/config.txt لكي يتواصل Pi مع DS18B20. قم بتشغيل ما يلي لتحرير هذا الملف:
sudo نانو $ /boot/config.txt
إذا لم يكن السطر التالي موجودًا بالفعل في هذا الملف (إذا كان موجودًا ، فمن المحتمل أن يكون في أسفل الملف) ، قم بإضافته واحفظ الملف.
dtoverlay = w1-gpio ، gpiopin = 4
أعد تشغيل Pi حتى تدخل التغييرات حيز التنفيذ.
sudo إعادة التشغيل
لبدء واجهة قراءة مستشعر درجة الحرارة ، نحتاج إلى تشغيل أمرين. انتقل إلى موجه الأوامر على Pi أو SSH في Pi الخاص بك. اكتب الأوامر التالية:
$ sudo modprobe w1-gpio $ sudo modprobe w1-therm
تتم الآن كتابة إخراج مستشعر درجة الحرارة في ملف على Pi الخاص بك. للعثور على هذا الملف:
$ cd / sys / bus / w1 / الأجهزة
في هذا الدليل ، سيكون هناك مجلد فرعي يبدأ بـ "28-". ما يأتي بعد "28-" هو الرقم التسلسلي لجهاز الاستشعار الخاص بك. cd في هذا الدليل. داخل هذا الدليل ، يحتوي ملف يسمى w1_slave على إخراج المستشعر الخاص بك. استخدم nano لعرض محتويات الملف. بمجرد إدخال الملف ، سيبدو كما يلي:
a2 01 4b 46 7f ff 0e 10 d8: crc = d8 نعم 2 01 4b 46 7f ff 0e 10 d8 t = 26125
الرقم بعد "t =" هو الرقم الذي نريده. هذه هي درجة الحرارة 1/1000 درجة مئوية (في المثال أعلاه ، درجة الحرارة 26.125 درجة مئوية). نحتاج فقط إلى برنامج بسيط يقرأ هذا الملف ويوزع هذا الرقم. سوف نصل إلى ذلك في ثانية واحدة.
كل شيء جاهز الآن بالنسبة لنا لبدء تدفق البيانات. لفتح محرر النصوص ، اكتب ما يلي في موجه الأوامر:
نانو درجة الحرارة
انسخ والصق الكود أدناه في محرر النصوص.
استيراد نظام التشغيل
استيراد وقت استيراد الكرة الأرضية من ISStreamer. Streamer import Streamerstreamer = Streamer (bucket_name = "Temperature Stream"، bucket_key = "piot_temp_stream031815"، access_key = "PUT_YOUR_ACCESS_KEY_HERE") os.system ('modprobe w1-gpio') os.system ('modprobe w1-gpio') os.system ('modprobe w1-gpio') -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 () عودة خطوط def read_temp (): lines = read_temp_raw () بينما الخطوط [0].strip () [- 3:]! = 'نعم': الوقت. / 1000.0 إرجاع temp_c بينما True: temp_c = read_temp () temp_f = temp_c * 9.0 / 5.0 + 32.0 streamer.log ("temperature (C)"، temp_c) streamer.log ("temperature (F)"، temp_f) time.sleep (.5)
تحتاج إلى وضع مفتاح الوصول الأولي للحالة في السطر 6 بدلاً من PUT_YOUR_ACCESS_KEY_HERE (انسخ مفتاح البث إلى الحافظة الخاصة بك من "حسابي" والصقه في الرمز في nano في جهازك الطرفي).
سينشئ السطر 6 دلوًا باسم "درجة الحرارة" في حساب الحالة الأولية (على افتراض أنك حددت مفتاح الوصول بشكل صحيح على هذا السطر نفسه). تتفاعل الأسطر 8 إلى 30 من هذا البرنامج النصي ببساطة مع مستشعر DS18B20 لقراءة درجة حرارته من ملف w1_slave الذي ناقشناه سابقًا. تقرأ الدالة read_temp_raw () الموجودة في السطر 15 ملف w1_slave الخام. تقوم وظيفة read_temp () الموجودة في السطر 21 بتوزيع درجة الحرارة من هذا الملف. يستدعي السطر 34 هذه الوظائف للحصول على درجة الحرارة الحالية. الخط 35 يحول درجة الحرارة من مئوية إلى فهرنهايت. يقوم الخطان 35 و 36 بتدفق درجة الحرارة إلى حسابك الأولي. يقوم السطر 37 بإيقاف البرنامج النصي مؤقتًا لمدة 0.5 ثانية ، مع تحديد عدد مرات قراءة مستشعر درجة الحرارة وبثه.
نحن على استعداد لبدء البث. قم بتشغيل الأمر التالي:
$ sudo python temperature.py
ارجع إلى حساب Initial State في متصفح الويب الخاص بك وابحث عن مجموعة بيانات جديدة تسمى Temperature Stream. يجب أن ترى بيانات درجة الحرارة تتدفق في البث المباشر. قم بتغيير درجة حرارة المستشعر عن طريق إمساكه بيدك أو وضعه في كوب من الثلج.
الآن سيكون لديك إرسال البيانات إلى لوحة معلومات الحالة الأولية. انتقل إلى القسم الأخير من هذه المقالة للحصول على تفاصيل حول كيفية تخصيص لوحة القيادة الخاصة بك.
الخطوة 7: حل BME280
ستحتاج إلى ما يلي لإنشاء هذا الحل:
-مستشعر الضغط ودرجة الحرارة والرطوبة BME280
يأتي هذا المستشعر مزودًا بدبابيس ستحتاج إلى لحامها في المستشعر. أوصي باستخدام لوح التجارب مع وجود جوانب طويلة من المسامير لأسفل في اللوح لتسهيل عملية اللحام. بمجرد الانتهاء من ذلك ، نحتاج إلى توصيل المستشعر بـ Pi.
قم بتوصيل دبوس VIN على المستشعر بـ 3.3 فولت دبوس 1 على Pi. قم بتوصيل دبوس GND على المستشعر بالدبوس الأرضي 6 على Pi. قم بتوصيل دبوس SCK على المستشعر بـ SCL pin 5 على Pi. قم بتوصيل دبوس SDI الموجود على المستشعر بـ SDA pin 3 على Pi. ستحتاج إلى استخدام Python 3 لهذا الحل وتثبيت وحدة Initial State Streamer باستخدام طريقة تثبيت pip3.
ستحتاج أيضًا إلى تثبيت بعض مكتبات Adafruit Python.
pip3 تثبيت adafruit-blinkapip3 تثبيت Pureio pip3 تثبيت spidev pip3 تثبيت adafruit-GPIO pip3 تثبيت adafruit-circpython-bme280
لاستخدام المستشعر ، نحتاج إلى تمكين I2C على Pi.
sudo raspi-config
سيؤدي هذا إلى فتح أداة تكوين برنامج Raspberry Pi. انتقل إلى الخيار 5 خيارات التواصل. من هنا انتقل إلى I2C. سيطالبك بسؤالك عما إذا كنت تريد تمكين I2C ، حدد نعم وإنهاء. الآن لديك تمكين I2C للتواصل مع المستشعر.
يمكننا اختبار ذلك من خلال تشغيل ما يلي:
sudo i2cdetect -y 1
سيؤدي هذا إلى التحقق من أن Pi الخاص بك يرى المستشعر. في الطريقة التي يتم بها الاتصال ، يجب أن يُظهر المستشعر على العنوان 77. إذا لم تكتشف المستشعر ، فأعد تشغيل Pi ، وأعد تمكين خيار واجهة I2C على Pi الخاص بك ، وحاول مرة أخرى. بمجرد اكتشاف المستشعر ، حان الوقت لتشغيل الكود الرئيسي الذي سيرسل البيانات إلى الحالة الأولية. إنشاء ملف يسمى bme280sensor.py باستخدام الأمر nano. انسخ الكود من الجوهر والصقه في محرر النصوص. ستحتاج إلى إجراء تغييرات على الأسطر 12-19.
وقت الاستيراد
استيراد لوحة استيراد busio import adafruit_bme280 من ISStreamer. Streamer import Streamer # إنشاء كائن مكتبة باستخدام ناقل I2C porti2c = busio. I2C (board. SCL، board. SDA) bme280 = adafruit_bme280. Adafruit_BME280_I2C (i2c) # ------- - إعدادات المستخدم --------- SENSOR_LOCATION_NAME = "Office" BUCKET_NAME = ": partly_sunny: درجة حرارة الغرفة" BUCKET_KEY = "temp1" ACCESS_KEY = "YOUR ACCESS KEY HERE" # غيّر هذا لمطابقة ضغط الموقع (hPa) عند مستوى سطح البحر bme280.sea_level_pressure = 1013.25 MINUTES_BETWEEN_READS = 10 METRIC_UNITS = False # --------------------------------- # أو أنشئ كائن مكتبة باستخدام منفذ Bus 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) Streamer = Streamer (bucket_name = BUCKET_NAME، bucket_key = BUCKET_KEY، access_key = ACCESS_KEY) بينما True: humidity = format (bme280.humidity، ".1f") pressure = format (bme280.pressure، ".1f") temp_c = bme280.temperatu re if 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- هذا هو اسم مجموعة البيانات. يمكن تغيير هذا في أي وقت في واجهة المستخدم الأولية للحالة.
- السطر 14- هذا هو مفتاح الجرافة الخاص بك. يجب أن يكون نفس مفتاح الحاوية لكل عقدة تريد عرضها في نفس لوحة المعلومات.
- السطر 15- هذا هو مفتاح الوصول إلى حساب الولاية الأولي الخاص بك. انسخ والصق هذا المفتاح من حساب الحالة الأولية.
- السطر 17- هذا هو ضغط موقعك (hPa) عند مستوى سطح البحر. يمكنك العثور على هذه المعلومات في معظم مواقع الطقس.
- السطر 18 - هذا هو الوقت بين قراءات المستشعر. قم بالتغيير وفقًا لذلك الخط 19- هنا يمكنك تحديد الوحدات المترية أو الإمبراطورية.
بعد تعيين الأسطر من 12 إلى 19 في نص Python الخاص بك على Pi Zero WH ، احفظ محرر النصوص واخرج منه. قم بتشغيل البرنامج النصي بالأمر التالي:
$ python3 bme280sensor.py
الآن سيكون لديك إرسال البيانات إلى لوحة معلومات الحالة الأولية. انتقل إلى القسم الأخير من هذه المقالة للحصول على تفاصيل حول كيفية تخصيص لوحة القيادة الخاصة بك.
الخطوة 8: تحسس HAT
الخطوة الأولى في استخدام Sense HAT هي تثبيتها فعليًا على Pi الخاص بك. مع الطاقة لأسفل ، قم بإرفاق القبعة كما هو موضح في الصورة.
إذا قررت استخدام الحل كما هو موضح أعلاه ، فقد تلاحظ أن قراءات درجة حرارة Sense HAT الخاصة بك ستكون مرتفعة قليلاً - وذلك لأنها كذلك. الجاني هو الحرارة الناتجة عن تسخين وحدة المعالجة المركزية الخاصة بـ Pi للهواء حول Sense HAT عندما تكون على قمة Pi. لجعل مستشعر درجة الحرارة مفيدًا ، نحتاج إما إلى إخراج HAT بعيدًا عن Pi أو محاولة معايرة قراءة مستشعر درجة الحرارة. الحل الجيد لإبعاد المستشعر عن Pi هو كبل يسمح لـ Sense HAT بالتدلى بعيدًا عن Pi. كابل تمديد من الذكور إلى الإناث مقاس 6 بوصات و 40 سنًا من النوع IDE سيفي بالغرض.
بمجرد أن تقرر الخيارين ، قم بتشغيل Pi الخاص بك. نحتاج إلى تثبيت مكتبة Python لتسهيل قراءة قيم المستشعر من Sense HAT. أولاً ، ستحتاج إلى التأكد من أن كل شيء محدث في إصدارك من Raspbian:
sudo apt-get update
بعد ذلك ، قم بتثبيت مكتبة Sense HAT Python:
sudo apt-get install sense-hat
أعد تشغيل Pi الخاص بك. نحن على استعداد لاختبار Sense HAT من خلال قراءة بيانات المستشعر منها وإرسال تلك البيانات إلى الحالة الأولية.
أنشئ ملفًا يسمى Sensehat وافتحه في محرر النصوص عن طريق إدخال الأمر التالي في موجه الأوامر:
nano sensehat.py
انسخ والصق الرمز أدناه في محرر النصوص.
من Sense_hat استيراد SenseHat
استيراد وقت استيراد النظام من ISStreamer. Streamer import Streamer # --------- إعدادات المستخدم --------- BUCKET_NAME = "طقس المكتب" BUCKET_KEY = "sensehat" ACCESS_KEY = "Your_Access_Key" SENSOR_LOCATION_NAME = " مكتب "MINUTES_BETWEEN_SENSEHAT_READS = 0.1 # --------------------------------- Streamer = Streamer (bucket_name = BUCKET_NAME، bucket_key = BUCKET_KEY ، access_key = ACCESS_KEY) sense = SenseHat () بينما صحيح: # اقرأ المستشعرات temp_c = sense.get_temperature () humidity = sense.get_humidity () pressure_mb = sense.get_pressure () # Format the data temp_f = temp_c * 9.0 / 5.0 + 32.0 temp_f = float ("{0:.2f}". format (temp_f)) humidity = float ("{0:.2f}". format (humidity)) pressure_in = 0.03937008 * (pressure_mb) pressure_in = float ("{ 0:.2f} ". format (pressure_in)) # Print and stream print SENSOR_LOCATION_NAME +" درجة الحرارة (F): "+ str (temp_f) print SENSOR_LOCATION_NAME +" الرطوبة (٪): "+ str (الرطوبة) print SENSOR_LOCATION_NAME +" الضغط (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)
لاحظ في السطر الأول أننا نقوم باستيراد مكتبة SenseHat إلى البرنامج النصي. قبل تشغيل هذا البرنامج النصي ، نحتاج إلى إعداد معلمات المستخدم الخاصة بنا.
# --------- إعدادات المستخدم ---------
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 إلى الموقع الفعلي للمستشعر. احفظ واخرج من محرر النصوص.
في موجه الأوامر على Pi الخاص بك ، قم بتشغيل البرنامج النصي:
$ sudo python sensehat.py
الآن سيكون لديك إرسال البيانات إلى لوحة معلومات الحالة الأولية. انتقل إلى القسم الأخير من هذه المقالة للحصول على تفاصيل حول كيفية تخصيص لوحة القيادة الخاصة بك.
الخطوة 9: تخصيص لوحة معلومات الحالة الأولية الخاصة بك
انتقل إلى حساب الولاية الأولية الخاص بك وانظر إلى بياناتك. يمكنك النقر بزر الماوس الأيمن فوق "مربع" لتغيير نوع المخطط والنقر فوق "تحرير البلاط" لتغيير حجم البلاط وتحريكه. أوصي باستخدام مقياس الحرارة لقياس درجة الحرارة ومستوى السائل للرطوبة. يمكنك إنشاء رسوم بيانية خطية لكل من درجة الحرارة والرطوبة لرؤية التغييرات بمرور الوقت. يمكنك أيضًا إضافة صورة خلفية إلى لوحة المعلومات الخاصة بك.
يمكنك ضبط تنبيهات Trigger حتى تتمكن من الحصول على رسالة نصية قصيرة أو بريد إلكتروني إذا انخفضت درجة الحرارة إلى ما دون أو تجاوزت حدًا معينًا. انتقل إلى مجموعة البيانات الخاصة بك وانقر فوق الإعدادات. من هناك ، انتقل إلى علامة التبويب المشغلات. أدخل مفتاح التدفق الذي تريد مراقبته ، والعامل الذي تريد استخدامه ، وقيمة العتبة. انقر فوق علامة الجمع لإضافة المشغل. بعد ذلك ، ستدخل بريدك الإلكتروني أو رقم هاتفك لتلقي التنبيه على والنقر على علامة الجمع. بمجرد تعيين جميع المشغلات ، انقر فوق الزر تم في الجزء السفلي.
الآن بعد أن أنشأت جهاز مراقبة درجة الحرارة باستخدام مستشعر درجة الحرارة و Raspberry Pi ، يمكنك البدء في التفكير في البيانات البيئية الأخرى التي يمكنك مراقبتها بعد ذلك.
موصى به:
جهاز مراقبة درجة حرارة حمام السباحة MQTT: 7 خطوات (بالصور)
مراقب درجة حرارة حوض السباحة MQTT: هذا المشروع مصاحب لمشروعاتي الأخرى الخاصة بأتمتة المنزل ، وحدة التحكم الذكية في البيانات - تسجيل الدخول إلى السخان ووحدة التحكم في الإضاءة والغرفة متعددة الأغراض. إنها شاشة مثبتة بجانب المسبح تقيس درجة حرارة ماء المسبح والهواء المحيط
جهاز Masherator 1000 - جهاز التحكم في درجة حرارة التسريب: 8 خطوات
Masherator 1000 - جهاز التحكم في درجة حرارة التسريب الهريس: هذا هو الإصدار الخامس من جهاز التحكم في درجة الحرارة لعملية صنع البيرة الخاصة بي. لقد استخدمت عادةً وحدات تحكم PID الجاهزة للاستخدام ، ورخيصة ، وبعضها فعال وموثوق إلى حد ما. بمجرد أن حصلت على طابعة ثلاثية الأبعاد ، قررت تصميم واحدة من scrat
ESP8266 مراقبة درجة حرارة Nodemcu باستخدام DHT11 على خادم ويب محلي - احصل على درجة حرارة الغرفة ورطوبتها على متصفحك: 6 خطوات
ESP8266 مراقبة درجة حرارة Nodemcu باستخدام DHT11 على خادم ويب محلي | احصل على درجة حرارة الغرفة ورطوبتها على متصفحك: مرحبًا يا شباب اليوم سنصنع الرطوبة & amp؛ نظام مراقبة درجة الحرارة باستخدام ESP 8266 NODEMCU & amp؛ جهاز استشعار درجة الحرارة DHT11. سيتم الحصول على درجة الحرارة والرطوبة من مستشعر DHT11 & amp؛ يمكن رؤيته على متصفح أي صفحة ويب ستتم إدارتها
جهاز مراقبة الطقس ESP32 Based M5Stack M5stick C مع DHT11 - مراقبة درجة الحرارة والرطوبة ومؤشر الحرارة على M5stick-C مع DHT11: 6 خطوات
جهاز مراقبة الطقس ESP32 Based M5Stack M5stick C مع DHT11 | مراقبة درجة الحرارة والرطوبة ومؤشر الحرارة على M5stick-C مع DHT11: مرحبًا يا رفاق ، في هذه التعليمات سوف نتعلم كيفية واجهة مستشعر درجة حرارة DHT11 مع m5stick-C (لوحة تطوير بواسطة m5stack) وعرضها على شاشة m5stick-C. لذلك في هذا البرنامج التعليمي سوف نقرأ درجة الحرارة والرطوبة وأمبير. الحرارة أنا
كيفية التعامل مع ارتفاع درجة حرارة جهاز الكمبيوتر المحمول / الكمبيوتر المحمول: 8 خطوات
كيفية التعامل مع ارتفاع درجة حرارة الكمبيوتر المحمول / الكمبيوتر المحمول: يمكن أن يتسبب ارتفاع درجة حرارة الكمبيوتر المحمول في حدوث أضرار جسيمة. قد يعني فشل الإغلاق المفاجئ أو ظهور شاشات الموت بشكل عشوائي أنك تخنق دفتر ملاحظاتك. ذاب دفتر ملاحظاتي الأخير حرفيًا على سريري عندما أغلقت مراوح التبريد على وسادتي