你的位置:首页 > 操作系统

[操作系统]基于Vmware player的Windows 10 IoT core + RaspberryPi2安装部署


本文记录了基于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卡 

https://coderwall.com/p/zchyog/how-to-install-windows-10-iot-core-on-raspberry-pi-2-in-5-minutes-also-works-on-win7-win8-linux-mac-os 

步骤: 

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

在凭据对话框中,输入以下默认密码:p@ssw0rd

  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