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

مستشعر درجة الحرارة والحركة اللاسلكي لـ IoT: 11 خطوة (مع صور)
مستشعر درجة الحرارة والحركة اللاسلكي لـ IoT: 11 خطوة (مع صور)

فيديو: مستشعر درجة الحرارة والحركة اللاسلكي لـ IoT: 11 خطوة (مع صور)

فيديو: مستشعر درجة الحرارة والحركة اللاسلكي لـ IoT: 11 خطوة (مع صور)
فيديو: الدرس 25 - المشروع 7 - صنع تطبيق تحكم بالأردوينو من خلال الهاتف 2024, شهر نوفمبر
Anonim
IoT لاسلكي لدرجة الحرارة ومستشعر الحركة
IoT لاسلكي لدرجة الحرارة ومستشعر الحركة

لقد ألهمتني العديد من مشاريع إنترنت الأشياء الموجودة في Instructables ، لذلك في عملية التعلم أحاول الجمع بين بعض التطبيقات المفيدة ذات الصلة. كامتداد إلى Instructables السابقة المتعلقة بمستشعر درجة حرارة إنترنت الأشياء ، أضفت الآن المزيد من الإمكانات إلى النظام الفرعي. الوظائف المضافة هي:

- اتصال NTP للحصول على الوقت

- LED يمكن التحكم فيه عن بعد

- مستشعر PIR لاكتشاف الحركة

- متصل Raspberry PI بتشغيل homekit للسماح بالاتصال بـ iPhone "Home"

الخطوة الأولى: المفهوم والتوصيل والمكونات

المفهوم والاتصال والمكونات
المفهوم والاتصال والمكونات

المفهوم الموضح أعلاه هو السماح بمراقبة درجة الحرارة عن بعد مع إمكانية إضافية لاكتشاف الحركة إذا كان شخص ما في المنزل ، والسماح بالإخطار عبر LED. يمكن الوصول إلى الوحدة محليًا في الشبكة المحلية أو عن بُعد عبر خادم الويب. يمكنك أيضًا توصيل فطيرة Raspberry (اختياري) بملحق Homekit المثبت للسماح بالاتصال بتطبيق "Home" على iPhone.

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

- لوحة تطوير NodeMcu Lua ESP8266. أنا أحصل على منجم بانجود.

- مستشعر درجة الحرارة LM35

- مستشعر PIR

- قاد

- لوحة النموذج

- اردوينو IDE

- يعمل مزود الويب مع تمكين البرمجة النصية لخادم php

- Raspberry Pi (اختياري)

الخطوة 2: احصل على Arduino IDE للعمل

احصل على Arduino IDE للعمل
احصل على Arduino IDE للعمل

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

الخطوة 3: توصيل مستشعر درجة الحرارة ، LED و PIR

توصيل مستشعر درجة الحرارة ، LED و PIR
توصيل مستشعر درجة الحرارة ، LED و PIR
توصيل مستشعر درجة الحرارة ، LED و PIR
توصيل مستشعر درجة الحرارة ، LED و PIR
توصيل مستشعر درجة الحرارة ، LED و PIR
توصيل مستشعر درجة الحرارة ، LED و PIR

