دبابيس PI التوت وجبيو: التحكم في الصمام مع باش وبايثون

في الوظيفة السابقة شاهدنا بدبابيس جبيو وبعض الأمثلة من التطبيقات العملية, اليوم سوف نركز على العملية للأغراض العامة دبابيس, وتعلم كيفية السيطرة عليها مع أوامر لمترجم باش ومع بايثون.

بروتو&وأدت

سيتم استخدام الصمام, مقاومة من 330 أوم, أسلاك, وإحدى التوصيل, أو لحام ولحام الحديد.

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

ركوب الخيل في حلبة

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

الدوائر اللازمة للتحكم في الإشعال من الصمام الثنائي LED.

الدوائر اللازمة للسيطرة على السلطة من الصمام الثنائي LED.

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

بروتوكون

اتصالات الكهربية.

الصلات القائمة بين التوصيل وأن توت العليق ويجب أن يكونوا كما هو الحال في الرسم التخطيطي التالي, على جبيو يمكنك الوصول إلى المسألة 3,3V لتعيين قيمة منطقية.

الدائرة على التوصيل.

الدوائر اللازمة للسيطرة على السلطة من الصمام الثنائي LED.

مرحبا عالم جبيو مع باش

حلبة مرة المحملة, نحن ذاهبون للقيام بما اسمية “مرحبا العالم جبيو” في باش يعمل بما يلي البرنامج النصي.

#!/bin/bash
#Exportamos el puerto GPIO 17 
echo 17 > /sys/class/gpio/export 
#Lo configuramos como salida 
echo out > /sys/class/gpio/gpio17/direction 
#Encendemos el LED asignandole 1 como valor lógico
echo 1 > /sys/class/gpio/gpio17/value

لإيقاف تشغيل الصمام، يمكننا أن نفعل ذلك بما يلي البرنامج النصي.

#!/bin/bash
#Apagamos el LED asignandole 0 como valor lógico
echo 0 > /sys/class/gpio/gpio17/value  
#Eliminamos la entrada del puerto GPIO 17 
echo 17 > /sys/class/gpio/unexport 

أساسا ما نقوم به مع باش هو خلق التسلسل الهرمي لدليل في /جبيو/sys/الفئة وإضافة محتوى لكل الملفات التي سوف يعامل متغير.

التسلسل الهرمي

التسلسل الهرمي داخل الدليل/sys/class/gpio.

مقدمة إلى بايثون

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

فونكويب

العملية باستخدام تطبيق ويب.

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

بينوتس مختلفة جبيو (بليون متر مكعب والمجلس)

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

بكمفسبوارد

مرحبا عالم جبيو مع بايثون

وبعد مشاهدة أشرطة الفيديو, ويمكن فهم بينوتس مختلفة بالفعل التعليمات البرمجية الأساسية لجعل “مرحبا العالم جبيو” في بايثون.

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

usuario@maquina:~$ sudo apt-get install python-dev
usuario@maquina:~$ sudo apt-get install python-rpi.gpio
usuario@maquina:~$ sudo apt-get update && sudo apt-get upgrade

تحديث مرة واحدة, دعونا نرى كيفية تشغيل الصمام بما يلي البرنامج النصي, فعلى سبيل المثال يمكنك استدعاء enciende.py, ونحن يمكن تشغيله كالجذر باستخدام الأمر “سودو Enciende.py بايثون”.

#!usr/bin/env/ python
#enciende.py
#importamos la libreria GPIO
import RPi.GPIO as GPIO 
#Definimos el modo BCM 
GPIO.setmode(GPIO.BCM) 
#Ahora definimos el pin GPIO 17 como salida
GPIO.setup(17, GPIO.OUT) 
#Y le damos un valor logico alto para encender el LED
GPIO.output(17, GPIO.HIGH) 

مع ذلك يمكن أن ننتقل, فعلى سبيل المثال الكلمة apaga.py

#!usr/bin/env/ python
#apaga.py
#importamos la libreria GPIO
import RPi.GPIO as GPIO 
#Definimos el modo BCM
GPIO.setmode(GPIO.BCM)  
#Ahora definimos el pin GPIO 17 como salida
GPIO.setup(17, GPIO.OUT) 
#Y le damos un valor logico bajo para apagar el LED
GPIO.output(17, GPIO.LOW) 
#Finalmente liberamos todos los pines GPIO, es decir, los desconfiguramos)
GPIO.cleanup() 

ومع ذلك نحن ندعو لك parpadea.py, سوف نجعل وامض الصمام.

#!usr/bin/env/ python
#parpadea.py
#importamos la libreria GPIO
import RPi.GPIO as GPIO 
#Importamos la libreria time
import time 
#Definimos el modo BCM 
GPIO.setmode(GPIO.BCM) 
#Ahora definimos el pin GPIO 17 como salida
GPIO.setup(17, GPIO.OUT) 
#Queremos que lo que contenga el for i in range se repita 5 veces
for i in range(0,5): 
        #Asignamos valor logico alto para encenderlo
               GPIO.output(17, GPIO.HIGH) 
        #Esperamos un segundo
               time.sleep(1)
        #Asignamos valor logico bajo para apagarlo
         GPIO.output(17, GPIO.LOW) 
        #Esperamos un segundo
         time.sleep(1) 
