目前,微软针对Windows IoT计划支持的硬件包括树莓派2,Minnow Board MAX 和Galileo (Gen 1和Gen 2)。其中,Galileo (Gen 1和Gen 2)运行的是剪裁的Windows 8.1,而且官方声明目前没有对其升级到Windows 10 IoT的计划。所以,对于Windows 10 IoT,目前可选的硬件有树莓派2和Minnow Board MAX。有关树莓派2的Windows 10 IoT,可以参考叶帆的博客: 【Window 10 IoT - 1】Window 10系统安装(树莓派 Pi2) 。
相比于Minnow Board MAX,树莓派2拥有更大的用户群,更好的性价比,和更广的硬件社区支持率。但是,如果对于性能有要求的场景,也可以考虑Minnow Board MAX,毕竟,其核心是64位 Intel® Ato E38xx Series SoC(虽然目前Windows IoT也是32位的)。本文详细介绍了Minnow Board MAX的Windows 10 IoT开发环境搭建过程。
1.1 一台运行Windows 10 PC系统的电脑,本人使用的是Surface Pro 2,版本Windows 10 Pro Insider Preview Build 10122.
1.2 Minnow Board Max一块
1.3 电源,包括Minnow Board MAX需要的5V直流电源,如果使用MicroHDMI转接口,还需要准备MicroHDMI转接口的电源。
1.4 Class 10 速度的8Gb Micro SD卡一张,速度更快容量更大的当然更好,用于Windows 10 IoT Core for Minnow Board的烧录。
1.5 因为Minnow Board自带MicroHDMI接口,所以,如果已经有HDMI接口的显示器,请准备一个MicroHDMI转HDMI的转接头和一根HDMI线。如果是VGA接口的显示器,请准备请准备一个MicroHDMI转HDMI的转接头和一个有源的HDMI转VGA模块。请注意,HDMI转VGA模块一定要使用有源的,无源的模块可能导致无法正常显示。
1.6 以太网线一根,用于Minnow Board Max的联网与调试。
1.7 路由器一个,用于开发机与Minnow Board MAX的联网。
1.8 USB鼠标和USB键盘各一个,用于Minnow Board Max的设置。
1.9 U盘一个,用于更新Minnow Board Max的固件。
2.1. 连接一个USB接口的键盘
2.2 将MicroHDMI转HDMI接口的转接头插入2中,另一端连HDMI接口的显示器,或者是连有源的HDMI转VGA的模块,再连接到VGA接口的显示器。
2.3 连接网线到3口,网线的另一端接在与开发机相同网段的路由器上。
2.4 连接5V的直流电源,供电能力最好在3A左右。
2.5 MicroSD卡插槽。
3.1 由于当前的Windows IoT Core只有32位的版本,所以,首先需要从Intel的官网上下载 Minnow Board Max的最新固件 ,笔者写稿时的最新版本是0.79。
3.2 将下载的zip文件解压,然后拷贝所有.efi和.bin文件到FAT格式的U盘。
3.3 确保Minnow Board Max没有连接任何的外部存储设备(如SD卡),把包含.efi和.bin文件的U盘插入Minnow Board Max的USB接口。
3.4 根据2.1节的内容,连接USB接口的键盘;根据2.2节的内容,连接MicroHDMI接口的显示模块。检查无误后,给Minnow Board Max上电
3.5 如果一切正常,可以在显示器上看到UEFI的命令行。之后,在命令行中输入以下命令:
o fs0:
o ./MinnowBoard.MAX.FirmwareUpdateX64.efi _filename_.bin
例如:
o Shell> fs0:
o fs0:> ./MinnowBoard.MAX.FirmwareUpdateIA32.efi MinnowBoard.MAX.I32.079.R01.bin
如下图所示:
注意: Minnow Board Max出厂默认自带的是64位的固件,如果将其更新为32位的固件以后,下一次更新固件时,应该使用以下格式的命令:
o fs0:
o ./MinnowBoard.MAX.FirmwareUpdateIA32.efi _filename_.bin
3.6 之后,系统会更新固件,如下图所示,且在固件更新完毕以后,自动关机。
4.1 使用LiveID注册 Windows Embedded Pre-Release Programs ,在下载页面中选择“Windows 10 IoT Core Insider Preview Image for MinnowBoard MAX”,如下图所示。
4.2 下载“Windows 10 IoT Core Insider Preview Image for MinnowBoard MAX”。解压其中的.ffu文件到C盘根目录,如下图所示,以备后用。
4.3 将MicroSD卡插入读卡器,并将读卡器插入电脑,在命令行工具中,使用diskpart和list disk命令获取MicroSD卡的PhysicalDrive属性,如下图所示。
笔者使用的电脑只有一个C盘,插入的读卡器的盘符为Disk 1。
4.4 用管理员权限打开” Deployment and Imaging Tools Environment工具,如下图所示,
定位到ffu文件所在的目录,运行命令:
dism.exe /Apply-Image /ImageFile:flash.ffu /ApplyDrive://./PhysicalDriveN /SkipPlatformCheck
其中,“ PhysicalDriveN ”中的“N”用实际的盘符号代替,笔者以C盘根目录为例,如下图所示。
烧写镜像完毕以后,原来的MicroSD卡变成了一个系统盘,盘符名称为“MainOS”,而且容量也发生了变化,如下图所示。
5.1 将烧写好系统的MicroSD卡插入Minnow Board MAX板子的MicroSD卡插槽,接入USB键盘和显示接口。
5.2 给Minnow Board MAX上电,Boot时,选择F2,进入BIOS设置。
5.3 依次选择“Manager -> System Setup -> South Cluster Configuration -> LPSS & SCC Configuration”,该页面设置如下,按F10保存更改:
页面截图如下:
5.4 导航到“Boot Mainenance Manager-> Boot Options > Change Boot Order”,更改Boot的顺序,使得“EFI Misc Device”放在首位,按F10按钮保存更改,如下图所示:
然后退回到Boot页面,重启设备。第一次启动会花费较多时间,启动完成以后,进入的页面如下:
同时,在Windows 10 PC上安装并运行Windows IoT Core Watcher(在下载的MInnowBoardMAX压缩包中,名称为WindowsDeveloperProgramForIoT.msi),那么,该软件的页面上就可以看到板子的信息了。如下图所示。
6.1 在Windows 10 PC中,用管理员权限打开Windows PowerShell,如下图所示:
6.2 在PS控制台输入以下命令,确保PC机已经运行WinRM service:
· PS C:/> net start WinRM
6.3 在PS控制台输入以下命令,设置目标机器为信任设备:
·
PS C:/> Set-Item WSMan:/localhost/Client/TrustedHosts -Value <machine-name or IP Address>
其中, <machine-name or IP Address>
用设备名称或
IP
地址代替。
6.4 为了回避已经发现的客户端的一个Bug,输入以下命令:
·
PS C:/> remove-module psreadline –force
6.5
发起一个与
Windows IoT Core设备的Session,输入以下命令:
·
PS C:/> Enter-PsSession -ComputerName <machine-name or IP Address> -Credential <machine-name or IP Address or localhost>/Administrator
其中的
<machine-name or IP Address>
用设备名称或
IP
地址代替。
在弹出的对话框中,输入默认的密钥:p@ssw0rd。
之后,就可以等待建立与客户端的连接了,如下图所示。
至此,针对Minnow Board 的Windows IoT开发环境搭建已经完成,其过程与树莓派相比,稍微有些复杂,主要是涉及到了固件的更新和Boot的设置。其他过程与树莓派类似。
1. MBM Get Started:http://ms-iot.github.io/content/win10/SetupMBM.htm
2. Using PowerShell to connect and configure a device running Windows IoT Core:http://ms-iot.github.io/content/win10/samples/PowerShell.htm