2010-07-08 26 views
43

我很想開始寫外部設備和傳感器的託管代碼。是否有任何可以用.NET編碼的設備?有什麼建議麼?可以在.NET中編程的酷硬件/設備?

編輯:我試圖做的主要事情是學習設備編程如何工作。在我看來,沒有比這樣做更好的方式,而不是嘗試做一些有趣和酷炫的事情。

+1

這應該可能是一個communitiy wikki,因爲沒有單一的答案。很好的問題。 – FrustratedWithFormsDesigner 2010-07-08 20:28:56

+1

它有一個答案,因爲我正在尋找一個我可以學習設備編程的人。 :-) – Achilles 2010-07-08 20:30:01

+1

我想有很多好的選擇。 – FrustratedWithFormsDesigner 2010-07-08 20:31:12

回答

6
+3

WTF!我笑着喝茶。接下來是什麼,「USB核反應堆」? – 2010-07-14 07:05:54

+0

@HeavyWave,現在你變得荒謬 – jlafay 2010-11-12 19:16:32

+0

將USB添加到核反應堆將使其複雜性和文檔量增加一倍。 – Kaz 2016-08-31 19:17:58

3

兩個產品,使超級容易與外部設備連接是PhidgetsSerializer。 Phidg​​ets帶有一個簡單的.NET API,包含各種硬件和軟件傳感器和控制器。對於很多很酷的Phidg​​ets項目和.NET硬件項目,請查看Coding4Fun Blog

另一方面,串行器面向機器人技術,但也帶有一個很好的.NET API。對於Serializer的演示,Clint Rutkas(Coding4Fun負責人之一)的Robot Magazine Issue 19中有一篇很棒的文章。另一方面,在他們的FEZ(Freakin'Easy)系列中提供了三種不同的設備,這些設備可以使用.NET框架進行編程,並且可以獨立於PC運行以與傳感器和設備進行連接。

1

該列表將是巨大的,我沒有看到任何爲什麼設備不能被.NET控制的原因。在最後的解決方案中,使用DllImport和直接IoControl調用設備驅動程序將會(假設您知道接口)運行良好。

+1

我認爲他是要求純粹管理API的 – 2010-07-08 20:21:29

+0

這是事實:我已經使用C#和System.IO.Ports編寫了一個完整的工業控制系統(使用電機,機器人,傳感器,攝像機,閥門的系統)。 SerialPort類。 – codekaizen 2010-07-08 21:18:35

2

你應該看看Arduino的或一些變種 - 它可以通過USB端口接口和控制器本身在C風格的語言進行編程。然後,您可以與(基本上)所需的任何傳感器/設備/工具進行接口連接,並且可以使用任何可與USB接口的語言編寫代碼。

+1

我想說這是問題的最佳答案。你不會找到很多(如果有的話)可以用.NET編程的嵌入式系統,但是你會發現很多可以與運行.NET的主機連接的嵌入式系統。 – rmeador 2010-07-08 20:38:22

+0

是的,我認爲(正如Peter Forss指出的那樣)Mindstorms NXT幾乎是「它」,就消費級別的東西而言,它可以用.NET進行編程。從來沒有使用過它,在什麼情況下,200美元+美元?如果你的預算是預算,我認爲〜30美元的Arduino可能是更好的選擇。 – 2010-07-08 21:05:01

2

我有很多有趣的編程與OCZ NIA的。它本質上是EEG,它允許您在軟件中使用生物反饋。我寫了一些代碼,將你的alpha和beta腦波轉換成MIDI和DMX以用於合成器和照明控制。儘管可能性是無止境的。

它使用許多設備使用的USB HID,所以這是一個很好的介紹。在http://code.google.com/p/nia-brew/有一些代碼,你會發現OCZ NIA論壇對於入門非常有幫助。

+0

看起來很酷。是否有NIA的API? – FrustratedWithFormsDesigner 2010-07-08 21:08:52

+1

不是正式的,但是我發給你的那個頁面右邊的代碼有着開始所需的所有代碼。具體而言,NiaSharpReader具有C#源代碼,您可以將其作爲一個很好的起點。 – Brad 2010-07-09 13:27:33

-1

Arduino是我認爲的更好的之一。

14

的Netduino剛出來的時候,它使用.NET Micro Framework的: - >http://www.netduino.com/

+1

我已經有了我的Netduino一小會兒了,我喜歡它。終於進入硬件而無需學習其他語言是很有趣的。 – UnkwnTech 2010-11-01 23:40:01

8

TinyCLR產生支持.NET Micro Framework的,最流行的是在Fez Domino幾個不同的板:

FEZ(該死的輕鬆!)是運行Microsoft .NET Micro Framework的一個微小的開放源碼板。這意味着,您可以使用免費的Microsoft Visual C#express下的C#編程語言更高效地編寫代碼。將FEZ Domino連接到其中一個屏蔽或多個可用組件,即可在幾分鐘內構建您的下一個項目。包括USB電纜。許多庫已經包含在FAT文件系統,線程,USB客戶端,USB主機,UART,SPI,I2C,GPIO,PWM,ADC,DAC等等中。

FEZ提供了Arduino的,BASIC STAMP所沒有的許多功能及其他:

  • 基於微軟的.NET Micro Framework的。
  • 在72Mhz恩智浦ARM處理器上運行。
  • 支持運行時調試(斷點,變量檢測,步進等)
  • 使用Visual C# 2010 Express Edition進行開發。
  • 高級功能如FAT,USB設備和USB主機。
  • 輕鬆升級到硬件,如EMX
  • 開源硬件設計文件。
  • 使用現有的防護板和支架板。
  • 基於USBizi chipset(理想用於商業用途)。
  • FEZ MiniBS2引腳與額外I/O兼容。
  • FEZ DominoArduino引腳與額外的I/O兼容。
0

已經有another answer提的USB導彈發射器......然而,代碼鏈接有超過六歲,我不能讓它使用my model工作。

所以我寫了我自己的庫(在.NET 4.0中):MissileSharp
任何有興趣,完整的源代碼是here

這是我第一次嘗試編寫硬件設備的代碼。
爲了學習的目的,我查看了project的鏈接代碼the other answer,以及可以從vendor's sitedirect link)下載的「官方」控制軟件的代碼 - 源代碼不是直接可用的,但軟件是用.NET編寫的,所以你可以用Reflector,ILSpy或類似的工具來查看代碼)。
我使用HidLibrary將實際的命令發送到設備。

1

Tinkerforge

我沒有嘗試這個,但我希望做一些更多的硬件編程,我想使用Tinkerforge。從Wikipedia page(由我強調)

短介紹

Tinkerforge是可堆疊的微控制器積木(磚)的平臺,可以控制不同的模塊(Bricklets)。可以使用主擴展來擴展構建塊的 主要通信接口 。 硬件可以通過外部控制,通過USB或Wifi連接在C,C++,C#,Object Pascal,Java,PHP,Python,Ruby 和VB.NET上編寫並在Windows上運行, Linux和Mac OS X.這種非嵌入式編程方法消除了傳統嵌入式軟件開發(cfr Arduino)的典型要求和侷限性(開發工具,有限的 RAM和處理能力的可用性) 。 Tinkerforge硬件和軟件 都是開源的,並且所有文件都託管在GitHub上。

據我所知,這比Arduino更高級別。
我大概可以從使用Arduino中瞭解更多關於實際硬件編程的知識,但我不想/需要深入瞭解低級硬件編程 - 我只是想用硬件創建一些很酷的

相關問題