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

زر إيقاف التشغيل لـ Raspberry Pi: 3 خطوات
زر إيقاف التشغيل لـ Raspberry Pi: 3 خطوات

فيديو: زر إيقاف التشغيل لـ Raspberry Pi: 3 خطوات

فيديو: زر إيقاف التشغيل لـ Raspberry Pi: 3 خطوات
فيديو: How to turn on & off your raspberry pi safely with the push of a button! Headless Pi on/off button! 2024, شهر نوفمبر
Anonim
زر إيقاف التشغيل لـ Raspberry Pi
زر إيقاف التشغيل لـ Raspberry Pi

يعد Raspberry Pi نظامًا أساسيًا مفيدًا للغاية للحوسبة يسمح بإنشاء تطبيقات IoT / robotics / smart-home /… للمشاريع. الشيء الوحيد الذي لا يتوفر عليه ، مقارنة بجهاز كمبيوتر عادي ، هو زر إيقاف التشغيل. إذن كيف يمكننا أن نصنع واحدًا بأنفسنا؟ حسنًا ، لنفعل ذلك معًا!

في هذا البرنامج التعليمي ، ستحتاج إلى ما يلي:

  • 1 Raspberry Pi مهيأ بالفعل وجاهز للاستخدام
  • 1 لوح توصيل أو أي شيء يسمح لك بإنشاء الدائرة الإلكترونية
  • 1 زر ضغط
  • عدد 2 سلك توصيل

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

www.instructables.com/How-to-Setup-a-Raspberry-Pi-and-Start-Using-It/

الخطوة 1: الدائرة الإلكترونية

دائرة كهربائية
دائرة كهربائية
دائرة كهربائية
دائرة كهربائية
دائرة كهربائية
دائرة كهربائية

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

لنوضح بسرعة كيف سيعمل هذا:

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

الخطوة الثانية: كود بايثون

كود بايثون
كود بايثون

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

شاشة الطباعة أعلاه مأخوذة من بيئة PyCharm الخاصة بي ، والرمز هو التالي (مع اختلاف بسيط في السطر 26 المرتبط بمشروع آخر ولكن ليس مطلوبًا هنا):

# هذا هو رمز aa لإيقاف تشغيل Raspberry Pi عند الضغط مع الاستمرار على زر محدد # استيراد الوحدة الخارجية استيراد RPi. GPIO مثل GPIOimport timeimport os # Raspberry Pi pin & variables Definitons & hold_time = 3 # الاحتفاظ بالوقت في ثوانٍ إلى poweroffbutton_poweroff = 1 # زر ضغط لإيقاف تشغيل Raspberry PiGPIO.setwarnings (False) GPIO.setmode (GPIO. BCM) # مخطط ترقيم أطراف Broadcom button_poweroff، GPIO. RISING) بدء = time.time () time.sleep (0.2) # تبديل debounce أثناء إدخال GPIO.input (button_poweroff) == 1: time.sleep (0.01) length = time.time () - ابدأ إذا كان الطول > Hold_time: os.system ("sudo poweroff")

أول شيء ، إذا قمت بتوصيل زر الضغط بـ GPIO مختلف ، هو تحديث السطر 11 على شاشة الطباعة أعلاه بإدخال GPIO المناسب:

button_poweroff = GPIO_X # التحديث باستخدام GPIO الصحيح المستخدم في دائرتك

أيضًا ، يسمح لك متغير hold_time بتعديل وقت الانتظار الذي يؤدي إلى إيقاف تشغيل Pi.

الخطوة 3: كيفية تشغيل البرنامج النصي تلقائيًا بعد إجراء التمهيد

كيفية تشغيل البرنامج النصي تلقائيًا بعد إجراء التمهيد
كيفية تشغيل البرنامج النصي تلقائيًا بعد إجراء التمهيد
كيفية تشغيل البرنامج النصي تلقائيًا بعد إجراء التمهيد
كيفية تشغيل البرنامج النصي تلقائيًا بعد إجراء التمهيد

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

تحتاج إلى فتح سطر أوامر وكتابة الأوامر التالية (شاشة الطباعة الأولى أعلاه):

قرص مضغوط /

مؤتمر نزع السلاح الخ sudo نانو rc.local

سينقلك الأمر الأول من دليل / home / pi إلى المجلد الجذر ، وهو /.

سيأخذك الأمر الثاني بعد ذلك إلى الدليل / etc /.

أخيرًا ، سيفتح الملف الثالث ملف rc.local باعتباره مستخدمًا متميزًا يتمتع بحقوق التحرير الكاملة ، والتي تحتاجها لتعديل الملف.

بمجرد إدخال الملف ، تحتاج فقط إلى إضافة سطر في نهايته ، ولكن قبل عبارة الخروج 0 (الشاشة الثانية للطباعة أعلاه):

# أضف هذا السطر إلى ملف rc.local لبدء تشغيل البرنامج النصي

sudo python /home/pi/Documents/shutdown_with_hold.py &

هناك بعض الأشياء التي يجب الانتباه إليها هنا:

  1. اسم الملف الخاص بك: في السطر أعلاه ، أفترض أن الملف هو shutdown_with_hold.py. ولكن يمكن أن يكون ما تريده ، ما عليك سوى تحديث الاسم باسمك.
  2. المكان الذي حفظت فيه ملفك: في السطر أعلاه ، أفترض أنه تم حفظه في دليل / home / pi / Documents. لكن مرة أخرى ، يمكن أن يكون في أي مكان. تحتاج فقط إلى التأكد من وضع المسار المطلق لملفك هنا.
  3. الحرف "&" في نهايته: هذا مهم ، ويسمح لهذا الأمر بالعمل في الخلفية

وهذا كل شيء! الآن ، سيتم تنفيذ البرنامج النصي في كل مرة يتم فيها تشغيل Pi ، وسيتعين عليك فقط الضغط أكثر من 3 ثوانٍ على الزر لإيقاف تشغيله.

موصى به: