فتاحة باب المرآب Raspberry Pi 3: 15 خطوة (بالصور)
فتاحة باب المرآب Raspberry Pi 3: 15 خطوة (بالصور)
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.


Fatal error: Uncaught Error: Call to undefined function exec() in W:\www\langs\.php-gen-lang\v3-core\macros.php(127) : eval()'d code:518 Stack trace: #0 W:\www\langs\.php-gen-lang\v3-core\macros.php(127): eval() #1 W:\www\langs\.php-gen-lang\v3-core\index-global.php(232): Macros->macros_parse('<!DOCTYPE html>...') #2 W:\www\langs\howwhatproduce.com\ar.howwhatproduce.com\index.php(9): require_once('W:\\www\\langs\\.p...') #3 {main} thrown in W:\www\langs\.php-gen-lang\v3-core\macros.php(127) : eval()'d code on line 518