今天读Oreilly.Getting.Started.with.the.Internet.of.Things.May.2011时,屡见Netduino Plus,不知为何物。一查原来是类似于Arduino的开放源代码软硬件平台。脑震荡上的这篇文章对Netduino和Arduino作了对比。

之前在《为什么Google选择Arduino很重要》中提到过Netduino,Phillip Torrone大胆预测它将会成为Window Phone 7+以后的“ADK”。今天我们就来了解一下Arduino的这位表哥,做个对比。

前言

和Arduino一样,Netduino也是开源的,价格也不高(标准版$30-$35,Arduino Uno:$32.95)。由于基于微软的.NET Micro Framework, Netduino只支持C#。与Arduino本质的不同是Netduino是基于ARM的。Arduino所用的ATmega328/ATMega8U2是标准的16MHz的8位处理器,而Netduino所用的是Atmel的32位ARM7,频率48MHz。其实现在很多笔记本也都由x86改用了ARM。夸张点说这两者的对比就像自行车跟卡车放一起,128K内存(包括.NET runtime, Arduino只有32K),60K RAM(Arduino:2K),Netduino就是更快,更高,更强。

外观

Netduino沿用Arduino架构,板的大小,电源接口,USB接口都和Arduino相同。USB改进了Arduino的B型USB,改成了大多手机上采用的mini USB。有同样的复位按钮,电源LED。pin13也有LED,但位置不一样。RX和TX没有LED。

开发环境

Netduino的IDE就是Visual Studio,编程语言是C#,这对于熟悉C#的人是个大好的消息,这里值得一提是Netduino对仿真和在线调试(in-circuit debugging)都支持, 也就是说你可以在代码里随意设置断点进行调试,而在Arduino环境下,你无法调试。另外一点,C#本身语言的特点,让代码更容易阅读,还支持事件机制!

能跟Arduino直接替换?兼容Arduino扩展板?

答案是否定的。主要原因是Netduino的内部电压与Arduino不同。

名称
区别

芯片电压
Netduino的CPU运行电压是3.3V,不像Arduino是5V

Digital I/Os
0V 到 3.3V, 不是5V.

Analog Inputs
不能高于3.3V!

PWM 输出
PWM 常被当做模拟输出用。同样最高电压平均是3.3V,而不是5V。

Libraries
与Arduino库不兼容,如果要用就要用C#重写了。

USB口
mini USB connector

I/O 电流
CPU最大驱动8mA电流,比Arduino小。

CPU
Netduino:32位Atmel ARM vs. Arduino:8位 ATmega

频率
Netduino:48MHz vs. Arduino:16MHz

内存
Netduino:128K vs. Arduino:32K

RAM
Netduino:60K  vs. Arduino:2K

EEPROM
Netduino没有

在线调试/In-circuit debugging
Netduino有,Arduino没有

仿真/Emulation
Netduino有,Arduino没有

价格
Arduino Uno 差不多$30, Netduino标准版是 $35

更多

Netduino除了标准版之外,还有Netduino plus($60)和Netduino mini($30)版本,Netduino plus直接板载了网络模块和Micro SD卡槽,Netduino mini类似Arduino Mini,大大缩小了大小。

总结

通过以上的对比,可以说Netduino的确是个潜力股,随着社区力量的贡献,libraries,扩展板,代码实例会增多,然后又是一个诱人的生态系统了。假如你有以下几类需求的话,Netduino会是你不错的选择:

  • 喜欢,习惯或者精通C#和Visual Studio开发环境
  • 项目代码量很大,系统复杂,希望有debugging环境
  • 追求性能,更快,更强

但如果你迷恋Arduino免费庞大的扩展库、多样的扩展板,海量的教程,你还是好好搞Arduino吧。

参考

Netduino Site
Netduino Getting Started PDF
Atmel Microcontroller Data
Atmel Microcontroller Full Datasheet
Netduino Schematic
Netduino Forums

Microsoft Visual C# Express 2010
.NET Micro Framework SDK v4.1
Netduino SDK v4.1 (32-bit)
Netduino SDK v4.1 (64-bit)
.NET Micro Framework Reference

该文不完全参考翻译自: http://vanceswers.wordpress.com/2010/11/19/netduino-vs-arduino/

原文地址:脑震荡:http://www.naozhendang.com/
本文链接地址: Netduino对比Arduino