1. 程式人生 > >樹莓派與window 10組成的物聯網核心:讓人失望

樹莓派與window 10組成的物聯網核心:讓人失望

去年春天,微軟釋出了自己的window系統與物聯網系統的方案,該方案使用樹莓派和window 10組成物聯網的核心。樹莓派是一個與window完全不同的執行在ARM構架下的系統。是的,或許微軟決心離開桌面系統,構架一個數以十億計的物聯網平臺,或者用它來填補數以萬計的POS終端和ATM機留下的空白。

當window 10物聯網系統第一次釋出時,人們對這樣一個window實時系統抱著很大的希望。能夠執行真正的Windows應用程式在樹莓派上可是一個殺手級的特性。在樹莓派上執行Skype的視屏通話可是一個很Cool的方式。

Window 10物聯網核心並不非常像一個作業系統。它作為一個裝置,可以執行使用Windows API寫的應用,但是不能執行指令碼。如果你想控制多個裝置,每個程式都需要使用程式進行開發,如Visual Basic,JavaScript,C#,或者是Python。

Window 10物聯網核心的一個主要特性是網路互動性。當啟動樹莓派並指定一個瀏覽器後,它會呈現一個基於網際網路的介面。你能通過它檢測裝置是否連線,是否執行,並啟動新的應用程式。這被認為是一個基於網路特性的視窗控制面板。

雖然windows 10物聯網系統使用了HDMI作為輸出,但輸出的資訊不多。視訊輸出的能力暫時未被支援。這樣,一些數字裝置如POS機和ATM機可以使用window 10的物聯網系統,但對於通用計算機,最好使用其他的系統實現。

安裝

官方說法,安裝window 10的物聯網系統只能在已經安裝了window10系統的機器上執行。在GitHub上有一個ffu2img的專案,該專案使用python語言編寫,可以將微軟專門的FFU映象檔案轉換成IMG檔案,從而能夠在nix或者有Win32DiskImager的window系統上執行。

Window 10系統相對其他的windows系統來說是免費的,但執行windows 10物聯網核心的要求是將映象檔案放在SD卡中安裝並且只能監控使用物聯網核心的裝置。不知道為什麼這個系統不能提供一個IMG映象檔案。

當將映象檔案放到SD卡上之後,安裝windows 10物聯網系統核心就像樹莓派介紹的一樣簡單:將卡放進樹莓派的卡槽,連線乙太網電纜,並供電。不需要使用鍵盤和滑鼠,你幾乎不需要做什麼事,需要做的只是通過HDMI介面的監控輸出資訊,輸出資訊包括IP地址和USB裝置是否連線等。

你能對語言和網路設定等做一些修改。這裡也有一些教程和例子,比如連線到Visual Studio和點亮LED燈,但是例子不多。基本的使用windows 10物聯網核心的資訊僅僅是 網路資訊、裝置名稱、和一張樹莓派的圖片。

官方宣稱,樹莓派支援的Wifi模組只有官方宣佈的BCM43143晶片。但是我們通常會在樹莓派上使用的wifi模組是Edimax EW-7811Un,這個小模組使用了Realtec公司的晶片。奇怪的是,如果你手頭有一塊樹莓派2的板子,你接上wifi模組之後是不能工作的。通常的想法是認為缺少Realtec晶片的驅動。但事實並非這樣,其實沒有一個window的驅動能夠在windows 10 物聯網系統核心上工作,即使是樹莓派官方的驅動,如樹莓派的攝像頭驅動,這些驅動都不會被window 10物聯網驅動核心支援。

如果你想要更進一步的證據證明windows 10物聯網核心是一個不可擴充套件的系統,你只需要再看深一點。數字音訊是完全被忽略的,板子的引腳8和10,通常樹莓派的3.3V電壓的UART引腳被保留了。微軟企圖讓這塊板子不能使用硬體UART介面。

幸運的是,這些問題只是暫時的。一個window的裝置驅動團隊表示更多的wifi驅動將會被支援,但也僅限於那些樹莓派基金會支援的官方驅動。同樣的關於UART口支援的問題也會得到進一步的協調。

到底是為誰開發的:

關於微軟推出的這種作業系統不支援目前通用的標準wifi、UART或者其他重要硬體裝置的說法,是為了通過出售這種裝置對抗開源硬體運動的趨勢。當然這只是一種猜測。

讓我們再想一想window 10物聯網核心的實際意義。你能使用Visual Studio編寫程式並上傳到任何執行物聯網系統核心的裝置上。這些程式設計的工作有一個很友好的介面,對於那些20出頭的windows框架開發團隊來說很容易使用。這不是一個針對愛好者開發的裝置,而是一個針對終端和ATM機而開發的裝置。那些仍在成千上萬製造的ATM裝置,使用的是Windows XP系統,不久將會被淘汰,這就是微軟企圖挽救這個市場的方法。物聯網系統核心的使用者不會是你、也不是我、更不是那些9歲左右想要點亮LED燈的孩子們。這個系統是給公司用來替換那些成千上萬的執行XP系統的嵌入式終端裝置的。

收好你的SD卡吧:

對於那些有一塊樹莓派2和一張SD卡的人來說,你在嘗試windows 10物聯網系統核心花費的是你的時間,而這並不值得。

雖然windows 10物聯網核心對於一個公司來說是個偉大的產品,因為能夠繼承那些使用Visual Basic等編寫的產品。但對於DIYer來說這並不能創造新的東西。而且,會有很多可選的方案來代替它。比如Cloud9 IDE和BeagleBone就是一個很好的選擇。

這不是一個能取代一切的作業系統。如Linux那樣的系統能支援更多的硬體。Windows 10 IOT Core是一個初學者,並應該進一步的學習。它的存在對於那些想要它的人來說是合適的,但對於其他人來說或許linux才會是一個更好的選擇。