الإعلانات

مفاتيح Dusk-til-dawn ومفاتيح المؤقت كلاهما طرق سهلة لأتمتة الأضواء. ألن يكون رائعًا إذا استطعت الجمع بين الاثنين ، أو حتى توصيلهما بالإنترنت للحصول على نظام إضاءة ذكي حقًا؟

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

ماذا ستحتاج

من السهل الحصول على مكونات المفتاح الذكي الذي يستشعر الضوء. انك سوف تحتاج:

  • أي نموذج Raspberry Pi يعمل Raspbian.
  • أ مجلس تتابعي، يمكن العثور عليها بسهولة على أمازون.
  • An مستشعر لمعان Adafruit TSL2561.
  • أسلاك التوصيل.
  • بعض الأضواء لأتمتة!

كيف يعمل المفتاح الذكي المستشعر للضوء

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

instagram viewer

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

  1. جدول مبرمج.
  2. مستوى الضوء المحيط.
  3. تم إرسال إشارة تجاوز عبر الشبكة.

الخطوة 1: قم بتوصيل Raspberry Pi بالتتابع

إذا كنت حديث العهد باستخدام GPIO ، ابدأ بالقراءة كل ما تحتاج لمعرفته حول دبابيس Raspberry Pi GPIO.

أولاً ، تحقق لمعرفة ما إذا كان لوح الترحيل الخاص بك يحتوي على وصلة تربط بين دبابيس VCC و JD-VCC معًا. إذا كان موجودًا ، فأزله.

JD-VCC إلى الطائر مجلس التتابع VCC

مع إيقاف تشغيل كل شيء ، قم بتوصيل لوحة التتابع بـ Pi على النحو التالي:

  • Pi Pin 2 (5v) إلى JD-VCC على لوحة التتابع.
  • Pi Pin 6 (GND) إلى GND على لوحة التتابع.
  • Pi Pin 15 (GPIO 22) إلى IN1 على لوحة التتابع
  • Pi Pin 17 (3.3v) إلى VCC على لوحة التتابع.
توصيل Raspberry Pi Zero W بلوحة ترحيل

الخطوة 2: قم بتوصيل مستشعر اللمعان

إن TSL2561 عبارة عن مستشعر للضوء يمكنه اكتشاف الأشعة تحت الحمراء والطيف الكامل والضوء المرئي من قبل الإنسان. يمكن أن يرسل قراءة رقمية دقيقة للغاية إلى Raspberry Pi. يشير المستشعر إلى مستوى الضوء على مقياس من 0.1 (بدون ضوء) إلى 40،000 (شمس مشرقة).

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

  • قم بتوصيل Pi Pin 1 (3.3v) بـ Vin (أو VCC) على مستشعر lux
  • قم بتوصيل Pi Pin 3 (SDA) بـ SDA على مستشعر lux
  • قم بتوصيل Pi Pin 5 (SCL) بـ SCL على مستشعر lux
  • قم بتوصيل Pi Pin 9 (GND) بـ GND على مستشعر lux
راسبيري باي زيرو دبليو متصل بمستشعر لوكس TSL2561

الخطوة 3: تكوين التبعيات وتثبيتها

قبل المضي قدمًا ، ستحتاج إلى التحقق من تمكين I2C على Raspberry Pi (يتم تعطيله افتراضيًا). اكتب ما يلي في النهاية الطرفية:

sudo raspi-config

تحديد خيارات التواصل> P5 I2C ، ثم اختر نعم.

خيارات التواصل في أداة raspi-config المساعدة

نجاح أدخل ثم اختر إنهاء للخروج من شاشة التكوين. أعد تشغيل جهاز Pi حتى يسري التغيير:

إعادة تشغيل sudo

بعض التبعيات ضرورية حتى يتمكن Pi من الاتصال بلوحة المستشعر. اكتب الأوامر التالية:

sudo apt-get update. sudo apt-get install -y python-smbus. sudo apt-get install -y i2c-tools

يمكنك التحقق من أن كل شيء يعمل بكتابة:

sudo i2cdetect -y 1

إذا تم تثبيت تبعياتك وكان مستشعر Lux متصلاً بشكل صحيح ، فسترى استجابة مثل هذا:

أداة المساعدة IC-Detect للإبلاغ عن عنوان المستشعر Lux

هنا تفيد الأداة أنها وجدت جهاز I2C (مستشعر Lux) في عنوان I2C 39.

لم تنتهِ تمامًا من التبعيات بعد. ستحتاج إلى بعض المكتبات أيضًا. أولاً ، قم بإنشاء مجلد للاحتفاظ بكل ما يتعلق بهذا المشروع في:

mkdir ~ / إضاءة. cd ~ / الإضاءة

