面向對象開發方式的開源硬件--.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

相關文章
相關標籤/搜索