क्या Arduino पर Linux चलाना संभव है? यदि हाँ, तो किन कदमों और सीमाओं पर विचार करने की आवश्यकता है? यदि नहीं, तो ऐसी कौन सी सीमाएँ हैं जो इसे रोकती हैं?
क्या Arduino पर Linux चलाना संभव है? यदि हाँ, तो किन कदमों और सीमाओं पर विचार करने की आवश्यकता है? यदि नहीं, तो ऐसी कौन सी सीमाएँ हैं जो इसे रोकती हैं?
जवाबों:
लिनक्स एक बहुत ही जटिल ऑपरेटिंग सिस्टम है, लेकिन यह एक Arduino पर फिट होने में सक्षम हो सकता है। विचार करने के लिए बातें:
संक्षेप में, इसमें बहुत समय और प्रयास लगेगा, और शायद रोजमर्रा के उपयोग के लिए बहुत धीमा होगा। यदि आप वास्तव में Arduino Linux चाहते हैं, तो Yún देखें।
यह सिर्फ पर्याप्त रैम नहीं है। आपको इसे फ्लैश मेमोरी से बूट करने के लिए सिखाना होगा, जिसमें बूटलोडर को फिर से लिखना होगा।
आप इसके बजाय एक Arduino यूं या PCDuino का उपयोग कर सकते हैं ; जबकि "मानक" Arduinos ये समर्थन Arduino शील्ड और लिनक्स नहीं चलाते हैं।
या वहाँ हमेशा रास्पबेरी पाई है ।
संक्षिप्त जवाब नहीं है।
मूल रूप से, आपको बहुत अधिक RAM की आवश्यकता होगी तब भी सबसे बड़ा ATmega मूल रूप से होगा।
यह है बाहरी हार्डवेयर को जोड़ने के लिए, और ATmega कार्यक्रम एक अधिक शक्तिशाली सीपीयू अनुकरण करने के लिए है, और उस पर linux चलाने सैद्धांतिक रूप से संभव। हालांकि, एक सादे आर्डिनो पर, यह संभव नहीं है।
यह एक Arduino ड्यू पर लिनक्स को चलाने के लिए बहुत अधिक यथार्थवादी होगा, जो मूल रूप से एक AT91SAM3X8E सीपीयू है। हालाँकि, आपको अभी भी कुछ अतिरिक्त SRAM और स्टोरेज जोड़ना होगा।
वहाँ Arduino यूं की तरह चीजें हैं, लेकिन यह वास्तव में एक ATmega32U4 के रूप में एक ही पीसीबी पर एक पूरी तरह से अलग लिनक्स मॉड्यूल है, इसलिए मुझे नहीं पता कि क्या आप वास्तव में इसे एक arduino के रूप में गिन सकते हैं।
संभवतः प्रासंगिक: एम्बेडेड लिनक्स को चलाने में क्या लगता है?
एक बोर्ड है जिसे PCDuino कहा जाता है जो लिनक्स के कई प्रकारों जैसे कि डेबियन, उबंटू, ओपन WRT, LEDE, रास्पियन PIXEL (सिर्फ कुछ का उल्लेख करने के लिए) चला सकता है। यह बोर्ड मूल Arduino नहीं है, बल्कि Arduino AtHeart है , और LinkSprite द्वारा बनाया गया है ।
Arduino में कुछ बोर्ड होते हैं जो लाइनिनो नामक लिनक्स के एक संस्करण को चलाने का समर्थन करते हैं :
यह कई साल पुराना है, लेकिन हो सकता है कि अधिक प्रासंगिक के रूप में Arduinos अधिक RAM और 32 बिट ATMEga AVRs प्राप्त करते हैं, आदि यहाँ एक स्पष्ट समस्या है जो विशेष रूप से सबसे लोकप्रिय उत्तर में नहीं है। Arduino एक AVR MICROCONTROLLER का उपयोग करता है, एक माइक्रोप्रोसेसर नहीं। यह एक प्रमुख कारण है कि लिनेक्स का कोई बंदरगाह नहीं है। माइक्रोकंट्रोलर्स को एक विशिष्ट कार्य करने के लिए डिज़ाइन किया गया है, ऐसे अनुप्रयोग जहां इनपुट और आउटपुट के संबंध को अच्छी तरह से परिभाषित किया गया है। माइक्रोप्रोसेसरों को ऑपरेटिंग सिस्टम पर विभिन्न प्रकार के ऐप चलाने के लिए डिज़ाइन किया गया है। याद रखें, शुरुआत से, लिनक्स को एक स्मृति प्रबंधन इकाई की आवश्यकता थी और 8088 या 286 पीसी पर नहीं चल सकता था। तब μClinux था, जिसने मूल रूप से पाम पायलट के लिए एम्बेडेड 68k प्रोसेसर के मोटोरोला ड्रैगनबेल परिवार को लक्षित किया था। यह कभी विशेष सफल नहीं था। आपके पास लिनक्स की तुलना में फ्रीडोस या यहां तक कि मिनीक्स को पोर्ट करने में अधिक सफलता हो सकती है, शायद असेंबलर में कुछ हो, लेकिन माइक्रोकंट्रोलर पर ओएस को संकलित करना बहुत ही अव्यावहारिक है। शायद यह एक चुनौतीपूर्ण शैक्षणिक समस्या है,
यह संभव है, हालांकि यह एक दर्द होगा क्योंकि आपको इसे सी में लिखना होगा (अतिरिक्त हार्डवेयर का उल्लेख करने की आवश्यकता नहीं है जैसे कि एसडी कार्ड शील्ड और अतिरिक्त मेमोरी चिप (एस)) ओन्टास की तरह कुछ, एक कर्नेल जिसमें मैंने लिखा था Arduino के लिए C, यह मदद करेगा क्योंकि इसमें ड्राइवरों को जोड़ने के लिए समर्थन है, शून्य लूप फ़ंक्शन रिपीट धीमी बनाने की कीमत पर। (यह उतना बड़ा सौदा नहीं है जितना आपको लगता है कि यह हो सकता है) (ओंटस अभी भी विकास के अधीन है और हर समय नई सुविधाएँ जोड़ी जाती हैं)