يحتوي مستشعر درجة الحرارة LM35 على 3 أرجل ، المحطة الأولى هي VCC ، يمكنك توصيل هذا بـ 3.3 فولت (خرج اللوحة ESP8266 هو 3.3 فولت). الساق الوسطى هي Vout (حيث تتم قراءة درجة الحرارة منها ، يمكنك توصيل هذا بالإدخال التناظري لـ ESP8266 pin AD0 ، وهذا يقع في أعلى الجانب الأيمن من اللوحة كما هو موضح في الصورة. ويجب أن تكون الساق اليمنى متصل بالأرض.

يتكون مستشعر PIR من 3 أرجل أيضًا ، يمكنك رؤية علامة صغيرة + ، 0 ، - على PCB بجوار الساق. لذا قم بتوصيل "+" بـ 3.3 فولت ، "-" بالأرض ، والدبوس الأوسط "0" بالدبوس D6 من ESP8266.

يحتوي LED على ساقين فقط ، "+" (الأنود) ، الساق الأطول تربط هذا بالدبوس D5 من ESP8266 و "-" (الكاثود) يجب توصيل الأرجل الأقصر بالأرض (GND).

الخطوة 4: إعداد خادم الويب السحابي

هناك افتراض معين لهذه الخطوة:

لديك بالفعل خادم ويب يعمل ، مستضاف في مجال مناسب. وأنت معتاد على نقل الملفات إلى خادم الويب الخاص بك عبر FTP باستخدام Filezilla أو بعض برامج FTP الأخرى.

قم بتحميل الملف المضغوط المرفق إلى جذر موقع الويب الخاص بك. لنفترض في هذا التمرين أن موقع الويب الخاص بك هو "https://arduinotestbed.com"

من المفترض أن كل الملف موجود في جذر خادم الويب ، إذا كنت قد قمت بتخزينه داخل مجلد آخر ، فيرجى ضبط موقع الملف وفقًا لذلك في كل من ملف ArduinoData3.php ومخطط Arduino. إذا لم تكن متأكدًا ، فيرجى إبلاغي بذلك وسأبذل قصارى جهدي للمساعدة.

الخطوة 5: إعداد قاعدة البيانات للاحتفاظ ببيانات درجة الحرارة

إعداد قاعدة البيانات للاحتفاظ ببيانات درجة الحرارة
إعداد قاعدة البيانات للاحتفاظ ببيانات درجة الحرارة
إعداد قاعدة البيانات للاحتفاظ ببيانات درجة الحرارة
إعداد قاعدة البيانات للاحتفاظ ببيانات درجة الحرارة
إعداد قاعدة البيانات للاحتفاظ ببيانات درجة الحرارة
إعداد قاعدة البيانات للاحتفاظ ببيانات درجة الحرارة

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

قبل أن تبدأ ، تحتاج إلى تغيير كلمة مرور قاعدة البيانات الموجودة في ملف phpliteadmin.php. لذا افتح هذا الملف في خادم الويب الخاص بك وقم بتحرير معلومات كلمة المرور في السطر 91 إلى كلمة المرور التي تريدها.

ثم أشر إلى phpliteadmin.php في خادم الويب الخاص بك. باستخدام مثالنا قبل أن تشير إلى

نظرًا لعدم وجود قاعدة بيانات في الخادم ، ستظهر لك الشاشة لإنشاء قاعدة البيانات. أدخل "temperature.db" في مربع إدخال قاعدة البيانات الجديدة وانقر على زر "إنشاء". سيتم بعد ذلك إنشاء قاعدة البيانات بنجاح. في هذه المرحلة ، لا تزال قاعدة البيانات فارغة ، لذا ستحتاج إلى برنامج SQL النصي لإنشاء بنية جدول قاعدة البيانات لاستضافة البيانات.

الخطوة 6: أنشئ جدول "درجة الحرارة"

قم بإنشاء ملف
قم بإنشاء ملف
قم بإنشاء ملف
قم بإنشاء ملف

لإنشاء الجدول ، انقر فوق علامة التبويب "SQL" والصق استعلام sql التالي.

بدء المعاملة ؛

---- - هيكل الجدول لدرجة الحرارة ---- إنشاء جدول "درجة الحرارة" ("المعرف" المفتاح الأساسي الأولي ليس فارغًا ، الرطوبة ليست فارغة ، درجة الحرارة حقيقية ، الطابع الزمني DATETIME DEFAULT CURRENT_TIMESTAMP ، "سخان" BOOLEAN ، "الهدف" حقيقة)؛ ارتكب؛

ثم اضغط على زر "Go" في الأسفل. يجب إنشاء الجدول بنجاح.

إذا قمت بتحديث الصفحة ، يجب أن ترى الآن جدول "درجة الحرارة" أسفل قاعدة بيانات temperature.db في الجانب الأيسر. إذا قمت بالنقر فوق جدول درجة الحرارة إذا كان لا يزال لا يحتوي على بيانات.

الآن بعد أن تم إنشاء قاعدة البيانات ، يمكنك الإشارة إلى عنوان url التالي

arduinotestbed.com/ArduinoData3.php

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

الخطوة 7: قم بتحميل رسم مستشعر درجة الحرارة إلى ESP8266

قم بتحميل رسم مستشعر درجة الحرارة إلى ESP8266
قم بتحميل رسم مستشعر درجة الحرارة إلى ESP8266
قم بتحميل رسم مستشعر درجة الحرارة إلى ESP8266
قم بتحميل رسم مستشعر درجة الحرارة إلى ESP8266
قم بتحميل رسم مستشعر درجة الحرارة إلى ESP8266
قم بتحميل رسم مستشعر درجة الحرارة إلى ESP8266

الآن انسخ كل الملفات المرفقة وافتح "ESP8266TempPIRSensor.ino" وستقوم واجهة Arduino بإنشاء المجلد نيابة عنك. انقل باقي الملفات إلى المجلد الجديد الذي تم إنشاؤه بواسطة واجهة Arduino.

قم بتعديل خادم الويب المحدد وموقع ملف data_store3.php إذا لزم الأمر. ثم قم بتحميل المخطط على ESP8266.

إذا سارت الأمور على ما يرام ، يجب أن يتم تحميلها بنجاح ، وفي المرة الأولى سوف ينتقل برنامج ESP إلى وضع AP. يمكنك استخدام الكمبيوتر المحمول أو الهاتف المحمول للاتصال به. يجب أن تكون قادرًا على العثور على نقطة الوصول باسم "ESP-TEMP". - حاول الاتصال بـ ESP-TEMP باستخدام الكمبيوتر المحمول الخاص بهاتفك المحمول - تعرف على عنوان IP الذي تم تخصيصه لك ، عن طريق إجراء الأمر "ipconfig" في windows أو الأمر "ifconfig" في نظام التشغيل Linux أو mac. - إذا كنت تستخدم iphone ، فانقر فوق الزر i الموجود بجوار ESP-TEMP الذي تتصل به - افتح المستعرض الخاص بك وأشر إلى ESP-TEMP ، إذا تم تعيين 192.168.4.10 لك باعتباره عنوان IP الخاص بك ، فإن ESP-TEMP يمتلك IP 192.168.4.1 ، لذا يمكنك الانتقال إلى https://192.168.4.1 ويجب أن يتم تقديمك مع صفحة الإعداد حيث يمكنك إدخال ssid الخاص بجهاز التوجيه wifi ومفتاح psk. بمجرد إدخالهما وتحديد خانة الاختيار "تحديث تكوين Wifi" ، انقر فوق "تحديث" لتحديث الإعداد إلى ESP8266.

إذا كنت ترغب في تشغيل التصحيح إلى Serial Monitor ، فستحتاج إلى إلغاء التعليق على ملف

#define DEBUG

خط في الساعة. h وعلق على

// # تصحيح undef

خط. ثم انقر فوق أدوات-> Serial Monitor. ستظهر لك نافذة الشاشة التسلسلية تقدم اتصال wifi وتعرض عنوان IP المحلي الخاص بـ ESP8266. سيومض مؤشر LED الداخلي الأزرق مرة واحدة عند قراءة درجة الحرارة. سيتم تشغيله أيضًا عند اكتشاف حركة.

الخطوة 8: الوصول إلى درجة الحرارة ومستشعر الحركة

الوصول إلى درجة الحرارة ومستشعر الحركة
الوصول إلى درجة الحرارة ومستشعر الحركة
الوصول إلى درجة الحرارة ومستشعر الحركة
الوصول إلى درجة الحرارة ومستشعر الحركة

يجب أن تكون الآن قادرًا على الإشارة مرة أخرى إلى خادم الويب المحلي لـ ESP8266. وسيظهر هذا الوقت ودرجة الحرارة ومستشعر الحركة.

يمكنك الآن أيضًا الإشارة إلى خادم الويب الخارجي الخاص بك ، في هذا المثال هو

يمكنك تمرير الزر الموجود أسفل لوحة التحكم لتبديل مؤشر LED. أستخدم هذا لإعلام أطفالي عندما أكون في طريق العودة إلى المنزل من العمل.

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

تهانينا إذا وصلت إلى هذا الحد !! ، امنح نفسك ربتًا في الخلف واستمتع بإبداعك. الخطوة التالية اختيارية ، فقط إذا كنت ترغب في التحكم في مؤشر LED ومراقبة درجة الحرارة بالإضافة إلى مستشعر الحركة من أجهزة Apple.

الخطوة 9: تثبيت HomeBridge لـ HomeKit في Raspberry Pi (اختياري)

تثبيت HomeBridge لـ HomeKit في Raspberry Pi (اختياري)
تثبيت HomeBridge لـ HomeKit في Raspberry Pi (اختياري)

لقد استلهمت من التعليمات من GalenW1 والتي تسمح لي بتعلم الكثير عن HomeBridge.

لتثبيت HomeBridge لـ HomeKit على Raspberry Pi ، يمكنك استخدام التعليمات التالية

github.com/nfarina/homebridge

يتيح لك HomeBridge توصيل تطبيق Home في Iphone بأجهزة الاستشعار التي أنشأتها للتو في الخطوات السابقة.

بمجرد تثبيت HomeBridge ، تحتاج إلى تثبيت بعض المكونات الإضافية:

- جهاز استشعار درجة الحرارة

- مستشعر الحركة

- يحول

تثبيت sudo npm -g homebridge-http-temperature

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

تثبيت sudo npm -g homebridge-http-simple-switch

بمجرد تثبيت المكون الإضافي ، ستحتاج إلى تكوين ملف config.json الموجود أدناه

sudo vi /home/pi/.homebridge/config.json

يمكنك ضبط محتوى ملف config.json كما هو موضح أدناه ، يرجى التأكد من أن عنوان url يشير إلى الموقع الصحيح.

الخطوة 10: توصيل Homebridge بجهاز iPhone الخاص بك

توصيل Homebridge بجهاز iPhone الخاص بك
توصيل Homebridge بجهاز iPhone الخاص بك
توصيل Homebridge بجهاز iPhone الخاص بك
توصيل Homebridge بجهاز iPhone الخاص بك
توصيل Homebridge بجهاز iPhone الخاص بك
توصيل Homebridge بجهاز iPhone الخاص بك

الآن بعد أن تم تكوين جميع الملحقات ، يمكنك تشغيل homebridge باستخدام الأمر التالي

هومبريدج

يجب أن ترى الشاشة على النحو الوارد أعلاه. يمكنك اتباع الخطوة التالية لإضافة Homebridge إلى homekit الخاص بك.

- ابدأ الآن تطبيق "الصفحة الرئيسية" في جهاز iPhone الخاص بك

- انقر فوق الزر "إضافة ملحقات"

- ستظهر لك الشاشة لمسح الرمز ، يمكنك استخدام كاميرا هاتفك لمسح الرمز من شاشة Raspberry Pi أو إضافة الرمز يدويًا.

يرجى ملاحظة أن كل من Iphone و Raspberry Pi يجب أن يكونا على نفس الموجه اللاسلكي للعمل.

- بمجرد الاتصال ، ستتم مطالبتك بالشاشة التي تفيد بأن ملحقاتك غير معتمدة ، انقر فوق الزر "إضافة على أي حال" للمتابعة

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

- ستظهر لك الشاشة النهائية جميع الملحقات المتصلة.

بمجرد توصيله ، يمكنك استخدام Siri للتحقق من مستشعر الحركة ودرجة الحرارة وتشغيل الضوء وإيقافه.

الخطوة 11: احصل على Homebridge للعمل في الخلفية

احصل على Homebridge للعمل في الخلفية
احصل على Homebridge للعمل في الخلفية
احصل على Homebridge للعمل في الخلفية
احصل على Homebridge للعمل في الخلفية
احصل على Homebridge للعمل في الخلفية
احصل على Homebridge للعمل في الخلفية

تهانينا!! كنت قد فعلت ذلك. كمكافأة ، يمكنك تشغيل homebridge في الخلفية باستخدام الأمر التالي:

هومبريدج و

يمكنك الآن الاستمتاع ببعض المرح مع Siri والاستمتاع بعملك الجاد.

شكرا لك على متابعة هذا حتى النهاية. إذا أعجبك هذا ، فالرجاء ترك بعض التعليقات أو التصويت لي.

موصى به: