لماذا يعد GPIO Zero أفضل من RPi.GPIO لمشاريع Raspberry Pi

لماذا يعد GPIO Zero أفضل من RPi.GPIO لمشاريع Raspberry Pi

Raspberry Pi هو الكمبيوتر المثالي للتعلم. يحتوي نظام التشغيل Raspbian OS المستند إلى Linux على Python مدمج ، مما يجعله أول نظام رائع للمبرمجين المبتدئين. تجعل دبابيس الإدخال / الإخراج للأغراض العامة (GPIO) من السهل على الصانعين الناشئين تجربة مشاريع الإلكترونيات ذاتية الصنع.





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





ما هو GPIO Zero؟

مكتبة GPIO Zero هي مكتبة Python للعمل مع دبابيس GPIO. كتب بواسطة مدير مجتمع Raspberry Pi بن Nuttall . تهدف إلى أن تكون بديهية و 'ودية' ، فهي تبسط كود Python لمعظم حالات استخدام Raspberry Pi العادية.





من خلال الجمع بين ممارسات التسمية البسيطة والوظائف الوصفية ، يسهل الوصول إلى GPIO Zero لفهم المبتدئين. حتى المستخدمين المخضرمين لمكتبة RPi.GPIO قد يفضلونها --- ولفهم السبب ، دعنا نلقي نظرة على كيفية مقارنة RPi.GPIO مع GPIO Zero.

ما الخطأ في RPi.GPIO؟

لا شيئ. لاشىء على الاطلاق. تم إصدار RPi.GPIO في أوائل عام 2012 بواسطة المطور Ben Croston. إنها مكتبة قوية تتيح للمستخدمين التحكم في دبابيس GPIO من الكود. يتميز بتنسيق تقريبا كل مشروع مبتدئ لقد غطينا.



لماذا لا تعمل مكبرات الصوت

على الرغم من الاستخدام المكثف ، لم يتم تصميم RPi.GPIO للمستخدمين النهائيين. إنها شهادة على التصميم الجيد لـ RPi.GPIO الذي يستخدمه الكثير من المبتدئين بالرغم من ذلك.

ما الجيد في GPIO Zero؟

عندما تكون تعلم كود بايثون ، تتعلم أنه يجب أن يكون سهل القراءة وقصيرًا قدر الإمكان. يهدف GPIO Zero إلى تغطية كلا النقطتين. مبني على أعلى RPi.GPIO باعتباره غلاف لغة الواجهة الأمامية ، فإنه يبسط إعداد واستخدام GPIO.





ضع في اعتبارك المثال التالي ، إعداد وتشغيل LED:

يجب أن يكون الكود أعلاه مألوفًا جدًا لأي شخص لديه استخدموا Pi للتحكم في المصابيح .





يتم استيراد مكتبة RPi.GPIO ، ويتم الإعلان عن دبوس لمصباح LED. تم إعداد نوع تخطيط الدبوس (وضع BCM و BOARD هما موضح في دليل GPIO الخاص بنا ) ، ويتم إعداد الدبوس كإخراج. ثم يتم تشغيل الدبوس.

هذا النهج منطقي ، لكن طريقة GPIO Zero للقيام بذلك أبسط بكثير:

يحتوي GPIO Zero على وحدة نمطية لمصابيح LED ، تم استيرادها في البداية. هذا يعني أنه يمكنك التصريح عن الرقم السري والاتصال بـ led.on () طريقة.

مشاهدة كرتون هانا باربيرا على الانترنت مجانا

لماذا يعتبر نهج GPIO Zero أفضل؟

هناك بعض الأسباب التي تجعل طريقة العمل هذه بمثابة تحسين لـ RPi.GPIO.

أولاً ، يفي بمتطلبات 'سهولة القراءة ، والقصيرة قدر الإمكان'. على الرغم من سهولة فهم عبارات إعداد RPi.GPIO ، إلا أنها ليست ضرورية. سيكون مؤشر LED دائمًا ناتجًا ، لذلك يقوم GPIO Zero بإعداد المسامير خلف الكواليس. والنتيجة هي مجرد ثلاثة أسطر من التعليمات البرمجية لإعدادها ، ثم إضاءة LED.

قد تلاحظ عدم وجود إعداد لوضع اللوحة في مثال GPIO Zero. تستخدم المكتبة ترقيم Broadcom (BCM) فقط للدبابيس. يشرح مصمم المكتبة Ben Nuttall السبب في عام 2015 مقابلة RasPi.tv :