#Una vez termina las 5 repeticiones, liberamos el pin GPIO utilizado; en este caso el 17
GPIO.cleanup() 

إذا كان لا يمكنك استيراد مكتبة “الوقت“, لا يمكن إضافة “النوم“, وإذا كان عدم إضافة “النوم” ثان بين تشغيل وإيقاف, فمن الممكن تماما أن أعيننا لا ستتصور تومض.

من المهم جداً عدم إضافة أحرف خاصة في البرامج النصية في بايثون, ولهذا السبب لا تحمل التعليقات لهجات, نظراً لأنه أعطى خطأ حرف غير صالح.

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

إذا كنت مثلك اتبع لي على تويتر, فيسبوك, جوجل +, LinkedIn, أو تقاسمها مع الأزرار الموجودة تحت هذا المنشور, إذا كان لديك أي أسئلة أو اقتراحات لا تترددوا في التعليق.

تساعدنا للوصول إلى أكبر عدد من القراء Share on LinkedIn
LinkedIn
Share on Facebook
فيسبوك
Tweet about this on Twitter
تويتر
Share on Google+
جوجل +
Email this to someone
البريد الإلكتروني

16 أفكار بشأن "دبابيس PI التوت وجبيو: التحكم في الصمام مع باش وبايثون

  1. ولدى سؤال من مبتدئ…
    لأن المقاومة 330 أوم وعند استخدامه?

    تستخدم دائماً 330 عندما نعمل مع RPI, أو أنها قد تختلف?

    مدونة ممتازة وتحية!!!

    • مرحبا بيتر,

      من حيث المبدأ فإنه ينبغي العمل, خطأ أعطت فقط أذونات لبعض الناس ولكن قيد التشغيل من تطبيق ويب, كالمستخدم www-البيانات بشكل افتراضي لم يعد لديه هذه الأذونات.

      فقط في حالة محاولة تشغيل “سودو chmod + x script.py” لجعلها قابلة للتنفيذ, أن لم يكن ذلك يجب أن تعمل فقط من المحطة الطرفية; ويمكن أن تعلمني إذا يعود لك خطأ في المحطة الطرفية لتشغيل البرنامج النصي؟?

      شكرا جزيلا لتعليقك.

  2. مرحبا,
    أسعى لتشغيل الصمام عن طريق بيثون التالية دليل على أن عينات لكن لي يعطي الخطأ التالي عند تشغيل التعليمات البرمجية هذا:

    استيراد RPi.GPIO جبيو

    خطأ:
    -باش: استيراد: لا يمكن العثور على النظام

    هل تعرف لماذا هذا الخطأ?

    شكرا لكم وتهانينا للمدونة أنا يقضي كثير!

    • مرحبا نانو, مرحبا بك مرة أخرى.

      هو الخط الذي كنت أذكر العبارة التي كثيرا ما ترد في بداية البرنامج النصي إعلام المحطة الطرفية حيث المترجم الذي يأمر يجب عليك تمرير, في هذه الحالة، بايثون; باش سيكون على النحو التالي:

      #!/بن/باش

      في هذه الحالة، يعمل مع الإعلان، ودون ذلك منذ الملف.py ملحق, بل هو ممارسة جيدة إضافة أنه دائماً.

      وآمل أن مسح الشكوك الخاصة بك, مرة أخرى هنا وقتما تشاء وشكرا جزيلا لك على 🙂 التعليق الخاص بك

  3. شكرا, البرنامج التعليمي ممتاز, لكن ليس لدى أدنى شك:

    أنها تترك لي مع الأخطاء التالية:

    خط 12 استيراد:لم يتم العثور على
    خط 14 خطأ في بناء الجملة: كلمة غير متوقعة (أتوقع “)”)

    رمز بلادي:

    #Setup.py جبيو
    ### تبدأ معلومات التهيئة
    # يوفر: جبيو-setup.ch
    # مطلوب ابدأ: $remote_fs $syslog
    # توقف المطلوبة: $remote_fs $syslog
    # بدء تشغيل الافتراضي: 2 3 4 5
    # توقف الافتراضي: 0 1 6
    # وصف قصيرة: إعداد وضع جبيو
    # الوصف: إعداد جبيو 22/27/17/4 وضع
    ### نهاية الحرف الأول معلومات

    استيراد RPi.GPIO جبيو
    #علينا أن نحدد وضع بليون متر مكعب
    GPIO.setmode(جبيو. بليون متر مكعب)
    #ونحن الآن تحديد أطراف الإخراج جبيو
    GPIO.setup(4, جبيو. الخروج)
    GPIO.setup(17, جبيو. الخروج)
    GPIO.setup(27, جبيو. الخروج)
    GPIO.setup(22, جبيو. الخروج)

    أي فكرة???

    • مرحبا ليوكتام, شكرا على التعليق.

      تعطي الخطوط الأولى لفهم أن تحاول إنشاء برنامج خفي للنظام, لكن تسترشد بما هو لا إرادة لها في الحساب.

      من ناحية أخرى, التعليمات البرمجية التي تستخدمه للتفاعل مع جبيو هو بايثون, لذا يجب عليك البقاء في.py البرنامج نصي الذي سيتم استدعاؤه من شيطان النظام الخاص بك, أو استخدم باش للقيام بذلك كما هو الحال في المثال الأول من هذا البرنامج التعليمي.

اترك ردًا