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

فتاحة باب المرآب Raspberry Pi 3: 15 خطوة (بالصور)
فتاحة باب المرآب Raspberry Pi 3: 15 خطوة (بالصور)

فيديو: فتاحة باب المرآب Raspberry Pi 3: 15 خطوة (بالصور)

فيديو: فتاحة باب المرآب Raspberry Pi 3: 15 خطوة (بالصور)
فيديو: 15 Brilliant IoT Projects for Beginners in 2023! 2024, يوليو
Anonim
فتحت باب المرآب Raspberry Pi 3
فتحت باب المرآب Raspberry Pi 3

لقد أنشأت هذا الدليل في عام 2014. لقد تغير الكثير منذ ذلك الحين. في عام 2021 ، قمت بتحديث Smart Garage Door Opener هنا.

استخدم Raspberry Pi وهاتفًا ذكيًا لفتح باب المرآب وإغلاقه ومراقبته. يتم فتح وإغلاق الباب مؤمنًا باستخدام شهادات موقعة ذاتيًا مثبتة على الهواتف المحمولة الخاصة بالعائلة. إذا كان باب الجراج مفتوحًا عندما لا يكون مفتوحًا ، فأرسل رسالة نصية (SMS) إلى الهاتف الخلوي.

ظل باب الجراج قيد الاستخدام المستمر منذ أواخر عام 2014. على مر السنين ، حاولت تحديث التغييرات باستمرار. يوجد ملحق يصف التغييرات التي تم إجراؤها على التعليمات.

أهداف هذا المشروع هي:

  • اجعل أول تعليمات لي - لم أخطط لنشر هذا ، لكنني تلقيت العديد من الطلبات
  • افتح باب الجراج بجهاز تحكم عن بعد قياسي
  • افتح باب المرآب باستخدام جرس الباب المثبت على الحائط
  • افتح باب مرآب بهاتف ذكي
  • راقب حالة باب الجراج عن بعد عبر هاتف محمول أو كمبيوتر محمول (هل هو مفتوح أم مغلق؟)
  • أرسل رسالة نصية إلى هاتفي الخلوي إذا كان الباب مفتوحًا عندما يجب إغلاقه
  • حافظ على باب الجراج آمنًا (على سبيل المثال ، عند فقد الطاقة ، يجب ألا يفتح الباب)
  • لا تسمح لأي شخص آخر على الشبكة بفتح الباب (شهادة SSL موقعة ذاتيًا ثنائية الاتجاه)
  • استخدم WiFi بدلاً من الاتصال السلكي
  • استخدم Raspberry Pi 3

تم اشتقاق أساس تطبيق Garage Door Opener من Instructable: Raspberry Pi Garage Door Opener بواسطة quartarian. في الأصل ، استخدمت نموذج B + Raspberry Pi ، ثم انتقلت إلى طراز Raspberry Pi 2 B ، والآن يستخدم Raspberry Pi 3.

لقد استخدمت جهاز MacBook للتواصل مع Raspberry Pi ، ولكن يمكن استخدام أي جهاز كمبيوتر.

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

  • ارفع ماستر 828LM
  • تشامبرلين MyQ 129 دولار
  • GoGo Gate 179 دولارًا
  • حرفي 100 دولار

ملحوظات:

  • يجب استبدال النص المضمن في بستوني ، مثل هذا "استبدل - هذا" بقيمة فعلية
  • النص الأزرق الذي تحته خط اردوينو هو ارتباط. في هذه الحالة ، يكون رابطًا لإصدار اردوينو من أداة فتح باب المرآب.
  • لقد حاولت أن أنسب الفضل إلى كل مصدر تم استخدامه. اعتذاري عن أي سهو. يعتمد معظم هذا المستند على عمل الأشخاص الآخرين.
  • يشير $ إلى أمر تم تنفيذه في نافذة طرفية على جهاز MacBook وعادة ما يتم تنفيذه على Raspberry Pi

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

قم بشراء أو جمع الأجزاء والأدوات (الأسعار بالدولار الأمريكي).

  • Raspberry Pi 3 موديل B Newark Element14 $ 35
  • 5.2V 2.5A USB Power Adapter من أمازون 9.99 دولار
  • كابل Micro USB إلى USB 6ft من Amazon $ 7.99
  • حافظة من أمازون 6.99 دولار
  • SanDisk Ultra 16 GB microSDHC Class 10 مع محول (SDSQUAN-016G-G4A) من Amazon $ 8.99
  • وحدة SunFounder 2 قناة 5V Relay Shield لـ Arduino UNO 2560 1280 ARM PIC AVR STM32 Raspberry Pi - $ 6.79
  • 3x سلك توصيل أنثى-أنثى. تم شراؤه في Fry’s مقابل 4.95 دولارًا أمريكيًا.
  • DNS الديناميكي 40 دولارًا سنويًا لـ 30 اسمًا (dyn.com)
  • 1-عصابة 18 متر مكعب. في. مفتاح حائط ثقيل قديم وصندوق منفذ ، 3.12 دولار
  • لوحة الحائط البيضاء ذات الفرشاة الفائقة الاحترافية ، 7.88 دولارًا
  • SECO-LARM SM 226L ، مستشعر باب المرآب ، يختلف السعر على نطاق واسع ، 9.99 دولارًا على أمازون مع الشحن المجاني
  • 50 قدمًا من سلك ترموستات صلب ، Home Depot أو Lowe ، ~ 20 دولارًا

