題:
我應該購買Netduino還是Arduino?
SetiSeeker
2010-10-28 19:11:53 UTC
view on stackexchange narkive permalink

我正在考慮為一些有趣的家庭愛好項目購買NetDuino。

你們中的任何人都使用過它嗎?您的經歷如何?

我應該看看Arduino還是而是FreeDuino範圍(或完全不同的東西)?

由於我的C#知識,我決定堅持使用NetDuino,但這不是必須的。

謝謝

PS。我不確定這是否屬於社區Wiki(感謝指導)。

您想對董事會做什麼?那會影響您的選擇。
NetDuino上的ARM7微控制器和Arduino上的8位AVR完全不同。就像您要詢問是購買服務器還是上網本。但是,您通過運行不合適的VM來降低服務器的速度-性能將相似,並且您將這兩種工具用於同一任務。您是否真的需要抽象層?
@reemrevnivek-“不適”,它是一個抽象層,但肯定不適合(也實際上不是vm)。
基本上,您以相同的價格獲得了相同的速度,但是一種編程方式比另一種編程方式容易得多。
@Fake名稱看起來netduino(TinyCLR)沒有JIT編譯器。因此,它*是* VM /解釋器。 http://www.tinyclr.com/faq/#13
@Fake名稱-正如Joby指出的,它*是* VM,我說不合適,因為您正在使用它與自定義硬件進行接口,而這並不是.NET的強項
我不知道解釋器被視為VM。不過,這是有道理的。
VM是運行Smalltalk,Java,Python等的對象。它表示任何抽像機器,運行的指令集與“裸機”不同。不只是虛擬PC。
十一 答案:
Pat James
2010-11-09 00:18:49 UTC
view on stackexchange narkive permalink

我喜歡C#,並且發現使用Visual Studio在C#中進行開發可以提高生產力,這是支持Netduino的一個非常重要的因素。我不會抱怨Netduino,因為“ C#不適用於微控制器/嵌入式環境”,如此處的其他答案所示。

您可以製作有趣的項目,並學到很多有關連接不同物理輸入和輸出設備的知識像使用Arduino一樣使用Netduino或使用“裸機”,並對AVR,PIC或其他微控制器進行直接MCU管理。

出於以下原因,我堅持使用Arduino:

  • 更好的社區支持。 Arduino可以提供更多的示例,示例和更大的社區供您借鑒。
  • Netduino並沒有超越昂貴的工具包/原型開發方法的故事。要實現一個需要數十個微控制器來運行您的代碼的交互式藝術展覽嗎?準備為Netduinos掏出$ 35美元。使用Arduino,您可以在Arduino上進行原型設計,然後使用AVR微控制器在僅基於MCU的裸機解決方案中實施,每個價格低於10美元。

所以我想說您的C技能是否塵土飛揚不管您是喜歡還是不喜歡,都喜歡C#和Visual Studio,並且只想修改一些業餘項目,而這些項目不需要擴展到成本成為更大問題的地方,那就去Netduino。

如果您感到舒適使用C語言,或者在代碼示例和社區的幫助下習慣使用C語言,並且想要更接近金屬知識,並希望最終擺脫Netduino和Arduino的“原型”方法,請使用Arduino入門

我知道這是個舊答案,但是我想補充一點,因為Netduino是完全開源的(包括硬件),所以您可以從任何人那裡購買uC並將Netduino固件刷新到其中。因此,您可以在生產產品中使用Netduino平台。
“無論如何,您的C#知識在嵌入式平台上幾乎是無用的,因此不要對此施加太大的重視。” -可笑的話。 Netduino是嵌入式的,它搖搖欲墜,它是C#...
dren.dk
2010-10-28 22:50:17 UTC
view on stackexchange narkive permalink

您的C#知識在嵌入式平台上幾乎是無用的,因此不要對此施加太大的壓力。

我會選擇Arduino或其中一個克隆,不是因為。網絡是魔鬼,但是因為這是其他人所使用的,所以您將獲得更多幫助和擺脫人們代碼的麻煩。

一旦弄濕了,一定會分支嘗試不同的東西。

