पाइथन GPIO API की तुलना करें और इसके विपरीत करें


11

मैं सिर्फ पाई से शुरू कर रहा हूं और अजगर में GPIO प्रोग्राम करना चाहता हूं। अब तक मैं पाँच पुस्तकालयों में आया हूँ:

इससे पहले कि मैं एक सीखने के लिए समय निकालूं, मैं जानना चाहता हूं:

  • यदि एक या दूसरे के लिए कोई सीमाएं हैं।
  • उनके बीच क्या महत्वपूर्ण उद्देश्य अंतर हैं।

2
ओह ~ डुप्लिकेट raspberrypi.stackexchange.com/questions/27334/...
spinkus

आप सही हैं, और यह संभवतः व्यक्तिपरक के रूप में बंद हो जाएगा। कोई आसान जवाब नहीं है। gpiozeroएक साधारण आवरण है, जो शुरुआती लोगों के लिए बनाया गया है। pigpioशायद सबसे शक्तिशाली है, हालांकि दस्तावेज़ स्केच है, और एक अनुभवी प्रोग्रामर के लिए अधिक उपयुक्त है। (मैं वायरिंगपीआई का उपयोग करता हूं cक्योंकि यह आसान है, लेकिन मेरे पास 40+ साल का अनुभव है।)
मिलिअवेज़

मेरा सुझाव है कि हम इस सवाल को राय-आधारित के रूप में बंद करें, जब तक कि हम नहीं चाहते कि हर एक व्यक्ति GPIO का उपयोग करके अपने अनुभव को उत्तर में साझा करे।
दिमित्री ग्रिगोरीव

जवाबों:


13

चेतावनी। मैं पिगियो का लेखक हूं इसलिए पक्षपाती होऊंगा।

एलिनक्स को देखकर आपको स्वाद मिल सकता है ।

RPi.GPIO सबसे पहले था और सबसे लोकप्रिय है। यह वह होगा जिसे आप सबसे अधिक बार देखते हैं।

RPIO RPi.GPIO पर बनाता है (इसका अर्थ है कि प्रतिस्थापन में प्लग होना) और कुछ क्षमताओं को जोड़ता है। विशेष रूप से यह एल ई डी और सर्वो और हार्डवेयर टाइम पल्स चेन के लिए उपयुक्त हार्डवेयर टाइम पीडब्लूएम को जोड़ता है। RPi.GPIO केवल सॉफ्टवेयर PWM प्रदान करता है जो एल ई डी में दृश्यमान चमक देता है और कहा जाता है कि यह सर्वो के जीवन को छोटा करता है। RPIO गितुब रेपो में उल्लिखित :

यह भंडार अब सक्रिय रूप से बनाए नहीं रखा गया है!

wiringPi पायथन, wiringPi के C कार्यक्षमता के पायथन में बहुत कुछ का एक बंदरगाह है। मैंने इसका उपयोग नहीं किया है और इसके बारे में ज्यादा जानकारी नहीं है।

पिग्‍पी पायथन पायथन के लिए पिगपियो की सी कार्यक्षमता का एक बंदरगाह है। RPIO.GPIO की तरह यह एल ई डी और सर्वो के लिए हार्डवेयर टाइम पीडब्लूएम और हार्डवेयर टाइमड पल्स चेन प्रदान करता है। पिगपियो की एक अनूठी विशेषता यह है कि स्रोत पर कई बार GPIO इवेंट होते हैं इसलिए किसी भी समय उद्देश्य के लिए पिगियो सबसे सटीक होने की संभावना है। पिगियो रिमोट पी को नियंत्रित करने के लिए एक नेटवर्क पीसी (विंडोज, मैक, लिनक्स) पर चल सकता है।

gpiozero उपरोक्त पुस्तकालयों में से किसी एक के आसपास एक सरलीकृत आवरण है। यह एक अंतिम छोर के प्रभाव में है जो अंतर्निहित कार्यान्वयन विवरण से उपयोगकर्ता को जितना संभव हो उतना दूर करने की कोशिश करता है। gpiozero (मुझे लगता है) फाउंडेशन ने पायथन स्टार्ट पॉइंट की सिफारिश की है। अगर gpiozero (मुझे लगता है) नेटवर्क पी पीसी (विंडोज, मैक, लिनक्स) पर चलता है, तो पिगियो बैकएंड है तो रिमोट पाई को नियंत्रित करने के लिए।

चेतावनी, 10 अन्य लोगों से पूछें और उनके पास 10 अलग-अलग विचार होंगे। सभी पुस्तकालयों के अपने उपयोग हैं। वे सभी उपकरण हैं। आपके लिए कौन सा सबसे अच्छा है यह इस बात पर निर्भर करता है कि आप किस तरह के कर्मकार हैं।


0

मैं आरपीआई.जीपीआईओ की सिफारिश करूंगा लेकिन जीपीआईओ शून्य शुरुआती लोगों के लिए सबसे अच्छा है लेकिन इसकी सीमाएं अधिक हैं। हालाँकि, मुझे दूसरों पर कोई ज्ञान नहीं है, लेकिन अगर मैंने उनके बारे में नहीं सुना है तो इसका मतलब यह नहीं है कि बाकी के रूप में अच्छा नहीं है।


GPIO Zero सब कुछ RPi.GPIO करता है, वहाँ कोई सीमाएँ नहीं हैं। पिगपियो में अधिक उन्नत विशेषताएं हैं जो अभी तक GPIO शून्य में कार्यान्वित नहीं की गई हैं, लेकिन यह जो भी समर्थन करता है, उसके लिए यह लाइब्रेरी के शीर्ष पर एक अच्छा एपीआई प्रदान करता है।
बेंत_नटाल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.