بعد ذلك ، تنزيل زجاجة، إطار عمل خفيف الوزن من شأنه إنشاء خادم ويب بسيط على Pi. ستستخدمه للتحكم في الأضواء من الويب.

wget https://bottlepy.org/bottle.py

المكتبات الأخرى التي ستحتاج إليها موجودة على Github ، لذلك إذا لم يكن Gpub مثبتًا بالفعل في Raspberry Pi ، فأضفه الآن:

sudo apt-get تثبيت بوابة

الآن استنساخ مكتبتين ، مثل هذا:

استنساخ بوابة https://github.com/adafruit/Adafruit_Python_GPIO.git. استنساخ بوابة https://github.com/adafruit/Adafruit_Python_PureIO.git

وأخيرًا ، أنشئ نصًا تجريبيًا عن طريق إنشاء ملف جديد:

نانو test.py

الصق هذا الرمز (بإذن من Adafruit):

#! / usr / bin / env python. # - * - ترميز: utf-8 - * - من __future__ استيراد مطلق_استيراد ، قسم ، print_function ، unicode_literals. من tsl2561 استيراد TSL2561. if __name__ == "__main__": tsl = TSL2561 (debug = True) print (tsl.lux ())

صحافة Ctrl + X للحفظ ، باتباع التعليمات التي تظهر على الشاشة للخروج.

عند الانتهاء ، قم بتشغيل البرنامج النصي للاختبار:

بيثون test.py

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

الخطوة 4: إنشاء البرامج النصية للأتمتة

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

لإدارة جدول زمني يحتوي على مناطق توقيت متعددة مثل هذا ، هناك نصان مختلفان. واحد (onzone.py) ستعمل كل دقيقة خلال الأوقات التي تريد فيها تشغيل الأضواء إذا كانت مظلمة. الأخرى (offzone.py) ستعمل كل دقيقة خلال الأوقات التي تريد فيها إطفاء الأنوار بغض النظر عن مستوى الضوء.

جدول الإضاءة الذكية

سيتم جدولة البرامج النصية للتشغيل باستخدام وظائف كرون كيفية جدولة المهام في لينكس مع Cron و Crontabتعد القدرة على أتمتة المهام واحدة من تلك التقنيات المستقبلية الموجودة هنا بالفعل. يمكن لكل مستخدم Linux الاستفادة من نظام الجدولة ومهام المستخدم ، وذلك بفضل cron ، وهي خدمة خلفية سهلة الاستخدام. قراءة المزيد . من خلال اختيار ساعات النهار والليل التي يتم فيها تشغيل كل نص ، سيكون من السهل تعيين الساعات التي يمكن أن يتم تشغيل أضواءك فيها تلقائيًا. يمكنك إعداد أي عدد تريده من فترات التشغيل والإيقاف.

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

النص 1: منطقة ON

سيتم تشغيل نص Python النصي هذا كل دقيقة من اليوم الذي تريد أن تضيء فيه الأضواء إذا كانت مظلمة. قم بتنزيل البرنامج النصي عن طريق نسخ هذا الأمر ولصقه في الوحدة الطرفية:

wget https://gist.githubusercontent.com/hamishdownell/ea151d2ff7c888ac09f8a850afaab4ee/raw/10b0e9d8ec42f8577750941da46a93d16b597c05/onzone.py

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

يستخدم البرنامج النصي متغير يسمى لوولوكس لتقرر عند أي نقطة تكون مظلمة بما يكفي لتشغيل الأضواء. يمكنك تغييره إلى شيء مناسب للتثبيت الخاص بك عن طريق تغيير القيمة في هذا السطر بالقرب من أعلى onzone.py:

لووكس = 50

النص 2: منطقة OFF

سيتم تشغيل هذا النص البرمجي في كل دقيقة من اليوم الذي تريد أن تنطفئ فيه الأضواء ، ما لم يتم تجاوزها. تنزيل البرنامج النصي:

wget https://gist.githubusercontent.com/hamishdownell/fb8970909145bbfefbbef8dba5f5a00f/raw/eae5a6057a51ca4727907c7d061f0a48b07da944/offzone.py

لا يهتم هذا النص البرمجي بمدى ضوءه أو الظلام. وظيفتها هي ببساطة إطفاء الأنوار إذا كانت مضاءة (إلا إذا تم تجاوزها).

البرنامج النصي 3: خادم التجاوز

ينشئ هذا البرنامج النصي خدمة ويب بسيطة يمكنها قبول الأوامر للقيام بالإجراءات التالية:

  1. قم بتشغيل الأضواء لعدد من الدقائق بغض النظر عن مستوى الإضاءة المحيطة.
  2. أغلق الأضواء.
  3. معرفة ما إذا كانت الأضواء قيد التشغيل أو إيقاف التشغيل حاليًا.
  4. اكتشف إلى أي مدى ستبقى الأضواء مضاءة عندما يتم تجاوزها.

