क्या मुझे नेटडूइनो या अरडूइनो खरीदना चाहिए?


17

मैं कुछ मजेदार होम हॉबी प्रोजेक्ट्स के लिए नेटड्यूइनो खरीद रहा हूं।

क्या आप में से किसी ने इसका इस्तेमाल किया है और आपका अनुभव कैसा रहा?

मैं बजाय Arduino या FreeDuino रेंज (या कुछ पूरी तरह से अलग) को देखना चाहिए?

मैंने अपने सी # ज्ञान के कारण नेटड्यूइनो से चिपके रहने का फैसला किया, लेकिन यह कोई आवश्यकता नहीं है।

धन्यवाद

पुनश्च। मुझे यकीन नहीं है कि यह समुदाय विकि से संबंधित है या नहीं (मार्गदर्शन की सराहना की गई है)।


5
आप बोर्ड के साथ क्या करना चाहते हैं? जो आपकी पसंद को प्रभावित करेगा।
बजे टॉबी जाफ़े

3
NetDuino पर ARM7 माइक्रोकंट्रोलर और Arduino पर 8-बिट AVR पूरी तरह से अलग वर्ग में हैं। यह ऐसा है जैसे आप पूछ रहे हैं कि सर्वर या नेटबुक खरीदना है या नहीं। हालांकि, आप एक बीमार-अनुकूल VM चलाकर अपने सर्वर को धीमा कर रहे हैं - प्रदर्शन समान होगा, और आप एक ही कार्य के लिए दोनों टूल का उपयोग कर रहे हैं। क्या आपको वास्तव में अमूर्तता की परत की आवश्यकता है?
केविन वर्मर

@reemrevnivek - "बीमार-अनुकूल" उह ... यह अमूर्तता की एक परत है, लेकिन यह निश्चित रूप से बीमार नहीं है (और एक vm, वास्तव में, या तो नहीं)।
कॉनर वुल्फ

2
@ फ़ेक नेम ऐसा लगता है जैसे netduino (TinyCLR) में JIT कंपाइलर नहीं है। इसलिए, यह है एक वी एम / दुभाषिया। tinyclr.com/faq/#13
टोबी जाफी

1
VMs वे हैं जो स्मालटाक, जावा, पायथन आदि ... पर चलते हैं। इसका मतलब है किसी भी अमूर्त मशीन, "नंगे धातु" से अलग एक निर्देश सेट चलाना। सिर्फ एक वर्चुअलाइज्ड पीसी नहीं।
जो रॉबर्ट

जवाबों:


16

मैं C # से प्यार करता हूं और Netduino के पक्ष में बहुत मजबूत कारक होने के लिए Visual Studio के साथ C # में विकसित होने के उत्पादकता लाभ पाता हूं। मैं पूह-पूह नेटडूइनो नहीं करूँगा क्योंकि "सी # माइक्रोकंट्रोलर / एम्बेडेड वातावरण के लिए नहीं है" जैसा कि अन्य उत्तर यहाँ इंगित करते हैं।

आप बहुत मज़ेदार प्रोजेक्ट बना सकते हैं और विभिन्न भौतिक इनपुट्स और आउटपुट डिवाइस को नेटडिनो के उपयोग से जोड़ने के बारे में बहुत कुछ सीख सकते हैं जैसा कि आप Arduino या "नंगे धातु" के साथ कर सकते हैं और AVR, PIC, या अन्य माइक्रोकंट्रोलर्स के सीधे MCU प्रबंधन कर सकते हैं।

कहा कि मैं Arduino के साथ निम्नलिखित कारणों के लिए चिपका रहा हूँ:

  • बेहतर सामुदायिक समर्थन। Arduino में अभी और नमूने हैं, उदाहरण हैं, और एक बड़ा समुदाय जिसे आप आकर्षित कर सकते हैं।
  • Netduino के पास महंगी किट / प्रोटोटाइप दृष्टिकोण से परे जाने की कहानी नहीं है। अपने कोड को चलाने वाले दर्जनों माइक्रोकंट्रोलर की आवश्यकता के लिए एक इंटरैक्टिव कला प्रदर्शनी को लागू करने के लिए जा रहे हैं? Netduinos के लिए प्रत्येक $ 35 को शेल करने के लिए तैयार हो जाओ। Arduino के साथ आप Arduino पर प्रोटोटाइप कर सकते हैं और फिर $ 10 प्रत्येक के लिए AVR माइक्रोकंट्रोलर के साथ एक नंगे हड्डियों MCU- केवल समाधान पर लागू कर सकते हैं।

तो मैं कहूंगा कि यदि आपका C कौशल धूल भरा या कोई नहीं है, तो आप C # और विजुअल स्टूडियो को पसंद करते हैं, और बस कुछ शौक परियोजनाओं पर टिंकर करना चाहते हैं, जहां लागत को बड़ा मुद्दा बनाने की आवश्यकता नहीं होगी, Netduino पर जाएं।

यदि आप सी में सहज हैं, या कोड नमूनों और समुदाय की मदद से इसे प्राप्त करने में सहज हैं, और धातु के करीब रहना चाहते हैं और अंततः नेटड्यूइनो और अरुडिनो के "प्रोटोटाइप" दृष्टिकोण से दूर हो जाना चाहते हैं, तो जाएं Arduino शुरू करने के लिए।


1
मुझे पता है कि यह एक पुराना उत्तर है, लेकिन मैं यह जोड़ना चाहता था कि चूंकि नेटड्यूइनो पूरी तरह से ओपन-सोर्स (हार्डवेयर सहित) है, आप किसी से भी यूसी खरीद सकते हैं और नेटड्यूनो फर्मवेयर को फ्लैश कर सकते हैं। तो आप एक उत्पादन उत्पाद में नेटड्यूइनो प्लेटफॉर्म का उपयोग कर सकते हैं।
अनवेंचेक

"आपका सी # ज्ञान वैसे भी एक एम्बेडेड प्लेटफॉर्म पर बेकार के करीब है, इसलिए उस पर बहुत अधिक भार न डालें।" - क्या मूर्खतापूर्ण बात कहनी है। Netduino एम्बेडेड है, यह चट्टानें है, और यह C # है ...
जोन्सोमे बहाल मोनिका

11

आपका C # ज्ञान वैसे भी एक एम्बेडेड प्लेटफॉर्म पर बेकार है, इसलिए उस पर बहुत अधिक भार न डालें।

मैं एक Arduino या किसी एक क्लोन के साथ जाऊँगा, इसलिए नहीं कि .Net शैतान है, बल्कि इसलिए कि जो हर कोई उपयोग कर रहा है, इसलिए आपके पास लोगों के कोड की मदद और सहायता प्राप्त करने में बहुत आसान समय होगा।

एक बार जब आप अपने पैरों को गीला कर लेते हैं, तो हर तरह से शाखा लगाकर अलग-अलग सामान आज़माएँ।


क्या आप Arduino पर इस्तेमाल की जाने वाली वायरिंग भाषा की वकालत कर रहे हैं, या avrfreaks पर सी कोड को (और योगदान करने के लिए) बंद कर रहे हैं ?
केविन वर्मेयर

1
@reemrevnivek Arduino कुछ पुस्तकालयों के साथ सिर्फ C ++ है। मैं इसे "भाषा" के रूप में
वर्गीकृत नहीं करूंगा

व्हाट्स, वायरिंग का मेरा मतलब है।
केविन वर्मेयर

मुझे यह थोड़ा अजीब लगता है, मैं लगभग एक बार ले जाऊंगा "एक बार जब आप अपने पैरों को गीला कर लेते हैं, तो हर तरह से शाखा से बाहर निकलते हैं" के रूप में शुरू करने के लिए एक सुझाव के रूप में शुरू करने के लिए क्योंकि प्रोग्रामिंग तत्व एक मुद्दे के बहुत कम होना चाहिए - एक को अनुमति देना "अन्य" कौशल विकसित करना आवश्यक है।
मर्फ़

1
गलत टिप्पणी, dren.dk बस गलत है। मैं और कई अन्य पूरे दिन नेटड्यूनो और सी # का उपयोग करते हैं।
जोन्सोम ने मोनिका

7