الإجمالي الخاص بي: 172.00 دولارًا تقريبًا

كان لدي الأجزاء والأدوات والخدمات التالية:

  • كابل إيثرنت CAT5
  • سلك قياس صغير بطول 6 أقدام
  • فيليبس رئيس مفك
  • كماشة الأنف إبرة
  • قواطع صندوقية
  • الجواهريون مفك برغي مسطح الرأس ، مطلوب لفك البراغي على التتابع
  • MacBook (يمكن استخدام جهاز كمبيوتر)
  • AT&T GigaPower (يمكن استخدام أي مزود خدمة إنترنت)

الخطوة 2: إعداد Raspberry Pi بدون شاشة أو لوحة مفاتيح

قم بإعداد Raspberry Pi بدون شاشة أو لوحة مفاتيح
قم بإعداد Raspberry Pi بدون شاشة أو لوحة مفاتيح

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

قم بإعداد Raspberry Pi باستخدام التعليمات التالية:

قم بإعداد Raspberry Pi بدون شاشة أو لوحة مفاتيح

يتضمن التوجيه أعلاه خطوات اختيارية في الملحق. تأكد من القيام بالخطوة:

إضافة شهادات من جانب العميل إلى خوادم الويب

اغلاق Raspberry Pi

sudo shutdown -h 0

بمجرد الاغلاق ، قم بإزالة

  • كابل إيثرنت
  • كابل تسلسلي USB

لن تكون هناك حاجة إلى هذه بعد الآن. استخدم wifi و ssh ونافذة طرفية على Mac Book لتشغيل الأوامر على Raspberry Pi.

افصل الطاقة وقم بتوصيل الطاقة مرة أخرى ، ويجب إعادة تشغيل raspberry pi.

الخطوة الثالثة: قم بتثبيت Wiring Pi و Apache و PHP

قم بتثبيت Wiring Pi

افتح نافذة طرفية على Mac Book. قم بتسجيل الدخول إلى Raspberry Pi ، ثم قم بتنزيل Wiring Pi وتجميعه وتثبيته. يسمح هذا البرنامج بالتحكم في دبابيس GPIO. فيما يلي دليل تفصيلي:

wiringpi.com/download-and-install/

فيما يلي نسخة مختصرة من التعليمات:

$ ssh pi @ ♣ raspberry-pi-ip

كلمة المرور: ♣ password ♣ $ sudo apt-get install git-core $ git clone git: //git.drogon.net/wiringPi $ cd wiringPi $ git pull origin $./build

قم بتشغيل الأمر gpio للتحقق من التثبيت:

$ gpio -v

إصدار gpio: 2.29 حقوق النشر (c) 2012-2015 Gordon Henderson هذا برنامج مجاني بدون ضمان مطلقًا. للحصول على تفاصيل النوع: gpio -warranty Raspberry Pi التفاصيل: النوع: الطراز 2 ، المراجعة: 1.1 ، الذاكرة: 1024 ميجا بايت ، المُصنِّع: تم تمكين شجرة الجهاز Sony [OV]. يدعم Raspberry Pi هذا الوصول إلى GPIO على مستوى المستخدم. -> راجع صفحة الرجل لمزيد من التفاصيل $ gpio readall + ----- + ----- + --------- + ------ + --- + --- Pi 2 - + - + ------ + --------- + ----- + ----- + | BCM | wPi | الاسم | الوضع | الخامس | المادية | الخامس | الوضع | الاسم | wPi | BCM | + ----- + ----- + --------- + ------ + --- + ---- ++ ---- + --- + - ----- + --------- + ----- + ----- + | | | 3.3 فولت | | | 1 || 2 | | | 5 فولت | | | | 2 | 8 | SDA.1 | في | 1 | 3 || 4 | | | 5 فولت | | | | 3 | 9 | SCL.1 | في | 1 | 5 || 6 | | | 0 فولت | | | | 4 | 7 | GPIO. 7 | خارج | 1 | 7 || 8 | 1 | ALT0 | TxD | 15 | 14 | | | | 0 فولت | | | 9 || 10 | 1 | ALT0 | RxD | 16 | 15 | | 17 | 0 | GPIO. 0 | في | 0 | 11 || 12 | 0 | في | GPIO. 1 | 1 | 18 | | 27 | 2 | GPIO. 2 | في | 0 | 13 || 14 | | | 0 فولت | | | | 22 | 3 | GPIO. 3 | في | 0 | 15 || 16 | 1 | في | GPIO. 4 | 4 | 23 | | | | 3.3 فولت | | | 17 || 18 | 0 | في | GPIO. 5 | 5 | 24 | | 10 | 12 | MOSI | في | 0 | 19 || 20 | | | 0 فولت | | | | 9 | 13 | ميسو | في | 0 | 21 || 22 | 0 | في | GPIO. 6 | 6 | 25 | | 11 | 14 | SCLK | في | 0 | 23 || 24 | 1 | في | CE0 | 10 | 8 | | | | 0 فولت | | | 25 || 26 | 1 | في | CE1 | 11 | 7 | | 0 | 30 | SDA.0 | في | 1 | 27 || 28 | 1 | في | SCL.0 | 31 | 1 | | 5 | 21 | GPIO.21 | في | 1 | 29 || 30 | | | 0 فولت | | | | 6 | 22 | GPIO.22 | في | 1 | 31 || 32 | 0 | في | GPIO.26 | 26 | 12 | | 13 | 23 | GPIO.23 | في | 0 | 33 || 34 | | | 0 فولت | | | | 19 | 24 | GPIO.24 | في | 0 | 35 || 36 | 0 | في | GPIO.27 | 27 | 16 | | 26 | 25 | GPIO.25 | في | 0 | 37 || 38 | 0 | في | GPIO.28 | 28 | 20 | | | | 0 فولت | | | 39 || 40 | 0 | في | GPIO.29 | 29 | 21 | + ----- + ----- + --------- + ------ + --- + ---- ++ ---- + --- + - ----- + --------- + ----- + ----- + | BCM | wPi | الاسم | الوضع | الخامس | المادية | الخامس | الوضع | الاسم | wPi | BCM | + ----- + ----- + --------- + ------ + --- + - بي 2 - + - + - - + --------- + ----- + ----- +

