本文記錄了基於Vmware Player安裝Windows10和VS2015開發平臺的過程,以及如何在RaspberryPi2.0上啓動Windows10 IoT core系統,並經過一個簡單的helloworld程序展現如何在虛擬機內將通用windows應用程序部署到RaspberryPi2.0上。php
關鍵詞:虛擬機;Window10 IoT core; Universal Windows App;RaspberryPi2.0 html
爲了研究一些技術而格式化本身工做電腦的事我是不會幹的,因而只有利用虛擬機來模擬運行Windows10。你能夠選擇Vmware workstation, Virtualbox等, 或者跟我同樣選擇Vmware player, 官網下載, 本身能夠搜索想要的version。我下載的6.0.4版本,不作商業用途。 python
先下載一個windows10 iso鏡像下載工具MediaCreationToolx64或者x86,取決於我的電腦是64位仍是32位,而後運行該工具去生成本身想要的Windows10版本.linux
雙擊開始建立windows鏡像文件,目前只提供5種選擇,目標機器能夠是32位也能夠64位: git
Windows10如何下載,教程真的一大堆,問下度娘吧,人家是專業的,比我說的清楚。 github
好比百度經驗上 如何下載Windows 10 web
http://jingyan.baidu.com/article/ca00d56c7524e5e99eebcfab.htmlshell
在建立iso鏡像時選擇直接下載到本地文件夾,最好是新建一個文件夾用來存放Window10的iso文件,由於文件夾的內容在下載以前會所有格式化。windows
下載完畢以後就能夠在VMware Player裏安裝Win10啦。網絡
首先建立一個虛擬機,這個比較簡單,可是必定要注意給虛擬機C盤分配至少30G的磁盤空間,一開始我以爲一個Windows10在加上VS2015的開發環境頂多20G撐死了,可誰知道後來不夠用啊,經過擴展磁盤將空間變成了40G,也不頂事,由於C盤仍是20G,VS2015上安裝Universal Windows開發包須要8G,自己VS2015就有大概5個G,即便VS2015不裝C盤,一路裝下來C盤也只剩幾百兆了,因而我只得從新又安裝了一遍,真的浪費時間。
Okay,不囉嗦,建立完虛擬機,開始準備安裝windows10,打開Edit Virtual Machine Settings, 選擇CD/DVD(SATA),使用Use ISO Image File, 瀏覽並選擇剛剛下載的Windows10 iso文件,okay。(其實這個也很簡單,可是遙想我第一次使用虛擬機的時候,也是網上搜了一堆也不知道怎麼弄,走了很多彎路的。因此給其餘若是是第一次的人,一個好的演示。)
啓動虛擬機,開始安裝,基本不須要太多的操做,不過要輸入product key,這個從網上去找吧,比較容易找獲得。
安裝的過程有幾分鐘,能夠作些別的事情哈,好比學點英語,或者看篇博文之類的。Window10的安裝過程跟以往的Windows系列沒啥太大的區別,都是常識,設定一下用戶名和密碼,以後登陸就看到Windows10啦。
這一步驟主要是安裝Universal Windows App開發所需的VS2015 以及通用windows程序包。 VS2015很容易從官網下到,虛擬機安裝方式和windows10的安裝步驟相似,也是經過Use ISO Image file來安裝。我下載的是VS2015 community版本。(官方版本)
在安裝以前最好先配置一下虛擬機網絡,由於有可能會須要連網下載一些內容。
關於虛擬機如何上網也有一堆的博文,可是每一個人使用的虛擬機軟件和版本不一樣,因此方法也各不相同,網上的解決方案未必解決的了實際的問題,正如個人VMware Player版本同樣,它根本就沒有虛擬機網絡配置的Wizard,可是我作的也很簡單,直接經過橋接(Bridage)方式使用物理網絡,通常狀況下自動獲取IP地址,就能夠連網了,可是若是你的企業有代理,還須要在Internet option中 設置LAN的代理。
餘下的步驟就是安裝VS2015 community版本,選擇自定義安裝,windows通用程序,大概13G空間,中間可能有一個內容沒法找到,不要緊,選擇從網絡下載,下一步直到安裝完畢,估計有好大一會才能裝完。
Windows10中,選擇」Settings「->「update&security」->」for developers」,選擇Developer mode
其實官方給出的安裝步驟是最清楚的,其餘的都是按照官方步驟來的,雷同雷同,能夠參見官網:
須要具有的條件不用多說了, surpose你們都準備的很好:
1) 運行windows10的電腦
2) RaspberryPi2
3) 5V微型USB電源
4) 8GB微型SD卡
5) HDMI電纜和監視器
6) 以太網電纜
7) 微型SD卡讀卡器
在主機上(注意不是虛擬機啊,雖然官方是要在Windows10操做系統上下載,具體緣由後面有講),從 Microsoft 下載中心下載用於 Raspberry Pi 2 的 ISO。(官網教程裏給的是10240版,使用這個版本若是鏈接與RaspberryPi2配套的觸摸平板的話,屏幕沒有反映,網上搜了一下,說是這個核心版本自己就不支持,這裏讓你們下載10556版本的)
將 ISO 保存到本地文件夾
雙擊 ISO(IoT 核心版 RPi.iso)。它將自動將其自己做爲虛擬驅動器進行裝載,以便你能夠訪問內容。
安裝 Windows_10_IoT_Core_RPi2.msi。安裝完成後,flash.ffu 將位於 C:\Program Files (x86)\Microsoft IoT\FFU\RaspberryPi2
將 Windows 10 IoT Core 映像放置在 SD 卡上
回答剛剛的問題,爲何要在主機上下載安裝Windows 10 IoT Core映像?由於微型SD卡讀卡器虛擬機不識別啊不識別啊不識別啊,(重要的事情說三遍,你懂得),聽說只有USB接口的SD讀卡器才能被刻錄,我不知道是真是假,可是微型SD讀卡器的確不能識別,怎麼辦,一時間也找不到USB接口的讀卡器,只得另想辦法。
其實SD卡刻錄的只是一個.ffu的文件,並不必定非要在Window10的環境下,聰明的廣大愛好者早就想出了一堆的電子來應對, 撒網搜索:
Option1: 如何在Window7,8.1系統5分鐘刻錄Windows10 IoT core to SD卡
步驟:
1 使用python寫了個腳本程序將flash.ffu專成.img 格式 7.18G
2 使用win32diskimager 刻錄到SD卡
Option2: windows7上用小工具進行刻錄SD卡
http://www.geek-workshop.com/thread-14845-1-1.html
Option3: 其餘方式和工具例如:
http://www.52pi.net/forum.php?mod=viewthread&tid=1568&extra=
我用了第一種方法,成功在宿主機上刻錄SD卡。
1) 插入已準備的微型 SD 卡(插槽在以下圖所示的電路板的另外一側)。
2) 將網絡電纜從本地網絡鏈接到電路板上的以太網端口。請確保開發電腦在同一網絡上。
3) 將 HDMI 監視器鏈接到電路板上的 HDMI 端口。
4) 將電源鏈接到開發板上的微型 USB 端口。
鏈接電源以後,就會發現板子上面的燈開始閃爍,說明已經開始啓動,幾秒鐘就會看到經典的windows窗格標誌,啓動完成後, 會看到RPi2的IP地址。
其實它的背後長這樣子:
如下參見官方步驟。
使用 Windows PowerShell 遠程配置和管理任何 Windows 10 IoT 核心版設備。PowerShell 是基於任務的命令行 Shell 和腳本語言,專爲進行系統管理而設計。
1) 在主機電腦與設備之間建立信關係。啓動「Windows PowerShell」項並選擇「以管理員身份運行」:
如今你應該看到 PS 控制檯:
2)啓動 WinRM 服務以啓用遠程鏈接。在 PS 控制檯中,鍵入如下命令:
net start WinRM
3)在 PS 控制檯中,鍵入如下命令,從而使用相應的值替代 <machine-name or IP Address>
(使用計算機-名稱是最簡單的方法,但若是設備在網絡上的名稱不惟一,則嘗試使用 IP 地址):
Set-Item WSMan:\localhost\Client\TrustedHosts -Value <machine-name or IP Address>
這裏<machine-name or IP Address> 就是RaspberryPi2的IP地址,如下相同。
輸入 Y
以確認更改。
4) 使用Windows IoT 核心版設備啓動會話。在管理員 PS 控制檯中,鍵入:
Enter-PSSession -ComputerName <machine-name or IP Address> -Credential <machine-name or IP Address or localhost>\Administrator
在憑據對話框中,輸入如下默認密碼:p@ssw0rd
NOTE: The connection process is not immediate and can take up to 30 seconds.
若是你已成功鏈接到設備,你應該能夠在提示符以前看到設備的 IP 地址。
首先,官方提供了不少樣例程序,但只能稱得上最簡單的樣例,view裏面邏輯代碼不少。
其次,我想說其實你若是瞭解MVVM,使用過WPF,prism之類的,會發現上手Universal windows 應用程序仍是比較快的,可是同時也是一件比較痛苦的事情,你會發現命名空間變了,你根本不知道之前熟悉的類跑到哪裏了。。。並且,有一些依賴注入的特性,Mef, module等都不支持,Anyway,畢竟熟悉xaml,仍是有好處的。最起碼MVVM仍是用的起來的。
Hellow world走起,先能成功部署再說,之後須要移植部分WPF開發的項目到UWP上,具體變化之後慢慢更新。
從Github 上下載samples-develop.zip包,裏面有不少示例代碼,
https://codeload.github.com/ms-iot/samples/zip/develop
解壓縮,打開hello world工程文件,這裏若是沒有自定義安裝VS2015而是用它推薦的默認安裝方式,會提示下載universal windows app開發包,按照提示下載就行,完成後就能夠再次打開hello world程序。
接下來,在 Visual Studio 工具欄中,單擊 Device 下拉列表並選擇 Remote Machine, 體系結構選擇ARM(x86是針對MinnowBoardMax)
VS將打開「遠程鏈接」對話框,在Address處輸入RaspberryPi2的IP地址,選擇none進行windows身份驗證,單擊select.
按下F5,樹莓派上成功運行咱們的程序。
本文到此結束,首先介紹瞭如何在Vmwareplayer上安裝windows10操做系統以及安裝VS2015,其次介紹瞭如何啓動RaspberryPi2,最後給出了一個簡單的Helloworld程序並將其部署到Raspberrypi2上。
最近公司高層甚是動盪,連帶着底層也大受影響,於我而言,也是第一次經歷line manager離職去創業這種事情,說不定我本身的職業生涯也要在此間轉個彎。即使面臨着整個部門被端掉的危險,心也不能散,研究下從WPF移植到UWP,就當爲公司作最後的貢獻吧。此文是對於搭建和部署環境的一個簡單的紀錄,方便之後繼續。
常見問題和回答參考