वर्तमान में मेरे पास Arduino है, mbed है, और अंत में, विकास / हॉबी के उपयोग के लिए मेरे निपटान में एक Netduino है। मुझे Arduino के साथ काम करना कभी पसंद नहीं था, शायद इसलिए कि संपादक बहुत अच्छा नहीं है, और मैं निश्चित रूप से सी # डेवलपर के रूप में खराब हूं। जब मैंने अपनी मैबड प्राप्त की, तो मुझे उस पर विकास पसंद आया, बहुत बेहतर, लेकिन डिबगिंग अभी भी दर्दनाक है क्योंकि आपको यह जानने के लिए कि प्रिंट स्टेटमेंट का उपयोग करना है।

जब आप किसी उत्पाद का विकास कर रहे हों, या बस चारों ओर से पेंच लगा रहे हों, तो आपका अधिकांश समय पहली बार डिबगिंग में व्यतीत होता है ... और जब आप डिबगिंग कर रहे होते हैं, तो आप ब्रेकपॉइंट्स करना चाहते हैं। मेरे पास एम्बेडेड हार्डवेयर में बहुत मुश्किल समय है जो किसी भी प्रकार के ब्रेकपॉइंट की पेशकश नहीं करता है।

मुझे अभी तक जेटीजी के साथ अनुभव नहीं है, लेकिन मैंने अब तक (रैबिटकोर मॉड्यूल के अलावा) हर माइक्रो को ब्रेकपॉइंट के माध्यम से डिबगिंग की अनुमति देने की आवश्यकता है। मेरे आश्चर्य की कल्पना कीजिए जब मैंने आज अपने नेटडूइनो को झुका दिया और VS2010 में अपने कोड के माध्यम से एकल चरण में सक्षम था! मैं इससे बेहद प्रसन्न था।

व्यक्तिगत रूप से, मुझे पदचिह्न आकार, .NET और Microsoft की बुराइयों आदि के बारे में चिंता नहीं होगी, आदि। मैं केवल जल्दी और कुशलता से डिबग करने में सक्षम होने के बारे में परवाह करूंगा, इसलिए मैं सिर्फ सामान कर सकता हूं ।


सामान प्राप्त करना एक सबक है जो सबसे अच्छा तरीका सीखा जाता है

@kurtnelle ऐसा लगता है जैसे आप .NET MF का उपयोग नहीं करने की वकालत कर रहे हैं?
डेव

@ दिया, हां मैं हूं। यह केवल इसलिए है क्योंकि मैंने पुराने सी आधारित 8 बिट माइक्रोकंट्रोलर चीज़ की कोशिश की और बहुत प्रयास के लिए बहुत कम किया।

@kurtnelle लेकिन .NET MF के साथ मैं वास्तव में बहुत कम प्रयासों के साथ बहुत कुछ कर रहा हूं।
डेव

2
@ दिया, पहले से दुभाषिया प्रतिक्रिया के लिए खेद है; मैं .NET MF

5

लगभग 20 वर्षों के लिए एक बेसिकस्टैम्प उपयोगकर्ता और केवल 2 सप्ताह के लिए एक नेटड्यूइनो उपयोगकर्ता (मैंने कभी Arduino का उपयोग नहीं किया है), मैं कहूंगा कि NetDuino एक महान मंच है। दो मुख्य विशेषताएं जो मैं आनंद ले रहा हूं: विज़ुअलस्टडियो में प्रोग्रामिंग में आसानी (और ब्रेकप्वाइंट!) और बोर्ड पर हाय-रिज़ॉल्यूशन एडीसी प्रमुख कारण हैं। कुछ Arduino शील्ड्स जो मैंने स्पार्कफुन से आज़माए हैं उन्होंने नेटड्यूइनो के साथ पूरी तरह से काम किया है।


4

व्यक्तिगत रूप से, मैं C # या .NET का प्रशंसक नहीं हूं। मैं सी लुडाइट हूं। तो, मेरी पसंद का प्लेटफ़ॉर्म नीचे आता है जिसमें हार्डवेयर विशेषताएं हैं जो मैं चाहता हूं (फ्लैश, रैम, घड़ी की गति, एडीसी की संख्या, टाइमर की संख्या, आदि)।