يجب أن تمنحك الأوامر المذكورة أعلاه بعض الثقة في أن wiringPi يعمل بشكل جيد.

قم بتثبيت Apache و PHP

قم بتشغيل الأوامر التالية:

$ cd..

sudo apt-get update $ sudo apt-get install apache2 php5 libapache2-mod-php5

للتحقق من عمل خادم الويب ، افتح مستعرضًا ، وفي مربع عنوان URL ، أدخل:

♣ توت العليق-بي-آي بي ♣

يستجيب موقع Apache الافتراضي بـ "It Works!"

الخطوة 4: الموقع

افتح نافذة طرفية على Mac Book. قم بتسجيل الدخول إلى Raspberry Pi ، ثم قم بإزالة ملف index.html الافتراضي ، وقم بتغيير الأذونات في دليل موقع الويب ، وقم بتحرير ملف يسمى index.php.

$ ssh pi @ ♣ raspberry-pi-ip

كلمة المرور: ♣ password ♣ $ sudo rm /var/www/index.html $ sudo chown pi: root / var / www $ sudo nano /var/www/index.php

وأدخل الكود التالي:

فتاحة المرآب

أتمتة المنزل

<؟ php if ($ switch == 1) {echo"

"؛} else {echo"

"; } ?>

فتحت باب المرآب دليل فتح باب المرآب مغلق 1 افتح 0
<؟ php if ($ trigger == 0) {echo "<td colspan = \" 4 / "} else {echo"

var13 ->

CTRL-o و ENTER لكتابة الملف ، و CTRL-x للخروج من المحرر.

تغيير الأذونات على الملف

sudo chmod 664 /var/www/index.php $

الخطوة 5: صورة الموقع

صورة الموقع
صورة الموقع
صورة الموقع
صورة الموقع

احصل على جهاز فتح باب جراج بعيد عالي الدقة من الويب. قم بتعديل الصورة كما تريد باستخدام فرشاة الرسم الخاصة بنظام Mac. في الصورة أعلاه ، تم استخدام Genie Garage Opener عالي الدقة ، تمت إضافة شعار raspberry pi وإزالة المصباح.

صورة واحدة هي الخلفية (remote-background.jpg) ، والأخرى هي الصورة النشطة (remote-press.jpg).

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

انسخ الصور إلى raspberry pi:

$ scp *-j.webp

كلمة المرور: ♣ كلمة المرور ♣

يحتوي موقع الويب على زر ضغط واحد. للتحقق ، افتح المتصفح وأدخل ♣ raspberry-pi-ip ♣. بدلاً من موقع ويب Apache الافتراضي ، والذي يقول "إنه يعمل!" ، يجب أن يظهر الزر. اضغطها.

الخطوة 6: التحكم عن بعد في خادم الويب

لتسهيل الوصول إلى Garage Door Opener من موقع بعيد ، أستخدم اسم DNS ديناميكيًا. لأنني لا أحب تذكر عناوين IP.

باستخدام هذه الميزة ، أدخل ♣ dynamic-hostname ♣.getmyip.com في حقل URL الخاص بالمستعرض. ملاحظة: يمكن تغيير عنوان IP على أجهزة التوجيه المنزلية دون سابق إنذار ، ولكن هذا نادرًا ما يحدث. اخترت استخدام DynDNS. ستحتاج إلى معرفة عنوان IP العام لجهاز التوجيه الخاص بك.

U-Verse Router IP: ♣ uverse-public-ip

يمكنك عرض أسماء المضيفين وتفاصيل حساب DynDNS Pro. إليك بعض النصائح للبدء:

  • أنشئ اسم مضيف DNS الديناميكي (1 من 30):

    • ♣ اسم المضيف الديناميكي ♣
    • مفتاح التحديث: ♣ dynamic-ip-updater-key
  • قم بتثبيت عميل التحديث للتأكد من أن اسم المضيف الخاص بك يشير دائمًا إلى عنوان IP الصحيح.

    • قم بالتنزيل والتثبيت على MacBook
    • نادراً ما تتغير عناوين IP الخاصة بشركة AT & T ، لذا يمكن تشغيل المحدث أعلاه متى تغير
    • اتبع الإرشادات:

      • إنشاء حساب
      • أدخل اسم المستخدم وكلمة المرور: ♣ dynamic-ip-username ♣ ♣ dynamic-ip-password ♣
      • حدد اسم المضيف
      • انقر فوق تكوين المضيفات المحددة
      • يجب أن يصبح المضيف نشطًا
    • قم بتكوين شبكتك للسماح بالوصول إلى جهازك من الإنترنت. يمكنك استخدام معالج Dyn الخاص بنا للحصول على بعض الإرشادات العامة حول كيفية القيام بذلك ، أو استخدام موارد مثل PortForward.com ، أو الاتصال بالشركة المصنعة للجهاز للحصول على المساعدة.

      • AT & T يو فيرس
      • إعادة توجيه المنفذ لـ 2-Wire 3801HGV - هذا هو جهاز التوجيه AT&T U-Verse الذي أملكه. راجع التحديثات في الملحق للتعرف على كيفية إعادة توجيه المنفذ على جهاز التوجيه AT&T U-verse 5268ac.
      • افتح المتصفح وانتقل إلى ♣ raspberry-pi-ip
      • كلمة المرور: ♣ كلمة المرور ♣
      • إعدادات
      • جدار الحماية

        • اختر ♣ raspberry-pi-hostname ♣
        • الخوادم

          • منفذ خادم الويب 80
          • خادم HTTPS - المنفذ 443
        • يضيف
      • يحفظ

بمجرد الانتهاء من ذلك ، سيعمل خادم الويب من الإنترنت. للتحقق ، أدخل "اسم المضيف الديناميكي" وسترى زر فتح باب المرآب.

الخطوة 7: قم بتوصيل الدائرة بـ Raspberry Pi

قم بتوصيل الدائرة بـ Raspberry Pi
قم بتوصيل الدائرة بـ Raspberry Pi

بالنسبة للرمز المقدم (الخطوة 4 و 6) ، استخدمت دبوس GPIO 7. ومن قبيل المصادفة أن GPIO 7 هو نفسه مثل wiringPi pin 7. في كود PHP ، يتم استخدام أرقام دبوس التوصيل السلكية وليس أرقام دبوس GPIO. يمكنك استخدام أيهما تريد ، ولكن تأكد من تغيير الرمز.

حاولت استخدام سلك مجدول ، لكن التتابع لا يثبت جيدًا على الأسلاك الملتوية. السلك الصلب أفضل.

في محاولتي الأولى ، قمت بإنشاء ثلاثة كبلات توصيل (من أنثى إلى ذكر).

  • استخدم ثلاثة كبلات توصيل أنثى إلى أنثى
  • قطع ثلاث قطع من الأسلاك المصمتة إلى حوالي 1 بوصة.

    قم بفصل 1 / 4in على طرفي السلك المصمت

  • أدخل سلكًا صلبًا واحدًا في كبل وصلة أنثى واحد.

إليك طريقة أفضل لإنشاء كبلات توصيل (من أنثى إلى ذكر):

  • استخدم فقط سلكًا صلبًا
  • قطع ثلاث قطع 4in من الأسلاك المصمتة
  • قم بفصل 1 / 4in على طرفي السلك المصمت
  • استخدم دبابيس التوصيل الأنثوية

    • قم بإزاحة دبوس توصيل أنثى واحد على أحد طرفي السلك المصمت وتجعيده

      لا ينبغي أن يكون دبوس الإناث مفكوكًا ، أو لحام إذا لزم الأمر

    • قم بتمرير تخفيف الضغط على دبوس التوصيل الأنثوي أو دبوس الغطاء بشريط كهربائي

قم بتوصيل المرحل بـ pi كما هو موضح في الرسم التخطيطي:

  • قم بتوصيل طرف الكبل الأنثوي بدبوس Raspberry Pi.
  • أدخل السلك الصلب في التقوية.

الخطوة 8: إنشاء خدمة بدء التشغيل

تعمل معظم المرحلات بما في ذلك المرحلات التي تم شراؤها على النحو التالي:

  • عندما تكون الإشارة في وضع التشغيل ، تظل الدائرة مطفأة.
  • عندما تكون الإشارة متوقفة عن التشغيل ، تكون الدائرة قيد التشغيل.

إذا فقدت Raspberry Pi الطاقة ، فإن المرحل لديه آلية أمان تحافظ على الدائرة مغلقة.

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

ومع ذلك ، لا يتم تهيئة المرحل فعليًا حتى يتم تعيين وضع دبوس GPIO عبر هذا الأمر: وضع gpio 7 خارج. علاوة على ذلك ، إذا كان دبوس GPIO في وضع التشغيل (gpio write 7 1) قبل ضبط وضع GPIO ، فسيظل الترحيل مغلقًا بمجرد التهيئة.

لجعل هذه التهيئة تعمل عند التمهيد ولا تستيقظ على أصدقاء جدد ، استخدم البرنامج النصي لبدء التشغيل التالي.

$ ssh pi @ ♣ raspberry-pi-ip

sudo nano /etc/init.d/garagerelay $

ثم الصق هذا البرنامج النصي:

#! / بن / باش

# /etc/init.d/garagerelay # تنفيذ وظائف محددة عند طلب حالة النظام "$ 1" في البداية) echo "بدء الترحيل" # Turn 7 الذي يحافظ على إيقاف الترحيل / usr / local / bin / gpio الكتابة 7 1 #Start Gpio / usr / local / bin / gpio mode 7 out ؛؛ stop) صدى "إيقاف gpio" ؛؛ *) صدى "Usage: /etc/init.d/garagerelay {start | stop}" exit 1 ؛؛ مخرج esac 0

للحفظ: CTRL-o ، ENTER

للخروج من nano ، استخدم CTRL-x

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

sudo chmod + x /etc/init.d/garagerelay $

الآن أخبر باي الخاص بك لتشغيل هذا البرنامج النصي عند التمهيد:

sudo update-rc.d -f garagerelay يبدأ 4

(ملاحظة: يمكنك تجاهل تحذير "علامات LSB المفقودة" بأمان.)

تأكد من تشغيل البرنامج النصي لبدء التشغيل

sudo إعادة التشغيل

افتح متصفحًا وانقر على الفاتح. يجب أن ينقر التتابع.

الخطوة 9: إرفاق Raspberry Pi بالجراج

إرفاق Raspberry Pi في المرآب
إرفاق Raspberry Pi في المرآب

عند نقل Raspberry Pi ، تأكد من تشغيل:

$ الاغلاق -h 0

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

قم بفك براغي الحائط من فتاحة نوع جرس الباب ، والتي تربط جرس الباب بالحائط.

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

مرر أسلاك الترحيل من خلال الفتحة (استخدم شماعة المعطف).

قم بفك البرغيين الموجودين على الجانب الخلفي من فتاحة جرس الباب.

قم بفصل طرفي أسلاك الترحيل: 1) حوالي 1/8 بوصة من جانب المرحل ، وحوالي بوصة على جانب جرس الباب. قم بثني جانب جرس الباب من السلك في نصف حلقة كبيرة بما يكفي لتناسب المسمار الخلفي.

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

الخطوة 10: إرفاق Raspberry Pi بـ SECO-LARM

إرفاق Raspberry Pi بـ SECO-LARM
إرفاق Raspberry Pi بـ SECO-LARM
إرفاق Raspberry Pi بـ SECO-LARM
إرفاق Raspberry Pi بـ SECO-LARM

قبل أن أنهي الكود ، كنت أنا وعائلتي في إجازة وفتحت المتصفح. كان آخر عرض لمتصفحي هو فتح باب المرآب - تم تحديث الصفحة وفتح باب المرآب. بعد بضعة أيام ، اتصل أحد الجيران وسأل عما إذا كان باب المرآب مفتوحًا؟ لحسن الحظ ، يمكنني إغلاقها من مسافة 500 ميل.

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

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

closed

يتم توصيل المغناطيس بالجانب الأيسر العلوي من باب المرآب ، ويتم توصيل المستشعر بجدار المرآب. لذلك ، اضطررت إلى تشغيل سلك ترموستات صلب من المستشعر إلى raspberry pi. يتطلب ذلك فتحة من المرآب في العلية ومن العلية في الحائط الذي يحتوي على فتاحة باب المرآب (مفتاح جرس الباب).

أدخلت صندوق تقاطع أزرق بين مستشعر SECO-LARM والأسلاك الصلبة.

في منزلي هناك فجوة 18 بوصة بين سقف الطابق الأول وأسفل الطابق الثاني. أفترض أن هذا هو المكان الذي تعمل فيه قنوات التدفئة والتبريد. كنت بحاجة إلى تمديد لقمة الحفر لفترة كافية للمرور عبر الطابق الثاني ومن خلال الجزء العلوي 2 × 4 (اللوحة العلوية) الذي يحتوي على جرس الباب.

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

يتطلب المستشعر اثنين من أسلاك ترموستات صلبة أو سلك سياج غير مرئي للكلاب.

يحتوي Raspberry Pi على أوصاف متعددة للدبابيس (BCM ، wPi ، مادي). يستخدم الرمز أرقام دبوس الأسلاك pi. لمشاهدة جميع الدبابيس وتعيينات الدبوس وقيم الدبوس أدخل:

قراءة الكل $ gpio

للحصول على دليل gpio ، أدخل:

رجل $ gpio

في التعليمات الأصلية ، تم تأريض الدبوس المادي 9 ويتصل بأحد خيوط SECO-LARM. ومع ذلك ، هذا لا يعمل بالنسبة لي. بدلاً من ذلك ، قم بتوصيل الخيوط بالدبابيس 15 و 17

ينتقل الدبوس المادي 15 (wPi pin 3) إلى 3.3 فولت عند إغلاق مستشعر SECO-LARM. الرقم 17 المادي هو 3.3 فولت. إذا لم يعمل ، فقم بتبديل التوصيلات على SECO-LARM.

قم بتوصيل SECO-LARM بباب الجراج والجدار. قم بتشغيل الأسلاك والاتصال بـ Raspberry Pi.

الخطوة 11: أرسل تنبيهًا إذا كان الباب مفتوحًا عندما يجب إغلاقه

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

تثبيت وتكوين SMTP بسيط.

لدي هاتف خلوي من AT&T وأستخدم ♣cell-phone-number♣@txt.att.net للرسائل النصية. لدي أيضًا حساب gmail ، والمثال أدناه يستخدم ♣gmail-account♣@gmail.com. إذا كنت تستخدم خدمات مختلفة ، فقم بإجراء التغييرات المناسبة.

لأوامر $ أدناه ، افتح نافذة طرفية على MacBook وقم بتسجيل الدخول إلى Raspberry Pi الخاص بك.

تأكد من تحديث المستودعات:

sudo apt-get update

قم بتثبيت SSMTP وأدوات البريد المساعدة البسيطة:

sudo apt-get install ssmtp

sudo apt-get install mailutils

قم بتحرير ملف تكوين SSMTP:

sudo nano $ /etc/ssmtp/ssmtp.conf

على النحو التالي:

mailhub = smtp.gmail.com: 587 hostname = ♣ your-hostname ♣ AuthUser=♣gmail-account♣@gmail.com AuthPass = ♣ gmail-password ♣ UseSTARTTLS = YES

قم بتحرير ملف الأسماء المستعارة لـ SSMTP:

sudo $ nano / etc / ssmtp / revaliases

أنشئ سطرًا واحدًا لكل مستخدم يمكنه إرسال رسائل البريد الإلكتروني. على سبيل المثال:

الجذر: ♣gmail-account♣@gmail.com: smtp.gmail.com: 587

قم بتعيين أذونات ملف تكوين SSMTP:

sudo chmod 664 /etc/ssmtp/ssmtp.conf $

تحدد أذونات الملف /etc/ssmtp/ssmtp.conf من سيكون قادرًا على إرسال رسائل البريد الإلكتروني من Raspberry Pi. بشكل افتراضي ، يكون هذا الملف مملوكًا لجذر المستخدم ومجموعة الملف هي أيضًا الجذر.

قم بتحرير ملف الأسماء المستعارة لـ SSMTP ، والذي يحتوي على بيانات حول حسابات البريد الإلكتروني:

sudo nano $ /etc/ssmtp/ssmtp.conf

بمجرد اكتمال عملية الإعداد والتكوين أعلاه ، اختبرها عن طريق إرسال بريد إلكتروني من سطر الأوامر.

صدى $ "أغلق باب الجراج" | البريد الإلكتروني "فتح باب الجراج" ♣cell-phone-number♣@txt.att.net

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

$ sudo nano /usr/local/bin/garage.sh

وأضف ما يلي:

#! / بن / باش

# تحقق مما إذا كان باب المرآب مفتوحًا. # إذا فتح ، أرسل تنبيهًا واكتب إلى سجل النظام = 0 ؛ door = $ (/ home / pi / wiringPi / gpio / gpio اقرأ 3) إذا كان ["$ door" -eq "$ up"] ثم تسجيل ♣ اسم المضيف الخاص بك ♣: باب المرآب افتح صدى "أغلق باب المرآب" | mail-s "Garage Door Open" cell-phone-number♣@txt.att.net في مخرج 0

ثم أضف crontab للتشغيل خلال الساعات المطلوبة:

$ sudo crontab –e

و أضف:

# في الليل ، تحقق كل ساعة إذا كان باب المرآب مفتوحًا

0 22-23 / 1 * * * sudo /usr/local/bin/garage.sh 0 0-5 / 1 * * * sudo /usr/local/bin/garage.sh

إذا نجح كل شيء ، فانتقل إلى الخطوة التالية.

الخطوة 12: ضع Raspberry Pi في Secret Book

ضع Raspberry Pi في Secret Book
ضع Raspberry Pi في Secret Book
ضع Raspberry Pi في Secret Book
ضع Raspberry Pi في Secret Book

ضع التوت باي في كتاب سري. حصلت على هذا في منزل مايكل مقابل حوالي 7 دولارات. لقد قطعت بعض الثقوب الصغيرة للأسلاك وسلك الطاقة.

الخطوة 13: الملحق: المراجع

SunFounder 2 قناة 5V Relay Shield وحدة ل Arduino UNO 2560 1280 ARM PIC AVR STM32

  • 5V 2-Channel Relay لوحة واجهة ، وكل واحدة تحتاج 15-20mA
  • تيار سائق مجهز بترحيل عالي التيار ، AC250V 10A ؛ DC30V 10A
  • واجهة قياسية يمكن التحكم فيها مباشرة بواسطة متحكم (Arduino ، 8051 ، AVR ، PIC ، DSP ، ARM ، ARM ، MSP430 ، منطق TTL)
  • مؤشر LED الخاص بحالة إخراج الترحيل رابط لتنزيل المستند:

الخطوة 14: الملحق: التحديثات

21 فبراير 2016

  • في التعليمات الأصلية ، كانت هناك مشكلات تتعلق بالتصحيح التلقائي والتنسيق ووضوح الاتجاهات.

    • مثال على ذلك هو عندما يتم تغيير علامات الاقتباس المزدوجة داخل الكود إلى شيء يبدو وكأنه اقتباس مزدوج مائل. ومع ذلك ، إذا قمت بقص هذا ولصقه في برنامج نصي ، فلن يعمل.
    • يحب المحرر القابل للتوجيه التصحيح التلقائي ، لذلك يتحول wlan إلى التخطيط ، ويتحول الحذف التلقائي إلى الإزالة التلقائية. هذه التغييرات يصعب رصدها.
    • قد لا تكون بعض توجيهاتي واضحة بما فيه الكفاية.
    • عادةً ما أستخدم أقواس الزاوية كمؤشر لشيء يحتاج إلى الاستبدال. المحرر يحول هذه إلى html. لذلك ، قمت بالتبديل إلى الأقواس المربعة ، ولكن هذه يمكن أن تسبب مشاكل لأنها تبدو مثل التعليمات البرمجية. لذلك ، استقرت أخيرًا على ♣ s كمؤشر للاستبدال بقيمة فعلية.
  • بمرور الوقت ، قمت أيضًا بتحسين بعض البرامج النصية.
  • الخطوات المعدلة 21-26

03 أبريل 2016

  • إنشاء ملحق مع استكشاف الأخطاء وإصلاحها والمراجع والتحديثات (الخطوات 27-29)
  • تم نقل استكشاف الأخطاء وإصلاحها إلى الملحق من الخطوة 2 السابقة
  • تم تحديث صفحة استكشاف الأخطاء وإصلاحها وترتيبها أبجديًا
  • تم تغيير اسم الملف من test2wifi.sh إلى garage.sh - فقط أكثر وصفيًا.
  • تم تحديث cron لاستخدام garage.sh
  • تم التعديل 1 ، 20-26 (إنشاء خدمة بدء التشغيل للخطوة قبل الملحق)

04 أبريل 2016

  • تم استبدال الخطوتين 2-11 و16-20 بمعياري الخاص بإعداد Raspberry Pi
  • قائمة الأجزاء المحدثة ، الخطوة 1
  • الصور المضافة / المدمجة

05 أبريل 2016

موقع وصورة مبسطان (الخطوتان 4 و 5)

01 مايو 2016

تمت إضافة استكشاف الأخطاء وإصلاحها لمستشعر Seco-larm / Raspberry Pi

01 مايو 2016

لم يتم حفظ التعديلات السابقة بشكل صحيح؟

11 نوفمبر 2016

  • تم التحديث إلى AT&T GigaPower وتغيير جهاز التوجيه إلى 5268ac
  • 5268ac لا يدعم التكرار الحلقي ، لذا لا يمكن الوصول إلى خادم Garage Opener من أجهزة الكمبيوتر الموجودة على شبكة LAN. بالنسبة لـ MacBook للوصول إلى خادم الويب الخاص بفتاحة المرآب ، قم بما يلي:

sudo دولار نانو / الخ / المضيفين

وأضف السطر

192.168.1.64 ♣ اسم المجال الخارجي للخادم ♣

احفظ واخرج ، CTRL-o ، CTRL-x

sudo killall -HUP mDNSResponder

  • لا تعمل قواعد إعادة توجيه المنفذ المدمجة في 5268ac ، مثل خادم HTTPS وخادم HTTP وخادم الويب. لتشغيل إعادة توجيه المنفذ:

    • افتح متصفحًا وانتقل إلى 192.168.1.254
    • تسجيل الدخول
    • حدد الإعدادات وجدار الحماية والتطبيقات والثقوب و DMZ.
    • حدد خادم الويب فتاحة المرآب
    • حدد من تحديد المستخدم
    • انقر فوق تطبيق جديد معرف من قبل المستخدم

      • في اسم ملف تعريف التطبيق ، أدخل: PortForwarding
      • في إنشاء تعريف التطبيق ، أضف كلًا مما يلي وانقر فوق إضافة إلى القائمة:

        • TCP من 80 إلى 80 ، تعيين منفذ المضيف 443
        • تعيين TCP من 443 إلى 443 للمنفذ المضيف 443
        • UDP من 443 إلى 443 ، خريطة للمنفذ المضيف 443
        • UDP من 80 إلى 80 ، خريطة للمنفذ المضيف 443
    • انقر مرة أخرى
    • أعد تحديد خادم الويب الخاص بك
    • حدد من تحديد المستخدم
    • أضف PortForwarding
    • انقر فوق حفظ

21 يناير 2018

  • تم التحديث إلى Raspberry Pi 3
  • عدة تعديلات على الخطوات
  • تم تحديث بعض الأجزاء والأسعار

الخطوة 15: الملحق: استكشاف الأخطاء وإصلاحها

مساحة القرص المستخدمة

يعرض السطر الأخير إجمالي مساحة القرص المستخدمة. بطاقة SD لديها 8 جيجا بايت.

$ cd../..

$ sudo du –hx –c

البريد الإلكتروني

إذا كنت تواجه مشكلات ، فجرّب ما يلي:

صدى $ "اختبار" | sendmail -v ♣your-gmail-account♣@gmail.com

إذا تم إعداد البريد الإلكتروني بشكل صحيح ، فيجب أن تتلقى بريدًا إلكترونيًا في حساب gmail الخاص بك.

إذا حصلت على فشل في المصادقة:

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

يمكنك التبديل من قارئ البريد الإلكتروني الحالي لاستخدام www.gmail.com للوصول إلى حسابك (موصى به) أو تغيير إعداداتك على https://www.google.com/settings/security/lesssecu … بحيث لا يعود حسابك محمي بمعايير أمنية حديثة.

لا أوصي بتخفيض معايير الأمان الخاصة بك.

إذا تلقيت إخفاقًا في التفويض:

السبب الأكثر احتمالاً لذلك هو أنك حددت اسم مستخدم أو كلمة مرور خاطئة لحساب Gmail الخاص بك في ملف /etc/ssmtp/ssmtp.conf. تحقق مرة أخرى من قيم حقلي AuthUser و AuthPass.

إذا فقدت الاتصال أثناء المعالجة:

من المحتمل أنك حددت المنفذ الخاطئ لـ Google smtp في مكان ما في /etc/ssmtp/ssmtp.conf أو في / etc / ssmtp / revaliases.

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

$ tail /var/log/mail.log

$ tail / var / log / syslog

باب المرآب لا يفتح

إذا كان كل شيء يعمل وتوقف فقط ، فحاول إعادة التشغيل. إذا لم يفلح ذلك ، اسحب سلك الطاقة من Raspberry Pi ، ثم قم باستعادة الطاقة. يجب إعادة تشغيل Raspberry Pi في أقل من دقيقتين ويجب أن يعمل كل شيء بشكل جيد. يحدث هذا عمومًا بسبب فقد الطاقة في البوابة السكنية.

GPIO

إذا حدث خطأ ما ، فإن أفضل طريقة لمعرفة ما يحدث هي بالأمر التالي:

قراءة الكل $ gpio

تسجيل الدخول إلى Raspberry Pi من MacBook

المحطة الطرفية هي أداة مساعدة MacBook: القرص / التطبيقات / المرافق / المحطة. احتفظ بتطبيق المحطة الطرفية في قفص الاتهام.

على MacBook ، افتح Terminal

$ ssh pi @ ♣ raspberry-pi-ip

♣ كلمة السر ♣

تسجيل الدخول إلى البوابة السكنية

على MacBook ، افتح المتصفح

URL = ♣ raspberry-pi-ip

تسجيل الدخول: ♣ بوابة كلمة المرور ♣

السجلات

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

$ cat / var / log / messages

$ cat / var / log / syslog $ cat / var / log / dmesg

دليل MAC

الدليل على MacBook حيث يتم تخزين ملفات موقع الويب

MAC Directory = / Users / ♣ my macbook ♣ / Desktop / wi-fi تمكين المنزل / wifi تمكين فتح باب المرآب / موقع الويب

كلمه السر

كلمة المرور = ♣ raspberry-pi-password ♣

ذاكرة الوصول العشوائي ووحدة المعالجة المركزية المستخدمة

أعلى $

CTRL-c للخروج

دليل الصفحة الرئيسية Raspberry Pi

$ pwd

/ الصفحة الرئيسية / بي

اسم مضيف Raspberry Pi

اسم المضيف $

اسم المضيف = ♣ اسم المضيف ♣

Raspberry Pi IP

♣ توت العليق- pi-ip ♣ = 192.168.1.93

دليل موقع Raspberry Pi

/ var / www

توقف Seco-larm عن العمل

في 01 مايو 2016 ، توقف Seco-larm عن العمل. هذه هي المرة الثالثة التي يتوقف فيها المستشعر عن العمل. لقول هذا بشكل صحيح ، توقف الدبوس 15 المادي على Raspberry Pi عن اكتشاف إدخال 3.3 فولت. لقد جربت 3.3 فولت دبابيس فعلية 1 و 17 ، وكلاهما كان لا يزال ينتج 3.3 فولت. لقد قمت بالتبديل من الدبوس 15 الفعلي إلى GPIO آخر ، والرقم 16 المادي (GPIO 4) وبدأ العمل مرة أخرى. لذا ، فلا حرج في Seco-larm. يبدو أن المشكلة مع Raspberry Pi GPIO.

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

لقد قمت بالتبديل من GPIO 3 إلى GPIO 4 ، وقمت بتغيير الرمز وفقًا لذلك. لست متأكدًا من سبب توقف دبوس GPIO عن العمل. فيما يلي سببان محتملان:

  • لقد تم تركيب مستشعر Seco-larm ، لذا عند إغلاق الباب ، فإنه يخرج 3.3 فولت. يُغلق باب الجراج كثيرًا ثم يُفتح. ربما ، لا يمكن أن يأخذ دبوس GPIO إدخالًا ثابتًا أكثر أو أقل يبلغ 3.3 فولت.
  • تزامن الفشل مع فقدان الطاقة ، ربما كان هناك ارتفاع في الطاقة.

بوابة سكنية على شكل حرف U

لدي AT&T U-verse مع بوابة سكنية ، ولكن يجب أن تعمل أي خدمة.

إذا تمت إعادة تشغيل بوابة U-verse أو فقدت الطاقة ، فقد يحتاج Raspberry Pi إلى إعادة التشغيل.

بوابة سكنية U-verse Public IP = ♣ router's-public-ip

يمكن أن يتغير عنوان IP العام لبوابة U-verse السكنية ، ولكنه نادرًا ما يحدث ذلك

الصفحة الرئيسية للبوابة السكنية على شكل حرف U = 192.168.1.254

SSID الخاص بنقطة وصول لاسلكية U-verse Router = ♣ ssid ♣

معدل نقل WiFi أبطأ من المتوقع

قم بتغيير جهاز التوجيه إلى قناة أقل استخدامًا. بشكل افتراضي ، يقوم جميع مزودي الدوائر بضبط شبكة wifi للجميع على القناة 1. قم بالتغيير إلى قناة أقل استخدامًا ، مثل 11. حاول استخدام رقم فردي.

ملحوظة: أخبرت اثنين من الجيران بما فعلته لتحسين شبكة wi-fi والآن أصبح الجميع في 9 أو 11 ، لذا عدت إلى 1. يجب عليك دائمًا استخدام قناة فردية.

افتح متصفحًا.

بالنسبة لـ U-verse ، أدخل 192.168.1.254 في مربع URL.

انقر فوق ارتباط لاسلكي ، واختر القناة 6 أو 11.

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

افصل Raspberry Pi ، ثم أعد الطاقة

موصى به: