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

قم ببناء جهاز مستشعر درجة حرارة Apple HomeKit (DHT22) باستخدام RaspberryPI و DHT22: 11 خطوة
قم ببناء جهاز مستشعر درجة حرارة Apple HomeKit (DHT22) باستخدام RaspberryPI و DHT22: 11 خطوة

فيديو: قم ببناء جهاز مستشعر درجة حرارة Apple HomeKit (DHT22) باستخدام RaspberryPI و DHT22: 11 خطوة

فيديو: قم ببناء جهاز مستشعر درجة حرارة Apple HomeKit (DHT22) باستخدام RaspberryPI و DHT22: 11 خطوة
فيديو: HomeKit Water Leak Sensor - EVE WATER GUARD Setup, Test, & Review 2024, يوليو
Anonim
قم ببناء جهاز مستشعر درجة حرارة Apple HomeKit (DHT22) باستخدام RaspberryPI و DHT22
قم ببناء جهاز مستشعر درجة حرارة Apple HomeKit (DHT22) باستخدام RaspberryPI و DHT22
قم ببناء جهاز مستشعر درجة حرارة Apple HomeKit (DHT22) باستخدام RaspberryPI و DHT22
قم ببناء جهاز مستشعر درجة حرارة Apple HomeKit (DHT22) باستخدام RaspberryPI و DHT22
قم ببناء جهاز مستشعر درجة حرارة Apple HomeKit (DHT22) باستخدام RaspberryPI و DHT22
قم ببناء جهاز مستشعر درجة حرارة Apple HomeKit (DHT22) باستخدام RaspberryPI و DHT22

كنت أبحث عن مستشعر درجة حرارة / رطوبة منخفض التكلفة يمكنني استخدامه لمراقبة ما يحدث في مساحة الزحف الخاصة بي ، حيث اكتشفت أن هذا الربيع كان رطبًا جدًا وكان به الكثير من الرطوبة. لذلك كنت أبحث عن جهاز استشعار بسعر معقول يمكنني وضعه هناك ومراقبته عن بُعد. بعد إجراء بعض الحفر على الشبكة لما كان متاحًا محليًا وظهر أنه يعمل مع RaspBerry PI و NodeMCU (المزيد حول هذا لاحقًا). قررت استخدام مستشعر DHT22. كانت رخيصة ، وتوفر درجات الحرارة والرطوبة ومتاحة محليًا.

تحديث أبريل 2019 - بعد عدة سنوات من استخدام مكتبة pigpiod ، قمت بالتبديل إلى مكتبة bcm2835 ونشرت تعليمات جديدة هنا. https://github.com/N NorthernMan54/homebridge-dht/blob/master/Build.md

