首页 > 评测 > 基于.net平台的Wi-Fi开发板——netduino3 Wi-Fi评测

基于.net平台的Wi-Fi开发板——netduino3 Wi-Fi评测

.net   Wi-Fi   netduino   CC3100   STM32   
  • 作者:netlhx
  • 来源:21ic
  • [导读]
  • C#工程师的福音来了:Netduino 3 Wi-Fi是netduino的第三代产品,硬件开源。Netduino 3 Wi-Fi开发板使用STM32F427VI作为主控,同时使用TI CC3100作为网络接口,提供网络访问能力。

说白了,这是一种新的接口,给你更多的扩展接口,更快的速度,当然,前提条件是你的设备得符合go的要求!官方已提供了部分外设供选用。下面是一个使用GoBUS设备的效果图

8.jpg

图8:Go设备及连接

单从硬件方面来说,netduino 3 Wi-Fi算是配置非常合理。但它另一个有趣的地方是它的软件开发环境,这是一款基于.net平台的开发板!

说它有趣,是因为在嵌入式领域,差不多一直都是C的天地,C++有,但亦不多,这下C#程序员是不是要欢呼了!终于赶上了嵌入式的春天?当然还有Visual Studio这个最优秀的IDE。

都说喜欢一个东西不需要理由,但排斥一个东西则必定有它的理由。至少对我来说是这样子,Arduino是一个好东西,但它那个IDE实在太复古!

没错,netduino使用的平台就是.net,IDE就是Visual Studio。这对于C#工程师来说真是得心应手。所以在我们正式体验netduino 3 Wi-Fi之前,先来准备必要的开发环境。

首先安装Visual Studio,从微软的官方下载软件,推荐下载免费好用的社区版。虽然官方推荐的是Visual Studio 2013,咱还是喜欢用比较新的产品,下个VS2015吧,然后安装,next, next…。

9.jpg

图9:安装Visual Studio 2015社区版

接下来要安装.Net Micro Framework框架。开发人员可以在低功耗,低成本的ARM7,Cortex-M3及ARM9和Blackfin处理器上使用该框架(不需要MMU),所开发出来的软件仅需要几百Kbytes的RAM或Flash/ROM的存储空间。.NET Micro Framework技术可以应用到Windows Vista Sideshow、远程控制、智能家电、医疗电子、零售终端以及汽车电子等行业应用场景。因为.Net Micro Framework功能强大,并且能从C#.Net的PC开发快速进入,它几乎适用于所有嵌入式场合。支持.Net Micro Framework的产品成本。从http://netmf.codeplex.com/下载最新的软件,当前版本是V4.4。

10.jpg

图10:安装.NET Micro Framework

接下来要安装的.Net MF plug-in,这是一款插件,用来管理.Net MF。

最后要安装的就是netduino的SDK程序包了,这是netduino的底层封装,用于支持netduino系列硬件。

11.jpg

图11:安装Netduino SDK

这些都安装好后,实际连同netduino的硬件驱动也安装好了。现在可以上电,看看都有些什么好玩的东西。

使用附带的USB线连接开发板和netduino 3 Wi-Fi。因为可以使用USB接口给开发板上电,所以这时候开发板实际已经开始工作了。

不过这里有几点要注意的地方,一是要确认硬件驱动已安装并工作正常,因为接下来的体验就是编程及调试了。另外一个问题是如果在WINDOWS 10下开发的话,还要安装.net 3.5 sp1这个补丁包,否则在后面编程代码的时候通不过。笔者在这个上面折腾了很久,最后也是在官方论坛上爬文才找到的答案,现在免费将经验传授给你,不谢!

打开PC的设备管理器,确认netduino设备的存在。

12.jpg

图12:Netduino设备驱动

如果没有问题了,接下来就是写个简单的程序测试下。

启动Visual Studio,先new一个工程,按如下设置

13.jpg

图13:新建工程文件

待工程生成以后,打开项目管理器里的program.cs文件,这就是程序的代码文件了,先添加一点简单的逻辑,实现LED灯的闪烁功能,顺带体验一下netduino的开发流程。

在program.cs里添加代码,修改后完整的源文件内容如下

namespace NetduinoLED

{

public class Program

{

public static void Main()

{

// write your code here

OutputPort led = new OutputPort(Pins.ONBOARD_LED, false);

while (true)

{

led.Write(true);

Thread.Sleep(500);

led.Write(false);

Thread.Sleep(500);

}

}

}

}

  • 本文系21ic原创,未经许可禁止转载!

网友评论