面向对象开发方式的开源硬件--.NET Gadgeteer

提及.NET Gadgeteer,不得不先说一下.NET Micro Framework,虽然.NET Micro Framework已经有十几年的发展历史了,可是在全球范围内,.NET Micro Framework的知名度,远远低于它的近亲.NET Framework和.NET Compact Framework,其缘由值得探究。php

     .NET Micro Framework仅从名字上理解,就是一个框架,和.NET Framework还有.NET Compact Framework应该没有什么大的不一样,可是.NET Micro Framework有本身的特点,就是自启动功能,也就是不须要操做系统也能运行。这个特点将.NET Micro Framework逐渐演化为一个操做系统的角色。恰是这一点,在.NET Micro Framework早期发展过程当中,愈来愈显得没有优点和特点。程序员

     早期的.NET Micro Framework并无直接对第三方开放,而是做为微软.NET全战略的一环,以.NET Micro Framework为基础,推出一系列产品。目前比较火热的可穿戴设备,好比智能手表。其实.NET Micro Framework为核心的第一代产品就是智能手表,早在2003年的拉斯维加斯的Comdex贸易展上,比尔盖茨就曾亲自戴着智能手表进行过推广。这项以.NET Micro Framework为核心发展起来的技术叫MSN Direct,除了手表产品外,还有能够预报天气的咖啡壶,GPS导航器等产品。编程

     以.NET Micro Framework为核心的第二代产品是SideShow,曾以笔记本的第二屏、智能遥控器和智能键盘的面目出现,华硕、三星的笔记本就包含这样的SideShow显示屏。框架

     可是不管是MSN Direct,仍是SideShow,其产品并不成功,这和微软早期强制推广.NET战略相关的,由于基于.NET技术开发此类产品,虽然开发比较快,可是对硬件资源需求比较高,其.NET托管代码相比原生C++代码,速度要慢许多。因此此类产品一旦批量生产,性价比确定比较低。最初微软也打算所有用.NET C#语言开发操做系统(好比Longhorn系统),后来事实证实这种作法是行不通的。ide

2009年起始微软开始调整.NET Micro Framework发展战略,首先以Apache 2.0 license的受权方式彻底开源.NET Micro Framework,并基于.NET Micro Framework推出第三代产品Netduino,微软这个思路实际上是仿照Arduino产品而作的,从产品命名还有实际硬件接口上,都是学习Arduino。我我的认为这个思路是对的,至少充分发挥了.NET Micro Framework优点,小巧,开发迅速,而且采用强大的Visual Studio进行程序开发和在线调试,让全部的.NET程序员很容易进入到嵌入式领域进行相关开发,这不得不说在软硬件开发结合愈来愈紧密的时代,对.NET程序员是一个福音。工具

     而其后推出的基于.NET Micro Framework技术的.NET Gadgeteer产品更是充分发挥了.NET Micro Framework优点,在Netduino产品的基础上,更上一层楼,青出于蓝而胜于蓝,彻底演化成具备微软本身特点的产品。特别是微软定义的20种.NET Gadgeteer接口类型,应该是微软为工控领域制订OPC技术标准以来,最重要的一个接口标准。学习

     更具特点的是硬件拖拉可视化编程。在DOS时代咱们开发一个界面程序,能够说是摸着石头过河,边写代码,边运行测试,以确认相关界面的位置是否合适。Windows平台下最初的Visual Basic等可视化编程工具,让咱们的界面开发带入一个新时代,每一个功能模块都被封装为一个控件,经过可视化拖拉的方式,设计界面,让咱们的界面开发提高到一个新的水平。同理,咱们以软件界面开发的眼光审视目前的硬件开发,其实发现,开发模式仍处在DOS时代,每外接一个功能模块,都须要咱们的程序员匠心独运,当心翼翼分配相关的Pin脚,并用心开发相关驱动,最终经过应用程序调用底层接口,进行数据交互。测试

     而.NET Gadgeteer的开发环境,让咱们抛弃了这些琐碎和繁杂的步骤,视每一个外接模块为一个控件,经过拖拉方式,让核心主板和这些模块相连,自动完成接口初始化、模块初始化等工做。留给咱们所作的,就是一些业务逻辑的实施和完善,这是硬件开发领域的面向对象编程,是一个具备里程碑意义的硬件开发变革。ui

     有了这些特点.NET Gadgeteer已经和Netduino、Arduino等相关DIY产品不一样,跳出了仅仅是学习硬件,电子产品小制做的范畴。再结合目前的发展的如火如荼的3D打印技术,.NET Gadgeteer已经成为快速制做最终产品最好的选择(特别是小批量、个性化产品)。在物联网发展迅猛的今天,.NET Gadgeteer更是能够大显身手,能够方便接入各类传感器模块,并把相关数据上传到云端。spa

 

【说明】以上内容摘自译著《玩转.NET Gadgeteer电子积木》上的译者序,目前该书已经出版,详情能够单击下面的连接:

http://www.yfiot.net/forum.php?mod=viewthread&tid=1977&extra=page%3D1

相关文章
相关标签/搜索