基于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卡
步骤:
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
基于Vmware player的Windows 10 IoT core + RaspberryPi2安装部署的更多相关文章
- 基于树莓派的微型气象站设计与开发(Windows 10 IoT Core)
前言 树莓派(Raspberry Pi,RPi)是专门为学生计算机编程教育而设计,只有信用卡大小的卡片式电脑,可以运行Linux或者Windows 10 IoT Core操作系统.本文将利用树莓派和U ...
- Windows 10 IoT Serials 3 - Windows 10 IoT Core Ardunio Wiring Mode
Maker社区和智能硬件的朋友一定知道Arduino,很多3D打印机都是用它做的.为了迎合这一大块市场,微软在基于Intel Galileo的Windows 8.1 IoT中就是使用这种基于Ardui ...
- Azure IoT Edge on Windows 10 IoT Core
在今年的Build大会上,微软推出了Azure IoT Edge的第一个版本(https://github.com/Azure/iot-edge ).该版本的主要特点就是将计算能力由Azure端推送至 ...
- 如何在Raspberry Pi 3B中安装Windows 10 IoT Core
Windows 10 IoT Core简介 Windows 10 IoT是微软专门为物联网生态打造的操作系统,Windows 10 IoT Core则是Windows 10 IoT 操作系统的核心版本 ...
- Windows 10 IoT Core Samples
Windows 10 IoT Core Samples Welcome to the Windows 10 IoT Core Samples These samples have been valid ...
- Windows 10 IoT Core环境配置中的那些坑
我使用的设备是Raspberry Pi 3B,想来国内的嵌入式玩具应该还是树莓派最常见吧.这段时间一直在捣鼓Win10 IoT,结果发现,从安装一直到编码调试一路下来全都是坑.写这篇东西一个是为了备忘 ...
- Windows 10 IoT Core 17133 for Insider 版本更新
今天,微软发布了Windows 10 IoT Core 17133 for Insider 版本更新,本次更新只修正了一些Bug,没有发布新的特性.用户可以登录Windows Device Porta ...
- Windows 10 IoT Core 17127 for Insider 版本更新
昨天,微软发布了Windows 10 IoT Core 17127 for Insider 版本更新,本次更新只修正了一些Bug,没有发布新的特性.相比于17120,修复了一个已知的问题. 一些已知的 ...
- Windows 10 IoT Core 17120 for Insider 版本更新
今天,微软发布了Windows 10 IoT Core 17120 for Insider 版本更新,本次更新只修正了一些Bug,没有发布新的特性.相比于17115,又少了两个已知的问题. 一些已知的 ...
随机推荐
- <正则吃饺子>:关于使用powerDesign连接oracle数据库,导出数据表结构(ER图吧)
最近做的项目中,没有完整的数据库表结构图(ER图),自己就根据服务器上oracle数据库和powerdesign整理一份,但是存在两个问题:1.没有把数据库表的相关备注弄下来:2.数据库表中的主外键关 ...
- Linux : Linux命令
接触linux一段时间了,在网上搜罗了一些命令,以备后用.我有点爱上Linux了. 来自 :http://www.php100.com/html/webkaifa/Linux/2009/1106/34 ...
- Android实例1:button点击响应
个人网站http://www.ravedonut.com/ Layout xml文件 <RelativeLayout android:layout_width="wrap_conten ...
- Valera and Swaps
题意: 定义 $f(p)$ 表示将 $p$ 序列变换为有序序列最少要交换多少次,给一 $1 \sim n$ 的排列 $a$ ,给一整数 $m$, 求问将 $a$ 最少交换多少次能得到 $p$ ,使得 ...
- Ubuntu安装vnc+gnome的xstartup配置
Log 1 安装vncserver并且在xstartup配置gnome 背景:学习Ruby,想在ubuntu下使用rubymine 时间:2014-3-10 环境:Ubuntu 记录:Roy 其实这个 ...
- C#高级参数out,ref,params
在C#中通过使用方法来获取返回值时,通常只能得到一个返回值.因此,当一个方法需要返回多个值的时候,就需要用到ref和out,那么这两个方法区别在哪儿呢? out 当需要返回一系列返回值时可用out高级 ...
- opensns入门
1.公共控制器 AdminController.class.php 2.控制器中 使用 $list = $this->lists(); 可以获取数据表中的数据,相当于基本的查询 3.将数据查询 ...
- Cocos2d-x-html5之HelloWorld深入分析与调试
Cocos2d-x-html5之HelloWorld深入分析与调试 另:本章所用Cocos2d-x版本为: Cocos2d-html5-v2.1.1 http://cn.cocos2d-x.org/d ...
- ASPNET-ASPNETCORE 认证
话题背景 关于认证我的个人理解是,验证信息的合法性.在我们生活当中,比如门禁,你想进入一个有相对安全措施的小区或者大楼,你需要向保安或者门禁系统提供你的身份信息证明,只有确定你是小区业主,才可以进来, ...
- JQuery Easyui/TopJUI 多表头创建
JQuery Easyui/TopJUI 多表头创建 废话不多说,直接贴上代码. html <div data-toggle="topjui-layout" data-opt ...