क्या मोनो के साथ रास्पबेरी पाई पर .NET एप्लिकेशन चलाना संभव (और संभव) है ?
यदि हां, तो वे कितनी अच्छी तरह से चलते हैं? एक बुनियादी जीयूआई प्रयोग करने योग्य है, या खराब प्रदर्शन वास्तविक रूप से कमांड लाइन अनुप्रयोगों के लिए इसे प्रतिबंधित करता है?
क्या मोनो के साथ रास्पबेरी पाई पर .NET एप्लिकेशन चलाना संभव (और संभव) है ?
यदि हां, तो वे कितनी अच्छी तरह से चलते हैं? एक बुनियादी जीयूआई प्रयोग करने योग्य है, या खराब प्रदर्शन वास्तविक रूप से कमांड लाइन अनुप्रयोगों के लिए इसे प्रतिबंधित करता है?
जवाबों:
इसी तरह का एक स्टैकऑवरफ्लो सवाल है, रास्पबेरी पाई पर मोनो । हालाँकि, अपने स्वयं के शोध के माध्यम से, मैं .NET के लिए कुछ भी विशेष नहीं पा सका हूँ, बल्कि केवल C #।
आप निष्पादित करके एक डेबियन डिस्ट्रो पर APT का उपयोग करके रनटाइम स्थापित कर सकते हैं :
$ sudo apt-get install mono-runtime
आप यह भी मान सकते हैं (आपके पास कुछ प्रकार के GUI जैसे LXDE) एक धीमी मोनो आईडीई स्थापित करें:
$ sudo apt-get install monodevelop
के लिए आर्क लिनक्स एआरएम आप के माध्यम से क्रम स्थापित करने की आवश्यकता Pacman तो की तरह,:
$ sudo pacman -S mono
मोनो आईडीई को इसी तरह से स्थापित किया जा सकता है:
$ sudo pacman -S monodevelop
लोकप्रिय धारणा के विपरीत, VB.NET संकलित कोड कम से कम डेबियन के तहत रास्पबेरी पाई पर ठीक चलता है। apt-get install मोनो-वीबीएनसी और उसके बाद मोनो के लिए अपने VB exe को एक तर्क के रूप में चलाएं जैसे mono yourex.exe।
मैंने कोई प्रदर्शन बेंचमार्क नहीं किया है क्योंकि मैं एक प्रदर्शन गहन ऐप नहीं लिख रहा हूं लेकिन अब तक ठीक है।
.NET कोड जो .NET फ्रेमवर्क पुस्तकालयों का उपयोग कर रहा है, वह रास्पबेरी पाई पर नहीं चल सकता है क्योंकि इसे चलाने के लिए NETMF या CLR के एआरएम संगत संस्करण की आवश्यकता होती है । अब तक, Microsoft ने अभी तक एआरएम (WoA) पर विंडोज जारी नहीं किया है। एआरएम पर माइक्रोसॉफ्ट रिसर्च सीएलआर कार्यों के लिए प्रयोग 19 का संदर्भ लें ।
हालाँकि, .NET कोड (संदर्भ के बिना या .NET फ्रेमवर्क लाइब्रेरी का उपयोग किए बिना) मोनो का उपयोग करना संभव है क्योंकि मोनो में एआरएम उपकरणों के लिए सीएलआर है।
एआरएम (WoA) पर विंडोज पर जानकारी के लिए ARM प्रोसेसर आर्किटेक्चर के लिए विंडोज का निर्माण भी देखें ।
मुझे मोनो के साथ काम करने के लिए एक कमांड लाइन .NET एप्लिकेशन मिला है। ऐप मूल रूप से पोर्ट फॉरवर्डिंग के लिए कुछ कर रहा है, सीरियल UART के माध्यम से प्राप्त डेटा ले रहा है और इसे TCP / IP पर अग्रेषित कर रहा है। इसमें SerialPort, TcpListener, TcpClient और Socket .NET क्लासेस का उपयोग किया गया है, केवल SerialPort हैंडलिंग कोड के लिए आवश्यक मामूली बदलावों के साथ। मैं डेबियन सॉफ्ट फ्लोट ओएस का उपयोग कर रहा हूं।
प्रदर्शन के संदर्भ में, पहली बात जो मुझे सामने आई, वह थी कुछ डिबगिंग / ट्रेस कोड में कुछ महत्वपूर्ण मंदी। पीसी पर चलने की तुलना में यह 50x धीमा था।
इसलिए मैं आरपीआई को मौजूदा कोड पोर्ट करते समय कुछ प्रदर्शन इकाई परीक्षण लिखने की सलाह दूंगा।
यूनिट परीक्षण के लिए, NUnit RPI पर ठीक काम करता है ...
NUnit स्थापित करने के लिए:
sudo apt-get install nunit
चलाने के लिए:
nunit-console appUnderTest.exe