قد يبدو ترقيم اللوحة أكثر بساطة ، لكنني أقول إنه يقود المستخدمين الجدد إلى الاعتقاد بأن جميع الدبابيس هي أغراض عامة - وهم ليسوا كذلك. قم بتوصيل مؤشر LED بالدبوس 11 ، فلماذا لا يتم توصيل المزيد بالدبابيس 1 و 2 و 3 و 4؟ حسنًا 1 هو 3V3. 2 و 4 5V. يمكن أن يكون عدم الوعي بالغرض من الدبابيس أمرًا خطيرًا.

ضع بهذه الطريقة ، من المنطقي تمامًا استخدام أرقام BCM. نظرًا لأنه سيكون GPIO Zero قياسيًا في وثائق Raspberry Pi من الآن فصاعدًا ، فإن الأمر يستحق التعلم!

هل GPIO Zero أفضل بالفعل؟

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

من ناحية أخرى ، فإن معرفة ما يجري بالضبط أمر مهم للتعلم. خذ مثالاً على إعداد زر من ملف وثائق GPIO Zero :

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

استخدمنا هذه الوظيفة بالضبط في زر Raspberry Pi التعليمي ، وهي طريقة رائعة للتعرف على الاختلافات في المكتبات.

سيلاحظ مستخدمو مكتبة RPi.GPIO أن مقاومات السحب / المنسدلة الداخلية لـ Pi لم يتم إعدادها في الكود. وهذا يثير مسألة مثيرة للاهتمام. هل من الضروري للمبتدئين معرفة مقاومات السحب لأعلى / لأسفل؟ مرة أخرى ، لدى Ben Nuttall إجابة على هذا السؤال:

'قد تجادل بأنه من الجيد معرفة عمليات السحب والسحب لأسفل ، وستكون على صواب - ولكن لماذا يجب علي تعليم ذلك في اليوم الأول؟ [...] إذا كنت تريد تعليم الإلكترونيات في مزيد من العمق ، هناك مجال كبير لذلك - لكن لا ينبغي أن يكون إلزاميًا إذا كنت قد بدأت للتو.

بشكل عام ، من المحتمل أن يكون النهج البسيط لـ GPIO Zero أمرًا جيدًا للمبتدئين والمحاربين القدامى على حد سواء. إلى جانب ذلك ، لن يذهب RPi.GPIO إلى أي مكان. سيكون دائمًا موجودًا للعودة إليه إذا لزم الأمر.

هل بايثون الخيار الوحيد؟

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

بدلاً من ذلك ، إذا كنت تقوم بالفعل بالبرمجة في JavaScript ، فيمكن بسهولة تثبيت Node.js على Pi. الوصول إلى GPIO متاح من خلال مكتبة rpi-gpio npm . روبي على القضبان يمكن أيضًا تثبيته على Raspberry Pi ، على الرغم من أن Pi قد لا يكون أفضل طريقة لتعلم Rails!

كل هذه البدائل ، جنبًا إلى جنب مع مكتبات متعددة اللغات مثل ممتاز الرخيص يمكن أن يجعل اختيار مكتبة أمرًا مربكًا. هذا هو المكان الذي يتفوق فيه GPIO Zero: للمبتدئين الذين يتساءلون كيف وأين يبدأون.

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

ابدأ مع GPIO Zero بنفسك

تُعد GPIO Zero أحدث مكتبة تعمل على جذب Pi ولسبب وجيه. بالنسبة لمعظم المستخدمين ، فإنه يجعل تشفير دبابيس GPIO أسهل في القراءة وأسرع في الكتابة.

إرسال رسائل قصيرة مجانية عبر الإنترنت بدون تسجيل

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

هناك طريقة رائعة لبدء استخدام GPIO Zero وهي أن تأخذ مشروعًا مبتدئًا مثل مستشعر الباب الموسيقي وتنقله إلى المكتبة الجديدة.

يشارك يشارك سقسقة بريد الالكتروني 5 نصائح لزيادة كفاءة أجهزة VirtualBox Linux الخاصة بك

هل سئمت من الأداء الضعيف الذي تقدمه الأجهزة الافتراضية؟ إليك ما يجب عليك فعله لتعزيز أداء VirtualBox الخاص بك.

اقرأ التالي
مواضيع ذات صلة
  • افعلها بنفسك
  • برمجة
  • فطيرة التوت
  • بايثون
  • GPIO
نبذة عن الكاتب إيان باكلي(216 مقالة منشورة)

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

المزيد من Ian Buckley

اشترك في نشرتنا الإخبارية

انضم إلى النشرة الإخبارية لدينا للحصول على نصائح تقنية ومراجعات وكتب إلكترونية مجانية وصفقات حصرية!

انقر هنا للاشتراك