تنزيل البرنامج النصي:

wget https://gist.githubusercontent.com/hamishdownell/2303bfd9fb30d42e79923bdb7e69ed4e/raw/7dcb456b81b8ae58ae48efa225adb41ba7d7f69c/lightserver.py

قبل الانتقال إلى الخطوة التالية ، قم بتشغيل البرنامج النصي offzone.py مثل هذا:

python offzone.py

سيؤدي ذلك إلى إنشاء ملفات التحكم التي تستخدمها البرامج النصية لتتبع كل شيء.

الخطوة 5: جدولة البرامج النصية

يمكن لجهاز Raspberry Pi تشغيل نصوص الأتمتة باستخدام cron. قم بإعداد الجدول مثل هذا:

sudo crontab -e

قم بلصق هذين السطرين في محرر النصوص:

* 7،8،9،17،18،19،20،21،22،23 * * * python /home/pi/lighting/onzone.py> NULL. * 0،1،2،3،4،5،6،10،11،12،13،14،15،16 * * * python /home/pi/lighting/offzone.py> NULL

ملاحظة: إذا لم يكن اسم المستخدم الذي قمت بتسجيل الدخول إلى Raspberry Pi به هو الاسم الافتراضي بي، قم بتغيير المسار وفقًا لذلك.

اذكر كل الساعات التي تريد أن تضيء فيها الأضواء عندما تكون مظلمة في السطر الأول. كل الساعات التي تريد فيها إطفاء الأنوار في السطر الثاني.

الآن قم بتعيين النص البرمجي للتشغيل تلقائيًا عند بدء تشغيل Pi:

sudo nano /etc/rc.local

الصق هذا السطر أسفل الملف ، ثم احفظه واخرج منه:

nohup python /home/pi/lighting/lightserver.py &

أخيرًا ، أعد تشغيل Raspberry Pi حتى تتمكن من التحقق من تحميل البرنامج النصي للخادم كما ينبغي

إعادة تشغيل sudo

الخطوة 6: اختبار التتابع

قبل توصيل المصابيح ، اختبر أن كل شيء يعمل باستخدام وظيفة التجاوز. اكتب ما يلي في متصفح ويب على نفس الشبكة مثل Pi ، واستبدل عنوان IP بعنوان Raspberry Pi الخاص بك:

11.22.33.44:1234/overrideon/3

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

أثناء إغلاق التتابع ، يمكنك اختبار وظائف التجاوز الأخرى. سيخبرك هذا بعدد الدقائق التي ستبقى فيها الأضواء بسبب التجاوز:

11.22.33.44:1234/getoverrideremaining

يجب أن يخبرك هذا أن الأضواء مضاءة:

11.22.33.44:1234/lightstatus

أخيرًا ، يمكنك إيقاف تشغيلها مرة أخرى باستخدام:

11.22.33.44:1234/overrideoff

سيتابع التتابع أثناء فتحه.

الخطوة 7: قم بتوصيل الأضواء

أغلق جهاز Raspberry Pi وافصله عن الكهرباء قبل توصيل الأضواء بالمرحل. استخدم موصلات (NO) المفتوحة بشكل طبيعي على لوحة الترحيل بدلاً من مفتاح التبديل العادي ، مثل هذا:

إدخال التتابع في دائرة الإضاءة

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

المزيد من مشاريع Raspberry Pi لتجربتها

يعد تجاوز إعداد الإضاءة الذكية الجديد عن بُعد عن طريق كتابة الأوامر في متصفح الويب أمرًا مرهقًا جدًا. أفضل طريقة هي ربط شيء مثل Amazon Echo لتسهيل الأمور. دمج خدمة Alexa وخدمة Webhooks في IFTTT هي طريقة بسيطة لإضافة التحكم الصوتي.

انظر لدينا دليل لاستخدام IFTTT لمساعدتك على البدء.

تطبيق IFTTT الصغير لتوصيل الأضواء الذكية بـ Alexa

خيار آخر هو استخدام اختصارات Siri. يمكن لاختصار واحد مع القوائم الاستعلام عن حالة الأضواء واستخدام وظائف التجاوز لتشغيلها وإيقاف تشغيلها.

إذا كنت تستمتع بهذا المشروع ، فتأكد من التحقق من ذلك مشاريع راسبيري باي غريبة أغرب 10 مشاريع راسبيري بايهناك عالما مجنونا داخل كل منا ، ويتيح Raspberry Pi لطفلك الداخلي الخروج واللعب. في بعض الأحيان ، تصبح الأمور غريبة. غريب حقا. قراءة المزيد لمزيد من الأفكار.

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