本文记录了基于Vmware Player安装Windows10和VS2015开发平台的过程,以及如何在RaspberryPi2.0上启动Windows10 IoT core系统,并通过一个简单的helloworld程序展示如何在虚拟机内将通用windows应用程序部署到RaspberryPi2.0上。
关键词:虚拟机;Window10 IoT core; Universal Windows App;RaspberryPi2.0
目录
1 虚拟机上安装Windows 10
1.1 下载并安装Vmware player
1.2 下载Windows 10 professional 镜像
1.3 安装windows 10 professional
2 Windows10 IoT core开发环境配置
2.1 虚拟机上网配置
2.2 安装VS2015 community版
2.3 设置开发者模式
3 RaspberryPi2.0运行配置
3.1 安装Windows10IoT核心版工具
3.2 将Windows10IoTcore映像放置在SD上
3.3 启动RaspberryPi2.0
3.4 Powershell 远程管理和配置
4 开发和部署应用程序
4.1 Download “Hello world”
4.2 连接RaspBerryPi2
4.3 成功运行
1 虚拟机上安装Windows10
1.1 下载并安装Vmware player
为了研究一些技术而格式化自己工作电脑的事我是不会干的,于是只有利用虚拟机来模拟运行Windows10。你可以选择Vmware workstation, Virtualbox等, 或者跟我一样选择Vmware player, 官网下载, 自己可以搜索想要的version。我下载的6.0.4版本,不做商业用途。
1.2 下载Windows 10 professional 镜像
先下载一个windows10 iso镜像下载工具MediaCreationToolx64或者x86,取决于个人电脑是64位还是32位,然后运行该工具去生成自己想要的Windows10版本.
双击开始创建windows镜像文件,目前只提供5种选择,目标机器可以是32位也可以64位:
Windows10如何下载,教程真的一大堆,问下度娘吧,人家是专业的,比我说的清楚。
比如百度经验上 如何下载Windows 10
http://jingyan.baidu.com/article/ca00d56c7524e5e99eebcfab.html
在创建iso镜像时选择直接下载到本地文件夹,最好是新建一个文件夹用来存放Window10的iso文件,因为文件夹的内容在下载之前会全部格式化。
下载完毕之后就可以在VMware Player里安装Win10啦。
1.3 安装windows 10 professional
首先创建一个虚拟机,这个比较简单,但是一定要注意给虚拟机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啦。
2 Windows10 IoT core开发环境配置
这一步骤主要是安装Universal Windows App开发所需的VS2015 以及通用windows程序包。 VS2015很容易从官网下到,虚拟机安装方式和windows10的安装步骤类似,也是通过Use ISO Image file来安装。我下载的是VS2015 community版本。(官方版本)
2.1 虚拟机上网配置
在安装之前最好先配置一下虚拟机网络,因为有可能会需要连网下载一些内容。
关于虚拟机如何上网也有一堆的博文,但是每个人使用的虚拟机软件和版本不同,所以方法也各不相同,网上的解决方案未必解决的了实际的问题,正如我的VMware Player版本一样,它根本就没有虚拟机网络配置的Wizard,但是我做的也很简单,直接通过桥接(Bridage)方式使用物理网络,一般情况下自动获取IP地址,就可以连网了,但是如果你的企业有代理,还需要在Internet option中 设置LAN的代理。
2.2 安装VS2015 community版
余下的步骤就是安装VS2015 community版本,选择自定义安装,windows通用程序,大概13G空间,中间可能有一个内容无法找到,没关系,选择从网络下载,下一步直到安装完毕,估计有好大一会才能装完。
2.3 设置开发者模式
Windows10中,选择”Settings“->“update&security”->”for developers”,选择Developer mode
3 RaspberryPi2.0运行配置
其实官方给出的安装步骤是最清楚的,其他的都是按照官方步骤来的,雷同雷同,可以参见官网:
需要具备的条件不用多说了, surpose大家都准备的很好:
1) 运行windows10的电脑
2) RaspberryPi2
3) 5V微型USB电源
4) 8GB微型SD卡
5) HDMI电缆和监视器
6) 以太网电缆
7) 微型SD卡读卡器
3.1 安装Windows10 IOT核心版工具
在主机上(注意不是虚拟机啊,虽然官方是要在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卡。
3.2 启动RaspberryPi2.0
1) 插入已准备的微型 SD 卡(插槽在如下图所示的电路板的另一侧)。
2) 将网络电缆从本地网络连接到电路板上的以太网端口。请确保开发电脑在同一网络上。
3) 将 HDMI 监视器连接到电路板上的 HDMI 端口。
4) 将电源连接到开发板上的微型 USB 端口。
连接电源之后,就会发现板子上面的灯开始闪烁,说明已经开始启动,几秒钟就会看到经典的windows窗格标志,启动完成后, 会看到RPi2的IP地址。
其实它的背后长这样子:
3.3 PowerShell远程管理和配置
以下参见官方步骤。
使用 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
在凭据对话框中,输入以下默认密码:[email protected]
NOTE: The connection process is not immediate and can take up to 30 seconds.
如果你已成功连接到设备,你应该可以在提示符之前看到设备的 IP 地址。
4 开发和部署应用程序
首先,官方提供了很多样例程序,但只能称得上最简单的样例,view里面逻辑代码很多。
其次,我想说其实你如果了解MVVM,使用过WPF,prism之类的,会发现上手Universal windows 应用程序还是比较快的,但是同时也是一件比较痛苦的事情,你会发现命名空间变了,你根本不知道以前熟悉的类跑到哪里了。。。而且,有一些依赖注入的特性,Mef, module等都不支持,Anyway,毕竟熟悉xaml,还是有好处的。最起码MVVM还是用的起来的。
Hellow world走起,先能成功部署再说,以后需要移植部分WPF开发的项目到UWP上,具体变化以后慢慢更新。
4.1 Download Hello world
从Github 上下载samples-develop.zip包,里面有很多示例代码,
https://codeload.github.com/ms-iot/samples/zip/develop
解压缩,打开hello world工程文件,这里如果没有自定义安装VS2015而是用它推荐的默认安装方式,会提示下载universal windows app开发包,按照提示下载就行,完成后就可以再次打开hello world程序。
4.2 连接RaspBerryPi2
接下来,在 Visual Studio 工具栏中,单击 Device 下拉列表并选择 Remote Machine, 体系结构选择ARM(x86是针对MinnowBoardMax)
VS将打开“远程连接”对话框,在Address处输入RaspberryPi2的IP地址,选择none进行windows身份验证,单击select.
4.3 成功运行
按下F5,树莓派上成功运行我们的程序。
本文到此结束,首先介绍了如何在Vmwareplayer上安装windows10操作系统以及安装VS2015,其次介绍了如何启动RaspberryPi2,最后给出了一个简单的Helloworld程序并将其部署到Raspberrypi2上。
最近公司高层甚是动荡,连带着底层也大受影响,于我而言,也是第一次经历line manager离职去创业这种事情,说不定我自己的职业生涯也要在此间转个弯。即便面临着整个部门被端掉的危险,心也不能散,研究下从WPF移植到UWP,就当为公司做最后的贡献吧。此文是对于搭建和部署环境的一个简单的纪录,方便以后继续。
常见问题和回答参考
https://ms-iot.github.io/content/en-US/Faqs.htm
- 4楼收破烂
- 美女程序员
- 3楼大萝卜控
- 树莓派买回来就放在那里吃灰了。。。楼上两个,人家已经快孩儿他妈了。。。
- 2楼Swift2.1
- 楼上是孩子他爸?
- 1楼Engineer
- 哇,美女也搞这个?