我很想开始为外部设备和传感器编写托管代码。是否有任何可以使用.NET编码的设备?有什么建议吗?
编辑:我要做的主要事情是了解设备编程的工作原理。在我看来,没有比尝试做一些有趣和酷的事情更好的方法了。
答案 0 :(得分:19)
Lego Mindstorms NXT
答案 1 :(得分:14)
Netduino刚刚问世,它使用的是.NET Micro Framework: - > http://www.netduino.com/
答案 2 :(得分:11)
Coding4Fun: Blog& Developer Kit
答案 3 :(得分:8)
TinyCLR生成几个支持.Net Micro Framework的不同主板,最受欢迎的是Fez Domino:
FEZ(Freakin'Easy!)是一个运行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等未提供的许多功能:
- 基于Microsoft的.NET Micro Framework。
- 在72Mhz NXP ARM处理器上运行。
- 支持运行时调试(断点,变量检查,步进等)
- 使用Visual C# 2010 Express Edition进行开发。
- FAT,USB设备和USB主机等高级功能。
- 轻松升级到EMX等硬件。
- 开源硬件设计文件。
- 使用现有的护罩和支架板。
- 基于USBizi chipset(理想用于商业用途)。
- FEZ Mini BS2引脚输出兼容额外的I / O.
- FEZ Domino Arduino引脚输出兼容额外的I / O.
答案 4 :(得分:6)
答案 5 :(得分:3)
两种产品可以非常轻松地与外部设备进行交互:Phidgets和Serializer。 Phidgets附带一个简单的.NET API,包括各种硬件和软件传感器和控制器。对于很多很酷的Phidgets项目和一般的.NET硬件项目,请查看Coding4Fun Blog。
另一方面,Serializer面向机器人技术,但也提供了一个出色的.NET API。为了演示Serializer,Clint Rutkas(Coding4Fun的负责人之一)在Robot Magazine Issue 19中有一篇很棒的文章。
另一方面,TinyCLR在其FEZ(Freakin'Easy)系列中提供了三种不同的设备,可以使用.NET框架进行编程,并独立于PC运行,以与传感器和设备连接。 / p>
答案 6 :(得分:2)
您应该查看Arduino或其他变体 - 它可以与USB端口连接,控制器本身也可以用C风格语言编程。
然后,您可以(基本上)与您想要的任何传感器/设备/工具连接,并且您可以使用任何可以与USB连接的语言编写代码。
答案 7 :(得分:2)
答案 8 :(得分:2)
Microsoft .NET Micro Framework - > http://www.microsoft.com/netmf/default.mspx
答案 9 :(得分:2)
我有很多有趣的OCZ NIA编程。它本质上是EEG,允许您在软件中使用生物反馈。我写了一些代码,将你的alpha和beta脑波转换为MIDI和DMX,用于合成器和灯光控制。可能性无穷无尽。
它使用许多设备使用的USB HID,因此它是一个很好的介绍。在http://code.google.com/p/nia-brew/处有一些代码,你会发现OCZ NIA论坛对入门非常有帮助。
答案 10 :(得分:1)
列表将是巨大的,我没有看到为什么设备无法由.NET控制的任何原因。在不得已的解决方案中,使用DllImport和直接IoControl调用设备驱动程序(假设您知道接口)可以正常工作。
答案 11 :(得分:1)
我还没有尝试过这个,但我想做更多的硬件编程,而我正在考虑使用Tinkerforge。
来自Wikipedia page 的简短介绍(由我强调):
Tinkerforge是一个可堆叠的微控制器构建模块(Bricks)平台,可以控制不同的模块(Bricklets)。该 可以扩展构建块的主要通信接口 使用Master Extensions。 硬件可以通过外部控制 用C,C ++,C#,Object Pascal,Java,PHP,Python,Ruby编写的程序 和VB.NET通过USB或Wifi连接,并在Windows上运行, Linux和Mac OS X。这种非嵌入式编程方法消除了 典型的要求和限制(开发工具,有限 常规嵌入式的RAM和处理能力的可用性 软件开发(cfr Arduino)。 Tinkerforge硬件和软件 都是开源的,所有文件都托管在GitHub上。
据我所知,这比Arduino更高级。
我可以从使用Arduino中了解更多有关实际硬件编程的知识,但我不想/需要深入了解低级硬件编程 - 我只是想用硬件创建一些很酷的。
答案 12 :(得分:0)
已经another answer提到了USB导弹发射器...但是,那里链接的代码已经超过六年了,我无法使用my model。
所以我编写了自己的库(在.NET 4.0中):MissileSharp
对于任何感兴趣的人,完整的源代码是here。
这是我第一次尝试为硬件设备编写代码
出于学习目的,我查看了project中链接的the other answer的代码,以及可以从vendor's site下载的“官方”控制软件的代码({{3 - 源代码不是直接可用的,但软件是用.NET编写的,因此您可以使用Reflector,ILSpy或类似工具查看代码。
我使用direct link将实际命令发送到设备。
答案 13 :(得分:-1)
Arduino是我认为最好的之一。
答案 14 :(得分:-1)
我知道你说.Net,但Arduino是一个有趣的设备。 http://www.arduino.cc/