कहा कि, मैं कल्पना कर सकता हूँ C # /। NET तेजी से प्रोटोटाइप के लिए उपयोगी है:

  • स्ट्रिंग हैंडलिंग बहुत सरल होगा
  • आरपीसी और वस्तु क्रमिकता शायद आसान है। मुझे संदेह है कि आप सी # ऑब्जेक्ट को एक सीरियल लिंक पर धक्का दे सकते हैं। आरपीसी संभावना "बस काम करता है"
  • पोर्टेबिलिटी - .NET एक वर्चुअल मशीन है, इसलिए कोड अन्य बोर्ड या पीसी पर भी चलना चाहिए
  • कचरा संग्रह कई एल्गोरिदम को लागू करने के लिए सरल बनाता है

बेशक, यह सब एक लागत पर आता है:

  • कोड पदचिह्न बड़ा है (विशेषकर जब आप मानक पुस्तकालयों में कारक हैं)
  • रैम का उपयोग अधिक है (सब कुछ एक वस्तु है, क्या सब कुछ टाइप किया गया है?)
  • कचरा संग्रहकर्ता वास्तविक समय के प्रदर्शन के साथ ध्यान केंद्रित करता है
  • यदि कोई हार्डवेयर सुविधा .NET लाइब्रेरी द्वारा समर्थित नहीं है, तो आप इसका उपयोग नहीं कर सकते हैं (जब तक कि आप स्वयं सुविधाओं को लागू नहीं करते हैं, जिसके लिए आपको C / C ++ की आवश्यकता होगी, टिप्पणियां देखें)

और, सबसे अधिक, एक एम्बेडेड प्लेटफॉर्म पर अपने सी # कौशल का उपयोग करके आप वास्तव में एम्बेडेड उपकरणों के बारे में कुछ भी नहीं सीख रहे हैं।

हाँ, यह काम पूरा हो जाएगा - लेकिन, उस में मज़ा कहाँ है?


मुझे आश्चर्य है कि एक नई सुविधा के साथ नेटड्यूइनो पर प्रयुक्त .NET पुस्तकालयों को पैच करना कितना कठिन है। ऐसा लगता है कि वे C ++ का उपयोग अपने .NET SDK के निर्माण के लिए कर रहे हैं, जिस तरह से SecretLabs.NETMF.Hardware / Stubs- स्रोत फ़ाइलों में नीचे । आह।
केविन वर्मेयर

@reemrevnivek मेरे विचार का मज़ा नहीं। यदि आप रनटाइम पैच कर रहे हैं, तो आप C / C ++
टोबी जाफ़े

1
@ जोबी - मैं खुद की तरह एक सी लुडाइट हूं, लेकिन मैं सिर्फ यह बताना चाहता था कि यह संभव है - आपने कहा "यदि कोई हार्डवेयर सुविधा .NET पुस्तकालयों द्वारा समर्थित नहीं है, तो आप इसका उपयोग नहीं कर सकते हैं", जो बिल्कुल सच नहीं है।
केविन वर्मेयर

1
क्या आपने वास्तव में कोई बेंचमार्क देखा है? मेरे लिए यह कल्पना करना कठिन है कि 16MHz 8bit 60MHz 32bit माइक्रो जैसी चीजों को उसी गति से चलाता है। खासकर जब से Arduino पुस्तकालयों ने चीजों को धीमा कर दिया है - इसमें से कोई भी वास्तव में गति के लिए अनुकूलित नहीं है। और यह वस्तुओं के रूप में अच्छी तरह से (यदि .NET में उपयोग नहीं किए गए हैं)। और क्या यह Arduino से बहुत अलग है? अगर एक Arduino लाइब्रेरी नहीं है जो एक सुविधा का समर्थन कर रही है ... आपको इसे स्वयं लागू करना होगा (सीधे हार्डवेयर रजिस्टरों आदि पर कॉल करना)
davr

@davr संपादित उत्तर
टोबी जाफ़ी

3

मैंने मब को पाया लिए एक अद्भुत विकल्प के रूप को ।