您是在提倡在Arduino上使用Wiring語言,還是要在[avrfreaks](http://www.avrfreaks.net/)上使用C代碼(並為之貢獻)?
@reemrevnivek Arduino只是帶有某些庫的C ++。我不會將其歸類為“語言”-它是C ++,帶有頁眉和頁腳
糟糕,接線就是我的意思。
我覺得這有點奇怪,我幾乎會接受“一旦您弄濕了腳,一定要分支出去”作為與Netduino一起開始的建議,因為* programming *元素應該不那麼重要-允許一個需要發展“其他”技能的人。
不好的評論,dren.dk完全是錯誤的。我和許多其他人整天都在使用netduino和C#。
Dave
2011-01-05 21:45:44 UTC
view on stackexchange narkive permalink

我目前擁有一個Arduino,mbed,最後還有一個Netduino供我開發/業餘愛好者使用。我從來不喜歡使用Arduino,可能是因為編輯器不是很好,而且我肯定是C#開發人員的寵兒。當我收到mbed時,我非常喜歡這種形式的開發,但是調試仍然很痛苦,因為您必須使用print語句來確定發生了什麼。

在開發產品時,或只是搞砸,一開始您的大部分時間都花在了調試上……而在調試時,您希望擁有斷點。我很難回到不提供任何斷點的嵌入式硬件。

我還沒有使用JTAG的經驗,但到目前為止我所見過的每個微型芯片(除此以外) RabbitCore模塊)要求它允許通過斷點進行調試。想像一下,當我今天連接Netduino並能夠單步瀏覽VS2010中的代碼時,我會感到驚訝!我對此感到非常滿意。

我個人不會擔心腳印的大小,.NET和Microsoft的弊端等。我只關心能夠快速高效地進行調試,因此我可以把事情做好

完成工作是一個最好的教訓,這是最難的方法
@kurtnelle聽起來您在倡導不使用.NET MF?
@Dave,是的。這僅僅是因為我嘗試了舊的基於c的8位微控制器,並且花了很多功夫。
@kurtnelle,但是使用.NET MF,我實際上只需很少的工作即可完成很多工作。
@Dave,對先前的不當回應表示抱歉;我主張.NET MF
@kurtnelle :)例如!
@kurtnelle,您的第一篇博文與您的意圖不符,請注意...
沒錯,@samsmith,出來的是對的。
AlfredBr
2010-10-29 18:32:22 UTC
view on stackexchange narkive permalink

作為將近20年的BasicStamp用戶和僅2週的NetDuino用戶(我從未使用過Arduino),我想說NetDuino是一個很棒的平台。我喜歡的兩個主要功能是:VisualStudio中的易於編程(和斷點!)和板上的高分辨率ADC是主要原因。我從SparkFun嘗試的少數Arduino防護罩與NetDuino完美搭配。

Toby Jaffey
2010-10-29 00:31:38 UTC
view on stackexchange narkive permalink

就我個人而言,我不喜歡C#或.NET。我是C luddite。因此,我選擇的平台取決於我想要的硬件功能(閃存,RAM,時鐘速度,ADC數量,計時器數量等)。

也就是說,我可以想像C#/ .NET對快速原型製作很有用:

  • 字符串處理可能會更簡單
  • RPC,並且對象序列化可能很容易。我懷疑您只能通過串行鏈接推送C#對象。 RPC可能“行之有效”。
  • 可移植性-.NET是虛擬機,因此代碼應在其他板甚至PC上運行
  • 垃圾收集使許多算法更易於實現

當然,這都是有代價的:

  • 代碼佔用空間更大(尤其是當您考慮標準庫時)
  • RAM使用率更高(所有對像都是對象,是否都鍵入了?)
  • 如果.NET不支持硬件功能,則垃圾收集器可能會干擾實時性能
  • 庫,則不能使用它(除非您自己實現功能,而您需要C / C ++,請參見註釋)

並且最重要的是,使用C#

是的,它可以完成工作-但是,這樣做的樂趣在哪裡?

我想知道用新功能修補NetDuino上使用的.NET庫有多困難。看起來他們正在使用C ++來構建自己的.NET SDK,在SecretLabs.NETMF.Hardware / Stubs-[源文件]中找到了方法。嘆。
@reemrevnivek不是我的有趣主意。如果要修補運行時,則最好從C / C ++開始
@Joby-我像您一樣是C混蛋,但我只想指出這是可能的-您說“如果.NET庫不支持硬件功能,則不能使用它”,不太正確。
您實際上看到過任何基準測試嗎?我很難想像16MHz 8位與60MHz 32位micro的運行速度相同。尤其是因為Arduino庫也使速度放慢-它們都沒有真正針對速度進行優化。它也有對象(如果不如.NET中使用的對像那麼多)。與Arduino有很大不同嗎?如果沒有支持功能的Arduino庫...您必須自己實現(直接調出硬件寄存器等)
@davr編輯答案
“而且最重要的是,通過在嵌入式平台上使用C#技能,您實際上並沒有真正了解嵌入式設備。”您的意思是“老派”嵌入式設備,是嗎?我希望這些速度很快的32位ARM設備在我年輕的時候就可以使用。
Eric
2010-11-10 02:21:04 UTC
view on stackexchange narkive permalink

