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

原创 2014年04月16日 12:02:42

说起.NET Gadgeteer,不得不先说一下.NETMicro Framework,虽然.NET MicroFramework已经有十几年的发展历史了,但是在全球范围内,.NETMicro Framework的知名度,远远低于它的近亲.NET Framework和.NETCompact Framework,其原因值得探究。

.NET Micro Framework仅从名字上理解,就是一个框架,和.NETFramework还有.NET Compact Framework应该没有什么大的不同,但是.NETMicro Framework有自己的特色,就是自启动功能,也就是不需要操作系统也能运行。这个特色.NETMicro Framework逐渐演化为一个操作系统的角色。恰是这一点,在.NETMicro Framework早期发展过程中,越来越显得没有优势和特色。

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

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

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

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

而其后推出的基于.NET MicroFramework技术.NET Gadgeteer产品更是充分发挥了.NETMicro Framework优势,在Netduino产品的基础上,更上一层楼,青出于蓝而胜于蓝,完全演化成具有微软自己特色的产品。特别是微软定义20种.NET Gadgeteer接口类型,应该是微软为工控领域制订OPC技术标准以来,最重要的一个接口标准。

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

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

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

 

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

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

以前的一篇博客文章《Microsoft .NETGadgeteer 简介及其它

NetDIY智能主控(简介:http://blog.csdn.net/yfiot/article/details/18970109)硬件简单扩展以后也可以变身成为.NETGadgeteer主板。






面向对象深入总结

面向对象 一、类: 1. 属性注意点: 1. 关于属性值,可以声明属性并赋值,也可以声明属性先不赋值。如果不赋值则属性的初始值是  NULL。 2. 关于PHP中的类,属性必须是一...
  • guowenwen_0416
  • guowenwen_0416
  • 2016年09月08日 21:44
  • 566

从程序员到技术总监,分享10年开发经验

在中国有很多人都认为IT行为是吃青春饭的,如果过了30岁就很难有机会再发展下去!其实现实并不是这样子的,在下从事.NET及JAVA方面的开发的也有10年的时间了,在这里在下想凭借自己的亲身经历,与大家...
  • luxun2014
  • luxun2014
  • 2014年11月27日 20:15
  • 2120

Microsoft .NET Gadgeteer 简介及其它

Microsoft .NET Gadgeteer 为开发小型电子模块或嵌入式设备的用户,提供一个快速构建原型机的平台。它结合了面向对象编程的优点,提供一系列电子模块,可以快速地用这些模块进行计算机辅助...
  • yefanqiu
  • yefanqiu
  • 2010年10月28日 12:21
  • 9762

开源硬件的应用实例

最近我们给大家介绍了很多关于开源硬件的知识,不知道对您是否有用呢,今天我们将继续给大家介绍相关信息,以满足广大OSHW(开源硬件)爱好者的需求。 我们知道相对于以Linux为代表的开源软件阵营,...
  • WIZnet2012
  • WIZnet2012
  • 2012年01月06日 09:23
  • 1808

Android从启动到程序运行发生的事情

转载请注明出处  博客地址:http://blog.csdn.net/JonsTank2013/article/details/51118563  作者:李中权 前言 好久没有写博客了...
  • haluoluo211
  • haluoluo211
  • 2016年04月18日 17:06
  • 1472

《Kotin 极简教程》第7章 面向对象编程(OOP)(1)

第7章 面向对象编程(OOP) 最新上架!!!《 Kotlin极简教程》 陈光剑 (机械工业出版社) 可直接打开京东,淘宝,当当===> 搜索: Kotlin 极简教程 http://www.jia...
  • universsky2015
  • universsky2015
  • 2017年09月13日 14:34
  • 142

开源硬件介绍

相对于源代码开放的开源软件,开源硬件似乎今人费解。因为传统的硬件体系中没有数字化代码,何来开源?因此,开源硬件的开源内涵主要体现在开源文化中的开放、低成本、可二次开发与可任意裁剪上。开源硬件的开放不仅...
  • u013710265
  • u013710265
  • 2017年04月20日 15:12
  • 492

步入开源硬件智能机器人教育时代

本文系曾祥潘老师原创文章。写于2011年9月,原文章标题《基于开源硬件的中小学智能机器人实验室建设探索》。发表在《中小学信息技术教育》杂志2012年第1期。杂志编辑将标题改为《步入开源硬件智能机器人教...
  • longer44
  • longer44
  • 2013年01月20日 17:15
  • 1985

系统架构师成长之路(一)

系统架构师是近几年来在国内外迅速成长并发展良好的一个职业,它对系统开发和信息化建设的重要性及给IT业所带来的影响是不言而喻的。做为一个职场新人,如何发展成为架构师,架构师都需要具备哪些素质?...
  • sunlei1980
  • sunlei1980
  • 2016年05月07日 19:23
  • 6823

程序员成长规划

前言与目录 ·  前言 ·  目录 引言 ·  引言 ...
  • u013700340
  • u013700340
  • 2014年08月02日 11:59
  • 4352
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:面向对象开发方式的开源硬件--.NET Gadgeteer
举报原因:
原因补充:

(最多只允许输入30个字)