सॉफ़्टवेयर लाइब्रेरी अधिक सी ++ उन्मुख है, जो असाइनमेंट ऑपरेटर ओवरलोडिंग के सभी सिंथैटिक शुगर के साथ पूरी होती है। इसके अतिरिक्त, एक प्रणाली ऐसी स्थापित की जाती है, जिसमें उपयोगकर्ता कोड पुस्तकालयों को प्रकाशित और दस्तावेज कर सकते हैं, जिन्हें तब आसानी से खोजा जा सकता है और परियोजनाओं में आयात किया जा सकता है।

एक और अच्छी सुविधा डिवाइस को यूएसबी स्टिक के रूप में इलाज करने की क्षमता है, और बस डाल दिया .bin फाइलों को सीधे ड्राइव पर रखें।

दुर्भाग्य से, IDE arduino की तुलना में है। इसके अलावा, यह ऑनलाइन है । यह दोनों वास्तव में अच्छा है (किसी भी पीसी पर इस्तेमाल किया जा सकता है, किसी भी इंस्टॉलेशन की आवश्यकता नहीं है), और वास्तव में खराब (आसानी से इंटरनेट कनेक्शन के बिना पुन: कॉन्फ़िगर नहीं किया जा सकता है)।

बोर्ड की लागत $ 60 है, लेकिन उनके पास एक प्रायोजन योजना है, जहां वे दिलचस्प परियोजनाओं के लिए बोर्ड को दान करेंगे, बशर्ते प्रगति को प्रलेखित किया गया हो और स्रोत कोड सार्वजनिक किया गया हो।


मुझे प्रायोजन विचार पसंद है - मुझे उस पर गौर करना होगा।
डेव

2

मैं मुख्य रूप से C # डेवलपर हूं। मैंने स्रोत कोड की उपलब्धता के कारण नेटडूइनो के बजाय एक Arduino खरीदा। Arduino इलेक्ट्रॉनिक ईंटों के साथ Netduino को एकीकृत करना आसान नहीं होगा क्योंकि आपको खरोंच से कुछ नमूनों को फिर से लिखना होगा।


2

जब 'C # एम्बेडेड प्लेटफॉर्म के लिए उपयुक्त नहीं है' पढ़ते हैं, तो याद रखें कि एक निश्चित उम्र से अधिक उम्र के लोगों ने पहले ही सुना है कि कम से कम एक बार 'C' के बारे में कहा और फिर अपने जीवनकाल में C ++ के बारे में ...

बेशक यह प्रोसेसर की अंतर्निहित क्षमताओं का स्मरणीय रूप से 'बेकार' है, लेकिन आपके निष्क्रिय लूप को 1000x से अधिक तेजी से चलाने की क्षमता की तुलना में आपको 10x से अधिक तेजी से ज़रूरत है, जिससे आपको कभी भी किसी को अमीर बनाने की ज़रूरत नहीं है।


निष्क्रिय लूप प्रासंगिक नहीं हैं। ऐसे कुछ MCU उपयोग होते हैं, जहां साइकिल की बात होती है, जैसे वीडियो सिग्नल कैप्चरिंग या जेनरेशन, अपना खुद का ऑसिलोस्कोप बनाना, इनपुट सिग्नल का वास्तविक समय FFT विश्लेषण और कई अन्य। आप इनके लिए C # भूल सकते हैं। दूसरी ओर, यदि आपकी आवश्यकताएं "छोटे पैकेज में सॉफ्टवेयर जैसे पीसी" बनाने की ओर अधिक हैं, तो C # और .NET MF बिल्कुल भी बुरा विकल्प नहीं हैं ...
Avra

2
... इस तरह के अनुभव के लिए मैं कुछ एआरएम बोर्ड आधारित कुछ लिनक्स चुनूंगा, लेकिन यह कुछ अन्य चर्चा का विषय है। ऐसा लगता है कि किसी के लिए सिर्फ C # पृष्ठभूमि के साथ एम्बेडेड दुनिया में प्रवेश करने के लिए, .NET MF एक बुरा पहला कदम नहीं है।
अवारा

1

