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

كيفية التحكم في المنافذ باستخدام Raspberry Pi: 6 خطوات
كيفية التحكم في المنافذ باستخدام Raspberry Pi: 6 خطوات

فيديو: كيفية التحكم في المنافذ باستخدام Raspberry Pi: 6 خطوات

فيديو: كيفية التحكم في المنافذ باستخدام Raspberry Pi: 6 خطوات
فيديو: Raspberry pi With Uno | التحكم بالاردوينو بواسطة الراسبري باي 2024, يوليو
Anonim
كيفية التحكم في المنافذ باستخدام Raspberry Pi
كيفية التحكم في المنافذ باستخدام Raspberry Pi
كيفية التحكم في المنافذ باستخدام Raspberry Pi
كيفية التحكم في المنافذ باستخدام Raspberry Pi
كيفية التحكم في المنافذ باستخدام Raspberry Pi
كيفية التحكم في المنافذ باستخدام Raspberry Pi

في Instructable ، سأوضح لك كيفية إنشاء واجهة ويب للتحكم في المنافذ في منزلك باستخدام Raspberry Pi. اخترت كتابة هذا المشروع عندما رأيت مسابقة Sensors ، وبما أن هذا المشروع يتضمن استخدام مستشعر لقراءة الرموز من جهاز التحكم عن بُعد المزود بالمنافذ التي تشتريها ، فقد اعتقدت أن هذا المشروع سيكون مناسبًا تمامًا.

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

يستخدم هذا المشروع منافذ يتم التحكم فيها بترددات الراديو بسرعة 433 ميجاهرتز إلى جانب جهاز إرسال RF متصل بجهاز raspberry pi. تأتي المنافذ مع أجهزة تحكم عن بعد يمكنها تشغيل / إيقاف تشغيل المنافذ ، لكن هذا ليس ممتعًا! سنستخدم بدلاً من ذلك خادم ويب يعمل على raspberry pi والذي يسمح لأي شخص متصل بالشبكة بتشغيل أو إيقاف تشغيل منافذ معينة. تعد واجهة الويب الأمامية لهذا المشروع مثالية حيث يمكن استخدام أي جهاز متصل بالويب على شبكتك كجهاز تحكم عن بعد.

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

اللوازم

  • A Raspberry Pi (استخدمت RPi 3 موديل B +)
  • جهاز إرسال واستقبال 433 ميجاهرتز (استخدمت هذا الجهاز)
  • منافذ 433 ميجا هرتز (لقد استخدمت هذا)
  • صداري من أنثى إلى أنثى (اشتريت هذه المجموعة)
  • جهاز كمبيوتر أو جهاز محمول قادر على الوصول إلى الإنترنت

الخطوة 1: قم بإعداد Raspberry Pi الخاص بك

قم بإعداد Raspberry Pi الخاص بك
قم بإعداد Raspberry Pi الخاص بك

ابدأ بتثبيت أحدث إصدار من Raspbian على Raspberry Pi الجديد. إذا كنت تخطط لاستخدام Pi موجود (وهو ما يمكنك فعله تمامًا) ، فكل ما تحتاج إليه هو التأكد من أن لديك Python 3 على Pi الخاص بك ، نظرًا لأن هذا هو كل كود المصدر الذي قدمته مكتوبًا فيه. للقيام بذلك ، نوع

بيثون 3

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

خروج()

بمجرد تأكيد ذلك ، تحتاج إلى تثبيت flask على Pi الخاص بك. يتيح لنا Flask إنشاء خادم الويب الخاص بنا. من سطر أوامر Pi ، اكتب

sudo pip3 تثبيت القارورة

إذا لم يكن لديك نقطة مثبتة على Pi الخاص بك ، فستحتاج إلى الكتابة

sudo apt-get install python3-pip

