面向對象開發方式的開源硬件--.NET Gadgeteer

>>>  技術話題—商業文明的嶄新時代  >>>

     說起.NET Gadgeteer,不得不先說一下.NET Micro Framework,雖然.NET Micro Framework已經有十幾年的發展歷史了,但是在全球范圍內,.NET Micro Framework的知名度,遠遠低于它的近親.NET Framework和.NET Compact Framework,其原因值得探究。

     .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系統),后來事實證明這種做法是行不通的。

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的開發環境,讓我們拋棄了這些瑣碎和繁雜的步驟,視每個外接模塊為一個控件,通過拖拉方式,讓核心主板和這些模塊相連,自動完成接口初始化、模塊初始化等工作。留給我們所做的,就是一些業務邏輯的實施和完善,這是硬件開發領域的面向對象編程,是一個具有里程碑意義的硬件開發變革。

     有了這些特色.NET Gadgeteer已經和Netduino、Arduino等相關DIY產品不同,跳出了僅僅是學習硬件,電子產品小制作的范疇。再結合目前的發展的如火如荼的3D打印技術,.NET Gadgeteer已經成為快速制作最終產品最好的選擇(特別是小批量、個性化產品)。在物聯網發展迅猛的今天,.NET Gadgeteer更是可以大顯身手,可以方便接入各種傳感器模塊,并把相關數據上傳到云端。

 

【說明】以上內容摘自譯著《玩轉.NET Gadgeteer電子積木》上的譯者序,目前該書已經出版,詳情可以單擊下面的鏈接:

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

以前的一篇博客文章《Microsoft .NET Gadgeteer 簡介及其它

NetDIY智能主控(簡介:http://blog.csdn.net/yfiot/article/details/18970109)硬件簡單擴展以后也可以變身成為.NET Gadgeteer主板。


葉帆工作室 2014-07-10 15:32:28

[新一篇] 程序員找女朋友的技術攻略(實現過程篇)

[舊一篇] 設計模式總結 樹上月
回頂部
寫評論


評論集


暫無評論。

稱謂:

内容:

驗證:


返回列表