यदि आप नंगे धातु को महसूस करना चाहते हैं और उदाहरण के लिए सीधे वीडियो सिग्नल उत्पन्न या कैप्चर करने में सक्षम हैं, तो यह वह जगह है जहां हर चक्र मायने रखता है और AVR / Arduino आपको ऐसा करने देगा। यदि आप उच्च स्तर की अमूर्तता, उच्च स्तर की प्रोग्रामिंग और डिबगिंग कम्फर्ट, कचरा संग्रहकर्ता चाहते हैं और इस तथ्य के साथ जी सकते हैं कि जैसे विंडोज में आप सब कुछ नियंत्रित नहीं करते हैं, तो नेटड्यूइनो या FEZ डोमिनोज़ चुनें। चूंकि दोनों ने अपने चूल्हा में एआरएम रखा है, इसलिए मैंने शर्त लगाई कि अगर आपको जरूरत है तो आप बोर्ड पर .NET म्यूचुअल फंड को मार सकते हैं और नंगे धातु एआरएम जीसीसी कोड को सीधे कुछ ग्रहण से आईडीई की तरह फ्लैश कर सकते हैं जैसे कि एक छोटे जेटीजी डीबगर की मदद से। थोड़ा छानबीन करो। समस्या यह हो सकती है कि अगर JTAG हेडर गायब है, तो आपको कुछ टांका लगाने की आवश्यकता होगी।


C और C ++ वीडियो के लिए पर्याप्त नहीं हैं। आपको उसके लिए

कम से कम 10 परियोजनाएं हैं जो सिर्फ सॉफ्टवेयर के साथ वीडियो बनाती हैं। अधिकांश बी / डब्ल्यू या ग्रे हैं, लेकिन केवल एवीआर सॉफ़्टवेयर जनरेट किए गए वीडियो के साथ रंग वाले और गेम सिस्टम भी हैं। ओएसडी परियोजनाएं भी मौजूद हैं। FPGA के बिना AVR के साथ कम रेस वीडियो फ्रेम कैप्चर करने के कुछ उदाहरण भी हैं। बस गूगल के आसपास ...
avra

जब मैं वीडियो कहता हूं तो मेरा मतलब है 1080p 24 बिट रंग। क्या एम्बेडेड C ++ ऐसा कर सकता है?

0

इलेक्ट्रॉनिक्स और प्रोग्रामिंग से एक बहुत लंबे अंतराल के बाद, मैं एक प्रोजेक्ट के कारण इसमें वापस आ गया हूं, मेरे एक बेटा विश्वविद्यालय में कर रहा है। मैंने इलेक्ट्रॉनिक्स सीखा जब ट्यूब टॉगल स्विच (सेट पता, सेट डेटा, लोड, स्टोर, बाइनरी में) और पंच कार्ड के साथ आदर्श और प्रोग्रामिंग थे। इन वर्षों में, मैंने प्रत्येक इलेक्ट्रॉनिक और प्रोग्रामिंग भाषा की उन्नति को सीखा है और उसका उपयोग किया है जिसमें बहुत अधिक प्रयास और समय लगा। नतीजतन, मैं माइक्रोकंट्रोलर्स में प्रगति के लिए बहुत आभारी हूं और वे अविश्वसनीय रूप से सस्ते हैं, जिसमें विकास बोर्ड जैसे कि अर्डुइनो, नेटड्यूइनो, आदि शामिल हैं। Arduino बनाम Netduino, आदि के बारे में तर्क, मुझे Microsoft बनाम Apple लड़ाई की याद दिलाते हैं जैसे कि GUI के रूप में कमांड लाइन। इससे कोई फ़र्क नहीं पड़ता है कि कौन सा प्लेटफ़ॉर्म, प्रोग्रामिंग लैंग्वेज, इत्यादि का उपयोग तब तक किया जाता है, जब तक वह परिणाम के लिए उपयुक्त हो।


-1

यदि .net MF ने ऐसी लाइब्रेरीज़ दीं जो कि शुद्ध मशीन / मेटल कोड क्या कर सकती हैं, ... तो एकमात्र अमूर्त (। नेट एमएफ) एक अच्छा बन जाता है। इसके अलावा अधिक पदचिह्न लेने और जीसी चलाने (जो इसे कुशल बनाना चाहिए ??)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.