أفضل التطوير على Raspberry Pi الخاص بي من الكمبيوتر المكتبي المريح. إذا كنت تفضل هذا الخيار أيضًا ، فأنت بحاجة إلى تثبيت نوع من البيئة لـ SSH في Pi. سيعمل PuTTY ، لكنني أفضل أن يكون لديّ واجهة مستخدم رسومية (GUI) ، مما يجعل الأمر يبدو وكأنك على Pi مباشرة. بالنسبة لخيار واجهة المستخدم الرسومية ، ستحتاج إلى تثبيت VNC Viewer على الكمبيوتر الذي تخطط للعمل عليه. هناك أيضًا إعدادات ستحتاج إلى ضبطها على Pi الخاص بك. يمكن العثور على تعليمات تعديل الإعدادات هنا.

الخطوة 2: توصيل أجهزتك

توصيل أجهزتك
توصيل أجهزتك

في هذه المرحلة ، حان الوقت لإجراء جميع الاتصالات المادية التي ستحتاج إلى القيام بها استعدادًا لإعداد الكود المصدري لهذا المشروع. سوف تقوم بتوصيل دبابيس جهاز الإرسال وجهاز الاستقبال بدبابيس GPIO في Pi الخاص بك. سترغب في الرجوع دينياً إلى مخطط pinout الخاص بدبابيس GPIO. للقيام بذلك ، افتح Terminal على Pi الخاص بك واكتب

pinout

فيما يلي الروابط التي أجريتها. قد يكون لديك تكوين مختلف إذا اشتريت جهاز إرسال / مستقبل مختلف عما أشرت إليه في المقدمة. إذا قررت اختيار أرقام سرية مختلفة عن تلك التي أشرت إليها أدناه ، فلا داعي للخوف! عند تنزيل شفرة المصدر ، ما عليك سوى تعديل أرقام الدبوس حسب الحاجة في ملف RxTx.py.

جهاز استقبال (شريحة كبيرة):

  • GND - أي دبوس أرضي محدد
  • البيانات - دبوس 11
  • DER - غير متصل
  • + 5V - أي دبوس مخصص + 5V
  • ------
  • + 5V - أي دبوس مخصص + 5V
  • GND - أي دبوس أرضي محدد
  • GND - غير متصل
  • ANT - غير متصل

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

المرسل:

  • ف - دبوس 3.3 فولت
  • DA - دبوس 7
  • ز - أي دبوس أرضي معين
  • AN - غير متصل

ملاحظة: مرة أخرى ، يمكنك توصيل هوائي بجهاز الإرسال حسب الحاجة ، لكنني وجدت أنني لست بحاجة إلى ذلك. النطاق أكثر من كافٍ (50 + قدمًا).

الخطوة الثالثة: إضافة الكود

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

اللغات المستخدمة هنا هي:

  • بايثون
  • CSS
  • جافا سكريبت
  • لغة البرمجة
  • مسج / أياكس

يتم استخدام Python في خادم flask وفي ملف

RxTx.py

ملف ، الذي يتعامل مع إرسال واستلام الكود. يستخدم CSS في إنشاء نمط صفحة الويب. من يريد موقعًا مملًا !؟ يتم استخدام جافا سكريبت في أي من معالجة الحدث (الضغط على زر ، وما إلى ذلك). HTML هو لبنة البناء الأساسية لصفحة الويب. أخيرًا ، يتم استخدام JQuery / Ajax للتواصل بين صفحة الويب وخلفية Python.

إذا بدت كل هذه اللغات مخيفة ، فلا تقلق! عرفت فقط أن Python تدخل في هذا المشروع ، والذي تصادف أنه اللغة التي تضمنت أقل قدر من الترميز ، اذهب إلى الشكل … يكفي أن نقول ، خذ وقتك في التمشيط عبر الكود إذا كان هذا هو ما اخترت القيام به. إذا كنت لا تريد ذلك ، فلا داعي لذلك!

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

مفتاح المخرج-> comm-- DataRW.py-- keys.py-- RxTx.py-> صفحة الويب - ثابت ----- favicon.ico ----- style.css-- قوالب ----- index.html ----- Schedule.html-- app.py-- ملف البيانات

يمكنك وضع مجلد Outlet Switch في أي مكان على Pi الخاص بك. عندما تكون جاهزًا لتشغيل خادم الويب الخاص بك ، افتح Terminal على Pi الخاص بك ، و