تحديث ديسمبر 2016 - بعد تشغيلها لبضعة أشهر ، وجدت أن دقة مستشعر الرطوبة تتفاوت بشكل كبير بمرور الوقت وتوقفت عن الوثوق بها للحصول على معلومات رطوبة دقيقة بشكل معقول. وأقوم بتغيير جميع أجهزتي إلى مستشعر درجة الحرارة / الرطوبة / الضغط الجوي من Bosch BME280. لذلك قمت بإنشاء تعليمات جديدة توضح كيفية توصيل هذا المستشعر بـ RaspberryPI (قم بتوصيل RaspberryPI الخاص بك بدرجة حرارة BME280 و NodeMCU / ESP8266 (Homebridge-MCUIOT).

الخطوة 1: قائمة الأجزاء

لذلك ذهبت إلى متجر قطع الغيار المحلي الخاص بي واشتريت

1 - جهاز استشعار درجة الحرارة / الرطوبة DHT22 / AM2303

1 - 4.7 كيلو المقاوم

رأس أنثى 4 دبوس (جانب المستشعر)

رأس أنثى 5 دبوس (جانب RPI)

أنابيب Heatshrink الضيقة والعريضة

الماوس التسلسلي القديم

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

الخطوة 2: قم بإعداد RPI End of the Cable

قم بإعداد نهاية RPI للكابل
قم بإعداد نهاية RPI للكابل

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

بعد لحام المسامير ، قمت بإدخالها في رأس 5 Pin Female ، مع الأحمر في 1 ، والأصفر في 4 ، والأسود في 5.

اتصال RPI سلكي مثل هذا

RPI -> 5 رأس الدبوس -> الوصف -> لون السلك

1 -> 1 -> 3.3 VDC Power -> أحمر

7 -> 4 -> GPIO4 -> أصفر

9 -> 5 -> أرضي -> أسود

الخطوة 3: نهاية مستشعر الكبل

نهاية المستشعر للكابل
نهاية المستشعر للكابل
نهاية المستشعر للكابل
نهاية المستشعر للكابل
نهاية المستشعر للكابل
نهاية المستشعر للكابل
نهاية المستشعر للكابل
نهاية المستشعر للكابل

في هذه النهاية ، نستخدم الرأس الأنثوي ذو 4 سنون والمقاوم وأنابيب الانكماش الحراري.

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

1 - أحمر

2 - أصفر

3 - فارغة

4 - أسود

ثم قم بتغطية الأسلاك بأنابيب الانكماش الحراري الأكبر.

الخطوة 4: توصيل الكابلات

توصيل الكابلات
توصيل الكابلات
توصيل الكابلات
توصيل الكابلات

مع إيقاف تشغيل RPI ، قم بتوصيل الأنثى ذات 5 سنون بوصلة GPIO ، مع السلك الأحمر في السن 1 المصطف مع السن 1 في موصل GPIO. يجب أن يغطي الرأس فقط أول 5 دبابيس GPU مرقمة بأرقام فردية.

بالنسبة إلى جانب المستشعر ، قم بمحاذاة المسامير الموجودة على المستشعر مع الرأس ، وتأكد من أن السن 1 من المستشعر (على الجانب الأيسر) متصل بالدبوس 1 من الرأس (بالسلك الأحمر).

بعد الانكماش الحراري ، لم يعد بإمكاني رؤية لون السلك ، لذلك قمت بتمييزه باستخدام شربي.

الخطوة 5: تثبيت برنامج Homebridge

نظرًا لأن هناك الكثير من الأدلة الأخرى لإعداد raspberry pi ، فلن أكرر هذا هنا ، لكنني أفترض أن لديك إعداد RPI الخاص بك مع Raspbian Jessie ، مع تثبيت Node. JS وتشغيل homebridge. هناك عدد من أدلة بدء الجسور الرئيسية حول تغطية هذا بالفعل.

الخطوة السادسة: تثبيت Homebridge-dht

1. تثبيت homebridge-dht باستخدام الأمر

تثبيت sudo npm -g homebridge-dht

2. قم بتحديث ملف config.json الخاص بك في ~ /.homebridge بما يلي

{ "كوبري": {

"الاسم": "Penny"، "username": "CC: 22: 3D: E3: CD: 33"، "port": 51826، "pin": "031-45-154"}، "description": " HomeBridge "،" platform ": ،" accessories ": [{" accessory ":" Dht "،" name ":" dht22 "،" name_temperature ":" temperature "،" name_humidity ":" Humidity "،" service ":" dht22 "}]}

الخطوة السابعة: تثبيت PIGPIO

1. قم بتثبيت مكتبة Pigpiod عن طريق هذه الأوامر

sudo apt-get update

sudo apt-get install pigpio python-pigpio python3-pigpio

2. انسخ dht22 إلى / usr / local / bin / dht22 ، واجعله قابلاً للتنفيذ.

مع التثبيت على RPI الخاص بي ، فإنه موجود في / usr / lib / node_modules / homebridge-dht. التثبيت الخاص بك قد يضعه في مكان مختلف. يرجى التحقق مع

ls -l / usr / lib / node_modules / homebridge-dht / dh22

sudo cp / usr / lib / node_modules / homebridge-dht / dht22 / usr / local / bin / dht22

sudo chmod a + x / usr / local / bin / dht22

3. في هذه المرحلة ، يجب أن تكون قادرًا على اختبار مستشعر DHT22 باستخدام الأمر

dht22

ويجب أن تستجيب بـ

0 18.4 C 51.0٪

الخطوة 8: مراقبة درجة حرارة وحدة المعالجة المركزية Raspberry PI - اختياري

هذه خطوة اختيارية تسمح لك بمراقبة درجة حرارة وحدة المعالجة المركزية الخاصة بك عن بعد أيضًا.

1. أنشئ ملفًا في / usr / local / bin / cputemp يحتوي على

#! / bin / bashcpuTemp0 = $ (cat / sys / class / Thermal / Thermal_zone0 / temp) cpuTemp1 = $ (($ cpuTemp0 / 1000)) cpuTemp2 = $ (($ cpuTemp0 / 100)) cpuTempM = $ (($ cpuTemp2 ٪ $ cpuTemp1)) صدى $ cpuTemp1 "C"

2. اجعل الملف قابلاً للتنفيذ

chmod a + x / usr / local / bin / cputemp

3. قم بتحديث ملف config.json في ~ /.homebridge واستبدل قسم الملحقات بما يلي:

"مستلزمات": [{"accessory": "Dht"، "name": "cputemp"، "service": "temperature"}، {"accessory": "Dht"، "name": "Temp / Humidity Sensor"، "service": "dht22"}]

الخطوة 9: ابدأ Homebridge

ابدأ homebridge ، ويجب أن يبدو ملف السجل الخاص بك على هذا النحو

[6/21/2016 ، 9:37:31 مساءً] المكوّن الإضافي المُحمّل: homebridge-dht [6/21/2016 ، 9:37:31 مساءً] تسجيل الملحق "homebridge-dht. Dht"

[21/6/2016 ، 9:37:31 مساءً] ---

[21/6/2016 ، 9:37:31 مساءً] تم تحميل config.json مع 2 ملحقات و 0 نظام أساسي.

[21/6/2016 ، 9:37:31 مساءً] ---

[21/6/2016 ، 9:37:32 مساءً] جارٍ تحميل 0 نظام أساسي …

[21/6/2016 ، 9:37:32 مساءً] جارٍ تحميل ملحقَين…

[21/6/2016 ، 9:37:32 مساءً] [cputemp] جارٍ تهيئة ملحق Dht …

[2016-06-21 ، 9:37:32 مساءً] [cputemp] تهيئة: cputemp

[21/6/2016 ، 9:37:32 مساءً] [مستشعر درجة الحرارة / الرطوبة] جارٍ تهيئة ملحق Dht …

[2016-06-21 ، 9:37:32 مساءً] [مستشعر درجة الحرارة / الرطوبة] INIT: مستشعر درجة الحرارة / الرطوبة

امسح هذا الرمز باستخدام تطبيق HomeKit على جهاز iOS الخاص بك للإقران بـ Homebridge:

┌────────────┐

│ 031-45-154 │

└────────────┘

[21/6/2016 ، 9:37:32 مساءً] يعمل Homebridge على المنفذ 51826.

الخطوة 10: الاختبار باستخدام Home Kit

اختبار مع Home Kit
اختبار مع Home Kit

قم بتشغيل عميل homekit المفضل لديك ، وقم بالاقتران مع ملحقك الجديد. يجب أن ترى بعد ذلك مستشعر درجة الحرارة / الرطوبة الجديد.

إذا كانت لديك مشاكل أو مشاكل ، فالرجاء طرح مشكلة على GitHub

الخطوة 11: الفصل الإضافي - أجهزة الاستشعار المزدوجة

فصل المكافأة - مستشعرات مزدوجة
فصل المكافأة - مستشعرات مزدوجة

بعد أن سألني العديد من الأشخاص ، اعتقدت أنني سأقوم بتضمين الملاحظات اللازمة لإضافة جهاز استشعار ثانٍ.

بالنسبة للأسلاك ، ألق نظرة على الصورة المرفقة ، هذه هي الصورة التي شاركتها مع Hector305 لتوصيل المستشعر الثاني.

وبالنسبة لملف التكوين المحدث ، هذا هو config.json لذلك.

"الاسم": "dht22 - Indoor"، "name_temperature": "درجة الحرارة الداخلية"، "name_humidity": "الرطوبة الداخلية"، "gpio": "4"، "service": "dht22"}، {"accessory": "Dht"، "name": "dht22 - outdoor"، "name_temperature": "درجة الحرارة الخارجية"، "name_humidity": "الرطوبة الخارجية"، "gpio": "2"، "service": "dht22"}

موصى به: