文/王嘉宇
縱橫江湖的王者
微軟的前三十年,就是一部不斷前進,不斷征服的曆史。自從Windows作業系統在商業層面擊敗喬幫主的麥金塔開始,微軟就開始了它帝國擴張的步伐。 在此期間,微軟以office為護城河,以Intel為盟友,不斷拓展其帝國的疆土。滅網景如砍瓜切菜,戰Google似虎鬥龍爭,王霸之氣令人敬畏。人言三十而立,可是微軟在度過自己而立之年後,卻結結實實的栽了個大跟頭。如果說在互連網領域的搜尋引擎之爭微軟還敗的不甘心的話,那麼上一個十年中在移動作業系統這個戰場上輸得就是心服口服。不僅如此,若非office這條護城河夠寬夠闊,微軟在案頭作業系統領域的鐵王冠能不能戴這麼穩當還很難說。
時間是個很有趣的東西,這不,微軟又迎來了一個十年輪迴的關鍵節點。十年前微軟的Windows Mobile被蘋果和Android打個了措手不及,在十年後的今天,微軟顯然不願意讓曆史在物聯網領域重演。Windows IoT正是在這種情形下誕生的。 Windows IoT是什麼
Windows IoT很有意思,它的目前版本是基於Windows10的一個精簡的核心,該核心針對微小裝置進行了最佳化。Windows IoT還支援UWP(Universal Windows Platform)編程介面以供開發人員擷取更強大的能力。 硬體要求
Windows IoT的硬體要求很高,在我看到的這些IoT作業系統裡屬於最高的,甚至比一些精簡過的Android裝置對硬體的要求都高。在是否配置顯示裝置這兩種情形下對硬體的要求分別如下: 無顯示裝置:256MB記憶體,2GB儲存; 有顯示裝置:512MB記憶體,2GB儲存。
這樣的硬體要求很讓人迷惑,這是為物聯網裝置準備的嗎。適用於什麼樣的物聯網裝置呢。同等硬體需求,我相信開發人員必然選擇Brillo甚至是僅僅做過最佳化的Android而不是微軟的產品。 開發板
Windows IoT的開發人員網站上羅列了一下現在可以上手應用的硬體開發板: 樹莓派2 樹莓派3 Dragonboard 410C Minnowboard Max
樹莓派在硬體發燒群體內已經大名鼎鼎自不待說,微軟也極力推薦開發人員使用該開發板。個中緣由我們不得而知,不過從微軟坑夥伴的傳統來看,樹莓派的一隻腳已經上了微軟的賊船,賊船上還有很多其他的硬體開發板。只是,恐怕樹莓派們期待的盛宴到頭來只是一枕黃粱。 開發人員網站
Windows IoT開發人員網站連結在這裡。很明顯,Windows IoT的開發人員網站與Brillo的開發人員網站是兩個風格。Brillo開發人員網站是現下互連網流行的極簡風格,Windows IoT開發人員網站則充滿濃鬱瓷片風格。 開發指南
在開發指南頁面,我們可以看到的是如下內容: 入門內容
主要包含兩類: 開發人員使用的開發環境搭建,毫無意外的是windows10版本。主要包括開發環境的下載以及配置。 開發人員目標裝置的環境搭建。這裡Windows IoT主要以樹莓派為介紹對象。重點講解了如何在目標裝置上安裝系統,物理串連開發板以及通過工具串連裝置。這裡介紹並連結了一系列的開發人員工具,上手程度並不難。 相容硬體
與Brillo類似的是,該頁面也提供了相容的硬體類型。不同的是,該頁面提供的硬體列表更詳細,包含了很多的外設裝置列表。不過並沒有提供裝置的購買連結。但是無傷大雅。相容的外設裝置主要包括如下類型: 相機裝置 溫濕度感應器裝置 氣壓感應器 三軸加速計感應器
...
在這一點上微軟確實有足夠的積累和經驗,為硬體開發發燒友提供了足夠多的外設。能夠讓人確信的是這些外設裝置會越來越豐富。 文檔和樣本
在這一點上,微軟再一次顯示了作為傳統作業系統廠商的經驗優勢。該頁面提供了很豐富的功能以及工具。還包括非常多的應用樣本。具體內容各位讀者可以轉到此頁面上詳細瞭解。這裡只提一些比較重要的特性: AllJoyn串連性 安全性 嵌入模式 Device Portal串連工具 總結 優勢 Windows平台豐富的開發工具以及開發人員的開發習慣是微軟的一項很大的優勢。 Windows IoT開發人員網站和開發指南都很友好,雖然我還沒有機會去使用樹莓派真正的做一下開發體驗,但是我看了這麼詳細的指南之後是非常樂意嘗試一下的,尤其是微軟在開發人員網站上還提供了樹莓派的購買連結。 開發人員指南頁面詳細的列出了硬體相容的外設裝置,可以吸引開發人員體驗開發效能更為豐富的裝置。這是很重要的一點。 劣勢 開發裝置要求的效能比較高,體驗的裝置主要是樹莓派等效能相對比較高的開發板。針對效能更低的一些裝置,並沒有明確的提供支援。 Windows IoT開發平台強制性的要求為Windows10版本。 互聯互連的責任全部放在了AllJoyn這個開發架構上。作業系統本身並不提供裝置自發現,自組網的功能。 樹莓派之類的開發板,供開發人員開發測試或者說玩票足夠,但是具體到工業生產上,這樣的劣勢可不是一點半點鐘。 從以下方面向微軟學習 豐富的外設裝置,更有利於開發人員體驗開發更豐富的功能。 開發人員網站內容清晰,對於開發人員的支援非常友好,所有的內容導向清晰,篇幅控制有效。 詳細的驅動開發指引,可以讓開發社區的開發人員提供自己對裝置驅動的貢獻。 此外,Windows IoT開發人員網站還提供了中文頁面,而且內容幾乎同步,相信其他語言的頁面也一定有,這一點也是值得我們學習的。我們自己的Huawei LiteOS開發人員網站也需要同步中英文版本。 結語
總的來說,微軟仍然有非常大的優勢,包括在開發工具方面,在裝置驅動相容性方面都有很多可以繼承的積累和能力。這些方面的能力,是微軟在物聯網作業系統領域可以仰仗的威力十足的武器。但是微軟的弱點在於它固有的傳統作業系統的理念阻礙了它在物聯網作業系統上的發展。物聯網裝置的核心能力是互聯互連,微軟在自己的作業系統上並沒有全力以赴的專註於這一點。至少從開發人員層面上看來,Windows IoT的互聯互連的能力非常依賴於AllJoyn這個開發架構。相比來講,google自己推出Weave顯然高出一籌。當然,Windows IoT對硬體的需求才是決定微軟IoT作業系統生態建設能否成功的第一要素。如果微軟無法在不遠的將來有效降低自身物聯網作業系統的硬體需求的話,那麼等待它的必然是曆史的重演。
最後我們必須注意到的一點就是,微軟在曆史上一系列坑夥伴的陽謀會讓很多人後背發涼。諾基亞轟然崩塌可是殷鑒不遠。 下回預告
下一回準備分析一下Zephyr這個今年剛剛由Linux基金會發布的物聯網即時作業系統。
(更多華為資訊請關注華為開發人員社區,華為自己的對外開放門戶:http://developer.huawei.com/cn/ict/ ,不要問我叫啥,別人都叫我雷鋒)