قرص مضغوط

(تغيير الدليل) إلى دليل صفحات الويب. ثم اكتب

python3 app.py

في المحطة. إذا لم تكن هناك أي أخطاء ، فيجب أن تكون على ما يرام!

ملاحظة. يرجى التحلي بالصبر إذا واجهت أي أخطاء. حاولت سحقهم جميعًا قبل التحميل.

الخطوة 4: أعطها فرصة

أعطها فرصة!
أعطها فرصة!

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

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

يوضح مقطع فيديو YouTube أعلاه كيفية الشروع بالفعل في إضافة منفذ جديد إلى قائمتك. لتلخيص ما يظهر:

  • أدخل أولاً عنوان المنفذ في حقل العنوان
  • انقر أو المس خارج حقل العنوان للسماح للبرنامج بالتحقق من أن العنوان غير موجود بالفعل. لا يمكن أن يكون لديك عناوين بنفس الاسم
  • بمجرد التحقق من الصحة ، يتم تمكين أزرار ON Code و OFF Code.
  • اضغط مع الاستمرار على زر التشغيل الموجود بجهاز التحكم عن بُعد الخاص بك وانقر بسرعة على زر ON Code الموجود على الواجهة. استمر في الضغط على الزر الموجود على جهاز التحكم عن بُعد حتى يملأ الكود الثنائي الحقل المجاور.
  • كرر الخطوة السابقة لرمز إيقاف التشغيل.
  • انقر فوق "موافق" ، وأنت الآن جاهز لتبديل هذا المنفذ!

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

الخطوة 5: التصحيح وملف RxTx.py

التصحيح وملف RxTx.py
التصحيح وملف RxTx.py
التصحيح وملف RxTx.py
التصحيح وملف RxTx.py
التصحيح وملف RxTx.py
التصحيح وملف RxTx.py
التصحيح وملف RxTx.py
التصحيح وملف RxTx.py

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

  • تأكد من تثبيت matplotlib على Pi الخاص بك. يمكنك القيام بذلك عن طريق كتابة ما يلي في محطة باي:

    • بيثون 3

    • استيراد matplotlib

    • إذا تلقيت خطأ ، فأنت بحاجة إلى تثبيت matplotlib.
    • اخرج من قشرة الثعبان باستخدام

      خروج()

  • لتثبيت matplotlib ، اكتب

    sudo pip3 تثبيت matplotlib

  • في المحطة
  • قم بتنزيل ملف test.py المرفق وضعه بجانب ملف RxTx.py على Pi الخاص بك
  • افتح محطة python وقم بتغيير الدليل إلى مجلد comm.
  • نوع

    python3 test.py

  • عندما تقول "** بدء التسجيل ** ،" اضغط مع الاستمرار على زر التشغيل أو الإيقاف في جهاز التحكم عن بُعد حتى ينتهي التسجيل.
  • سيقوم البرنامج بتحميل شكل matplotlib الذي يشبه ما ورد أعلاه. قم بالتكبير حتى ترى الإشارة المتكررة كما هو موضح في الصور أعلاه.
  • قم بحساب إجمالي المنطق 1 والمنطقي 0 لكل رسالة ، حيث تكون الرسالة عبارة عن تكرار واحد للإشارة المتكررة الموضحة أعلاه. إذا كان الإجمالي 25 ، فمن المحتمل ألا يكون ملف RxTx.py على خطأ. إذا واجهت شيئًا آخر بخلاف 25 ، فتأكد من التعليق أدناه ، وسأقوم بإعادة تجهيز ملف RxTx.py ليكون أكثر انفتاحًا (أو لا تتردد في تجربة يدك فيه).

ماذا لو لم أشاهد إشارة متكررة؟

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

الخطوة 6: استمتع

أنت تعرف أن لديك القدرة على تشغيل / إيقاف المنافذ من هاتفك أو جهازك اللوحي أو جهاز الكمبيوتر أو أي جهاز آخر يدعم الويب! اسمحوا لي أن أعرف ما هو رأيك في التعليقات!

موصى به: