65.9K
CodeProject 正在变化。 阅读更多。
Home

在 Raspberry Pi 2 B 上设置 Windows 10 IoT 核心

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.83/5 (5投票s)

2016年1月29日

CPOL

10分钟阅读

viewsIcon

26819

本提示介绍了在 Raspberry Pi 2 B 上的 Windows 10 IoT 核心的配置选项。

引言

在本提示中,我将介绍 Windows 10 IoT 核心提供的配置选项。

背景

这篇帖子是我关于开发 Windows 10 IoT 核心应用程序系列文章的一部分。要查看我所有的帖子,请访问我的介绍文章:Windows 10 IoT 简介

Config.txt 设置

要了解更多关于 config.txt 值的信息,您可以阅读官方文档

您可以设置的第一件事是设备 SD 卡上的 config.txt。初始配置如下:

gpu_mem=32                  # set ARM to 480Mb DRAM, VC to 32Mb DRAM
framebuffer_ignore_alpha=1  # Ignore the alpha channel for Windows.
framebuffer_swap=1          # Set the frame buffer to be Windows BGR compatible.
disable_overscan=1          # Disable overscan
init_uart_clock=16000000    # Set UART clock to 16Mhz
hdmi_group=2                # Use VESA Display Mode Timing over CEA
arm_freq=900
arm_freq_min=900
force_turbo=1

此配置将产生 1360 x 768 @60Hz 格式的视频输出。

以“arm_freq”开头的块是简单地禁用了 Raspberry Pi 上的 ARM 电源管理和动态频率更改,并将默认频率设置为 900Mhz。(没有这个,您的 Raspberry Pi 将运行在 600Mhz,因为 Windows 还没有实现动态频率更改。)

设置屏幕分辨率

我需要在我的显示器上获得全高清分辨率,所以我在配置中使用了这个额外的设置(您只需将这些行添加到配置中并重启设备)

hdmi_drive=2
hdmi_mode=82

通过 hdmi_drive=2,我将其设置为 DMT(显示器时序;通常由显示器使用的标准)

通过 hdmi_mode=82,我将分辨率设置为 1920x1080 @60Hz (1080p)

如果您想阅读更多关于支持的分辨率的信息,您可以在这里找到一篇非常有用的文章。

我已经测试了许多不同的设置,目前我最终确定了此设置,因为我不需要声音,所以对我来说没问题。

当然,您可以尝试这些设置,找出最适合您需求的分辨率。

要设置正确的显示分辨率,您需要更改这三个设置:

hdmi_group 结果
0 从 EDID 自动检测
1 CEA
2 DMT

根据 hdmi_group,您可以选择 hdmi_mode(组 1 和组 2 有不同的模式可用,当 hdmi_group0 时,您无法选择 hdmi_mode)。

组 1 可用的 HDMI 模式

hdmi_mode 解决 频率 备注
1 VGA (640x480)    
2 480p 60Hz  
3 480p 60Hz 16:9 宽高比
4 720p 60Hz  
5 1080i 60Hz  
6 480i 60Hz  
7 480i 60Hz 16:9 宽高比
8 240p 60Hz  
9 240p 60Hz 16:9 宽高比
10 480i 60Hz 像素四倍频
11 480i 60Hz 像素四倍频,16:9 宽高比
12 240p 60Hz 像素四倍频
13 240p 60Hz 像素四倍频,16:9 宽高比
14 480p 60Hz 像素倍频
15 480p 60Hz 像素倍频,16:9 宽高比
16 1080p 60Hz  
17 576p 50Hz  
18 576p 50Hz 16:9 宽高比
19 720p 50Hz  
20 1080i 50Hz  
21 576i 50Hz  
22 576i 50Hz 16:9 宽高比
23 288p 50Hz  
24 288p 50Hz 16:9 宽高比
25 576i 50Hz 像素四倍频
26 576i 50Hz 像素四倍频,16:9 宽高比
27 288p 50Hz 像素四倍频
28 288p 50Hz 像素四倍频,16:9 宽高比
29 576p 50Hz 像素倍频
30 576p 50Hz 像素倍频,16:9 宽高比
31 1080p 50Hz  
32 1080p 24Hz  
33 1080p 25Hz  
34 1080p 30Hz  
35 480p 60Hz 像素四倍频
36 480p 60Hz 像素四倍频,16:9 宽高比
37 576p 50Hz 像素四倍频
38 576p 50Hz 像素四倍频,16:9 宽高比
39 1080i 50Hz 减少消隐
40 1080i 100Hz  
41 720p 100Hz  
42 576p 100Hz  
43 576p 100Hz 16:9 宽高比
44 576i 100Hz  
45 576i 100Hz 16:9 宽高比
46 1080i 120Hz  
47 720p 120Hz  
48 480p 120Hz  
49 480p 120Hz 16:9 宽高比
50 480i 120Hz  
51 480i 120Hz 16:9 宽高比
52 576p 200Hz  
53 576p 200Hz 16:9 宽高比
54 576i 200Hz  
55 576i 200Hz 16:9 宽高比
56 480p 240Hz  
57 480p 240Hz 16:9 宽高比
58 480i 240Hz  
59 480i 240Hz 16:9 宽高比

组 2 可用的 HDMI 模式

hdmi_mode 解决 频率 备注
1 640x350 85Hz  
2 640x400 85Hz  
3 720x400 85Hz  
4 640x480 60Hz  
5 640x480 72Hz  
6 640x480 75Hz  
7 640x480 85Hz  
8 800x600 56Hz  
9 800x600 60Hz  
10 800x600 72Hz  
11 800x600 75Hz  
12 800x600 85Hz  
13 800x600 120Hz  
14 848x480 60Hz  
15 1024x768 43Hz 与 Raspberry Pi 不兼容
16 1024x768 60Hz  
17 1024x768 70Hz  
18 1024x768 75Hz  
19 1024x768 85Hz  
20 1024x768 120Hz  
21 1152x864 75Hz  
22 1280x768   减少消隐
23 1280x768 60Hz  
24 1280x768 75Hz  
25 1280x768 85Hz  
26 1280x768 120Hz 减少消隐
27 1280x800   减少消隐
28 1280x800 60Hz  
29 1280x800 75Hz  
30 1280x800 85Hz  
31 1280x800 120Hz 减少消隐
32 1280x960 60Hz  
33 1280x960 85Hz  
34 1280x960 120Hz 减少消隐
35 1280x1024 60Hz  
36 1280x1024 75Hz  
37 1280x1024 85Hz  
38 1280x1024 120Hz 减少消隐
39 1360x768 60Hz  
40 1360x768 120Hz 减少消隐
41 1400x1050   减少消隐
42 1400x1050 60Hz  
43 1400x1050 75Hz  
44 1400x1050 85Hz  
45 1400x1050 120Hz 减少消隐
46 1440x900   减少消隐
47 1440x900 60Hz  
48 1440x900 75Hz  
49 1440x900 85Hz  
50 1440x900 120Hz 减少消隐
51 1600x1200 60Hz  
52 1600x1200 65Hz  
53 1600x1200 70Hz  
54 1600x1200 75Hz  
55 1600x1200 85Hz  
56 1600x1200 120Hz 减少消隐
57 1680x1050   减少消隐
58 1680x1050 60Hz  
59 1680x1050 75Hz  
60 1680x1050 85Hz  
61 1680x1050 120Hz 减少消隐
62 1792x1344 60Hz  
63 1792x1344 75Hz  
64 1792x1344 120Hz 减少消隐
65 1856x1392 60Hz  
66 1856x1392 75Hz  
67 1856x1392 120Hz 减少消隐
68 1920x1200   减少消隐
69 1920x1200 60Hz  
70 1920x1200 75Hz  
71 1920x1200 85Hz  
72 1920x1200 120Hz 减少消隐
73 1920x1440 60Hz  
74 1920x1440 75Hz  
75 1920x1440 120Hz 减少消隐
76 2560x1600   减少消隐
77 2560x1600 60Hz  
78 2560x1600 75Hz  
79 2560x1600 85Hz  
80 2560x1600 120Hz 减少消隐
81 1366x768 60Hz  
82 1920x1080 60Hz 1080p
83 1600x900   减少消隐
84 2048x1152   减少消隐
85 1280x720 60Hz 720p
86 1366x768   减少消隐

以及最后一个参数,hdmi_drive

hdmi_drive 结果
1 普通 DVI 模式(无声音)
2 普通 HDMI 模式(如果支持并启用,声音将通过 HDMI 发送)

不用担心测试这些值 - 最糟糕的情况是您的 Raspberry Pi 没有正确输出,设备仍然会启动并正常工作,您可以更改配置并重启设备。

设置屏幕旋转

有时,您想将 Raspberry Pi 的屏幕旋转 90、180 或 270 度。您也可以使用配置来做到这一点。

为此,您将使用 display_rotate。以下是可用值:

display_rotate 结果
0 无旋转
1 顺时针旋转 90 度
2 顺时针旋转 180 度
3 顺时针旋转 270 度
0x10000 水平翻转
0x20000 垂直翻转

使用此设置时,您应谨慎操作,并在每次更改后进行测试。当我使用 Raspberry Pi 上的 Windows 时,在更改旋转后直到我将 gpu_mem 增加到某个较高值(例如)后,它才启动。

gpu_mem=128

基于此以及我的测试,最好不要更改设备的显示旋转,因为我认为仅旋转 HDMI 输出会消耗大量处理能力。我在测试我的应用程序以 90 度旋转运行时也经历了性能严重下降。

低电压警告

我通常从具有 USB 端口的电视获取 Raspberry Pi 的电源,通常我会直接收到 Raspberry Pi 的低电流警告。到目前为止,我还没有注意到与此相关的性能或可靠性问题,它只是很烦人。参见图片。

要禁用它,只需在 config 中添加此项:

    avoid_warnings=2

我知道,这可能不是最佳实践,并且此警告有其意义,但由于它对我应用程序没有影响,所以我不希望看到它。如果警告可以简单关闭且不会发生任何事情,我不想再添加一个电源来避免此警告。在我的情况下,我使用电视 USB 端口作为电源。当我测试时,我发现此问题的原因通常是您使用的电缆。因此,为了解决这个问题,我建议测试几根 USB 数据线。

连接到 Raspberry Pi 2 B 上的文件系统

有几种方法可以连接到 Windows 10 IoT 上的文件系统。

在您的计算机上访问 SD 卡

这是最简单的方法,但您只能更改非常有限的设置。基本上,您只能修改 config.txt

我建议首先关闭 Raspberry Pi,然后您可以拔出 SD 卡并将其插入您的计算机。然后,您应该会看到类似这样的内容:

在 Windows 上看到的只是 SD 卡的第一个分区。创建 SD 卡时,Windows 将其分为 4 个分区。在 Windows 系统上,用户只能看到带有正常设置的第一个分区。

直接连接到设备文件系统

要查看所有分区并修改文件系统上的几乎所有内容,您需要将 SD 卡放回 Raspberry Pi 并将其打开。然后,您可以使用 IOT Dashboard 查找其 IP 地址。(要阅读有关 IOT Dashboard 的更多信息,您可以阅读我之前的文章:在 Raspberry Pi 上安装 Windows 10 IoT 核心)。

知道 IP 地址后,只需打开 Windows 资源管理器并导航到 Raspberry Pi。在我的例子中,我输入了:

\\192.168.0.233\c$ 

请注意地址末尾的 c$,它必须在那里,否则此方法将不起作用。

输入设备地址后,您将被要求输入设备凭据。这些是默认凭据:

Username : Administrator
Password : p@ssw0rd

当然,如果您更改了密码,请在此处输入新密码。

成功登录后,您应该会看到设备上的文件系统:

在这里,您可以看到文件系统在设备上的划分方式,根目录是 C:\,您还可以看到 Data、Crash dump 和 EFISP(这是插入 SD 卡到 PC 时看到的分区)的链接。

C:\ 是已安装的主操作系统,所有 Windows 二进制文件都存储在这里的 Windows 文件夹中。您在这里几乎找不到用户数据,这些数据在 Data 分区上。

Data\ 您可以在 \Data\Users\DefaultAccount 中找到您安装的应用程序的工作目录。

CrashDump\ 可能是系统用于存储崩溃转储的地方,我从未在那里见过任何有趣的东西。

EFISP\ 是主引导分区,存储 config.txt,您可以直接在设备上修改它,但要看到效果,需要重启设备。

远程访问设备

第三种方法功能最强大,您可以从您的计算机远程访问设备的命令行。为此,您可以使用 Powershell 或 putty(putty 更快但选项比 Powershell 少)。从哪个操作系统连接到 Raspberry Pi 并不重要。

使用 Powershell 访问设备

1. 在您的 PC 上以管理员身份启动 Powershell。

启动 Powershell 后,您应该运行以下命令:

net start WinRM

下一步是将机器密钥添加到受信任主机列表,您将使用此命令完成:

Set-Item WSMan:\localhost\Client\TrustedHosts -Value 192.168.0.233

然后,您通过“Y”进行确认。

之后,您可以连接到您的设备:

Enter-PSSession -ComputerName 192.168.0.233 -Credential 192.168.0.233\Administrator

在此命令后,您将被要求输入密码。默认密码是 p@ssw0rd

请耐心等待,因为此过程需要一段时间(可能需要 2-3 分钟)。过程完成后,您应该会在设备上看到控制台。

输出将如下所示:

了解您可以使用哪些控制台命令非常有帮助,我推荐您访问此网站:http://ss64.com/nt/

Powershell 是连接到 Raspberry Pi 的一个非常好的选择,但恕我直言,它有点慢,并且一些 C++ 控制台应用程序在这种情况下可能会以不正确的方式运行。当您在使用 Powershell 时遇到问题时,您仍然有至少一个其他选择。

使用 Putty 访问设备

是的,您可以使用 putty 或任何其他 SSH 客户端连接到 Windows 10 IoT。而且它非常简单,只需从以下网址下载 putty:http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe

下载后,只需输入设备的 IP 地址,如下所示:

您将被要求输入用户名,即 Administrator,然后输入密码(p@ssw0rd),您将进入与使用 Powershell 连接时相同的控制台,只是 putty 快得多。

就是这样。我希望您能够设置好一切。如果您有任何问题,请在下方的评论区留言,我会回复。

© . All rights reserved.