我發現 mbed可以很好地替代Arduino。

該軟件庫更面向C ++,並配有賦值運算符重載的所有語法。此外,還建立了一個系統,使用戶可以發布和記錄代碼庫,然後可以輕鬆地搜索它們並將其導入到項目中。

另一個好功能是可以將該設備視為USB記憶棒,並將 .bin 文件直接放到驅動器上。

不幸的是,IDE與arduino相當。另外,在線。這既非常好(可以在任何PC上使用,無需安裝),又真的很差(如果沒有Internet連接就不能輕鬆地重新編程)。

開發板的成本是60美元,但是他們有一項贊助計劃,只要記錄下進度並公開源代碼,他們將向有趣的項目捐贈董事會。

我喜歡贊助商的想法-我必須研究一下。
Jader Dias
2010-10-29 06:43:02 UTC
view on stackexchange narkive permalink

我主要是C#開發人員。由於源代碼的可用性,我購買了Arduino而不是Netduino。將Netduino與Arduino電子積木集成起來並不容易,因為您必須從頭開始重寫一些示例。

user1844
2010-11-09 02:09:34 UTC
view on stackexchange narkive permalink

在閱讀“ C#不適合嵌入式平台”時,請記住,年齡超過一定年齡的人至少聽說過有關“ C”的話題,然後再說一遍有關C ++的話題……

當然,這是對處理器基礎功能的巨大“浪費”,但是,使空閒循環運行的速度比所需的速度快1000倍,而不是比所需的速度快10倍,這種能力永遠不會使任何人變得富有。

空閒循環無關緊要。在某些重要的周期中使用MCU,例如視頻信號捕獲或生成,製作自己的示波器,對輸入信號進行實時FFT分析等。您可以為這些忘記C#。另一方面,如果您的需求更多地是要“只用小包裝製作類似PC的軟件”,那麼C#和.NET MF根本不是一個壞選擇。
...對於這樣的體驗,我寧願選擇一些基於Linux的嵌入式ARM板,但這是其他討論的主題。要點是,對於剛剛進入C#背景嵌入式世界的人來說,.NET MF根本不是一個糟糕的第一步。
avra
2010-11-09 14:04:13 UTC
view on stackexchange narkive permalink

如果您想感受裸機,例如能夠直接生成或捕獲視頻信號,那麼每個週期都很重要,AVR / Arduino可以讓您做到這一點。如果您想要更高級別的抽象,更高級別的編程和調試舒適性,垃圾回收器,並且可以忍受像Windows一樣無法控制一切的事實,那麼請選擇NetDuino或FEZ Domino。由於雙方都擁有ARM,因此我敢打賭,如果需要,您可以在板上殺死.NET MF,並藉助小型JTAG調試器直接從某些Eclipse(如IDE)中刷新裸機ARM GCC代碼。調查一點。問題可能是如果缺少JTAG標頭,則需要進行一些焊接。

C和C ++不足以用於視頻。您將需要使用Verilog :)
至少有10個項目僅使用軟件創建視頻。大多數是黑白或灰色,但是甚至有彩色的和僅帶有AVR軟件生成視頻的遊戲系統。 OSD項目也存在。也有幾個沒有使用FPGA的AVR捕獲低分辨率視頻幀的示例。只是谷歌周圍...
當我說視頻時,我的意思是1080p 24位彩色。嵌入式C ++可以做到嗎?
user3175
2011-02-27 11:33:43 UTC
view on stackexchange narkive permalink

經過很長一段時間的電子學和編程中斷,由於一個兒子在大學裡做的一個項目,我重新回到了那裡。我學會了電子學,那時電子管是常態,並且使用撥動開關(設置地址,設置數據,加載,存儲,二進制)和打孔卡進行編程。多年來,我已經學習並使用了每種電子和編程語言的進步,這需要大量的精力和時間。因此,我非常感謝微控制器的進步以及微控制器的便宜程度,包括Arduino,Netduino等開發板。有關Arduino與Netduino等的爭論使我想起了Microsoft與Apple之戰作為命令行vs GUI。只要使用適合結果的平台和編程語言等都無關緊要。

Vijay
2012-05-07 05:26:29 UTC
view on stackexchange narkive permalink

如果.net MF提供了能夠執行純機器/金屬代碼功能的庫,則...唯一的抽象(.Net MF)成為一個很好的庫。除了佔用更多資源並運行GC(這應該使它高效??)



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 2.0許可。
Loading...