使用 VS 2019 在 Windows IoT 上进行应用开发





5.00/5 (4投票s)
在本文中,我们将介绍使用 VS2019 在树莓派 3 上进行应用开发、部署和调试的过程。
引言
我想快速概述一下使用 Visual Studio 2019 进行 Windows 10 IoT Core 的开发和调试过程。
背景
如果您对运行在树莓派 3 上的 Windows 10 IoT Core 感兴趣,我建议您阅读我关于此主题的其他文章。另外,如果您不知道如何将 Windows 10 IoT Core 安装到您的树莓派上,您在那里也能找到。
构建您的应用
我们将使用 VS 2019 构建一个非常简单的通用 Windows 应用程序。在这个应用中,我们将有一些用于用户交互的按钮,以及一个输出元素,用户可以在其中看到其操作的结果。
首先,您需要下载并安装 Visual Studio。社区版是免费的,您可以从 这里 下载。您需要有一个 Microsoft 帐户,这也是免费的。
安装 Visual Studio 时,请务必勾选“通用 Windows 平台开发”。
因为 Windows 10 IoT Core 只能运行通用 Windows 应用程序。
当您安装好 Visual Studio 后,我们就可以创建应用了。转到菜单 文件 -> 新建 -> 项目,然后在弹出窗口中,在搜索框中键入“universal
”,然后选择“空白应用(通用 Windows)”。
点击 下一步。在新弹出的窗口中,选择新应用程序将存储的名称和位置。稍后,您需要选择目标 Windows 版本和最小 Windows 版本。完成这些初始设置后,VS 将创建一个新的可运行的通用 Windows 应用程序,显示一个空白的白色窗口。您应该会看到与下图相同的屏幕。
为了保持简单,我们将直接在 _MainPage.xaml_ 中进行所有修改,因此您可以双击此文件将其打开。我没有最新的 Windows 版本,所以在使用 XAML 设计器时遇到了问题。
我不得不将我的本地计算机更新到最新版本,由于我的网络连接速度慢,这花了一天时间。我建议您下载 Windows Update Assistant,这样您就不需要通过设置中的 Windows Update 进行更新了。您可以从 这里 下载。您也可以手动编写 XAML 代码,而无需设计器(或者从本文提供的源代码中获取)。但我没有测试过这个选项。
所以,当我们的设计器工作正常后,我们可以创建我们非常简单的用户界面。它将有三个按钮和一个彩色矩形。按下按钮后,矩形的颜色会发生变化。初始矩形颜色是黄色,按钮将其更改为红色、绿色或蓝色。UI 看起来会是这样
请注意,在设计器中,您可以选择您的应用将在哪个设备上显示,我选择了“42'' IoT Device (1920 x 1080) 100% scale”,因为我将在连接到树莓派的电视上运行我的应用。请记住,通用 Windows 应用可以在任何 Windows 机器上运行(桌面、树莓派、Windows Phone,可能还有 Xbox),所以 VS 提供了许多屏幕尺寸供您测试和查看您的布局。现在,我们只为一个设备和一个屏幕分辨率开发,所以这并不真正重要。
我们甚至可以用 XAML 编写我们的 UI,而且它真的很简单,看起来会是这样
<Page
x:Class="TestApplication.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:TestApplication"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> <Grid>
<Button x:Name="btnRed" Content="R E D" Margin="98,95,0,0"
VerticalAlignment="Top" Height="88" Width="237" FontSize="48" Click="BtnRed_Click"/>
<Button x:Name="btnGreen" Content="G R E E N" Margin="98,223,0,0"
VerticalAlignment="Top" Height="88" Width="237" FontSize="48" Click="BtnGreen_Click"/>
<Button x:Name="btnBlue" Content="B L U E" Margin="98,360,0,0" Height="88"
Width="237" VerticalAlignment="Top" FontSize="48" Click="BtnBlue_Click"/>
<Rectangle x:Name="RectOutput" HorizontalAlignment="Left" Height="791"
Margin="729,95,0,0" VerticalAlignment="Top" Width="1043" Fill="#FFCDEA17"/>
</Grid>
</Page>
我们的设计现在准备好了,让我们添加一些功能。您可以双击每个按钮以创建 Click
事件,或者,您可以在属性中双击每个按钮的 click
事件。别忘了切换到事件。最后,这是我们的代码
private void BtnRed_Click(object sender, RoutedEventArgs e)
{
RectOutput.Fill = new SolidColorBrush(Colors.Red);
}
private void BtnGreen_Click(object sender, RoutedEventArgs e)
{
RectOutput.Fill = new SolidColorBrush(Colors.Green);
}
private void BtnBlue_Click(object sender, RoutedEventArgs e)
{
RectOutput.Fill = new SolidColorBrush(Colors.Blue);
}
运行您的应用
当一切就绪后,我们就可以在本地计算机上运行应用了,并且应该不会出现任何问题。
现在我们尝试在树莓派上运行我们的应用。树莓派已安装并连接到网络。由于树莓派 3 还有 WiFi,您可以将其连接到您的家庭 WiFi 网络,但我发现树莓派的 WiFi 接收器非常弱,并且由于 WiFi 信号弱而连接遇到问题。我通过以太网线将树莓派连接到我的笔记本电脑,并设置了共享我的笔记本电脑的 WiFi 到以太网。之后,它就能正常工作了。
要在树莓派上运行应用,您必须先将解决方案的体系结构更改为“ARM”,然后在部署菜单中,选择 远程计算机。(请注意,您无法在本地计算机上运行 ARM 体系结构,因为您的 PC 没有 ARM 体系结构处理器)。
将出现一个新窗口,允许您选择要部署应用的远程计算机。通常,您的树莓派会自动检测到,但如果检测不到,您可以输入其 IP 地址进行连接。如果您不知道设备的 IP 地址,请打开 IoT Dashboard,它会为您找到,或者它也显示在连接到树莓派的屏幕上的 IoT 默认应用程序中。要更改或查看此设置,请转到您应用的属性中的“调试”部分。
当您正确设置好所有内容后,我们的应用程序将在树莓派上启动,并且我们还将调试器连接到它,这样我们在 VS 中的断点将在应用程序运行时被命中。首先,复制您的应用程序可能需要一段时间,请耐心等待。
部署和调试您的应用
当然,有时直接从 Visual Studio 部署和运行可能会因为某些原因而失败,您不必担心,还有另一种方法可以解决问题。您可以手动部署您的应用,并使用远程调试器手动连接到它。不幸的是,此选项目前仅适用于 Visual Studio 2017。
如果您只想尝试在设备上安装应用包,可以从这里下载现成的应用包。
或者您可以创建自己的。
首先,您必须通过右键单击您的项目并选择 Store -> Create App Packages... 来创建一个应用包。
然后,我们将选择应用将如何安装。(我们选择侧载,直接将其复制到设备)。
在下一步中,我们将选择要创建的包以及它们的保存位置。您还将设置您的应用程序版本。
此时,我们已经创建了所有包,所以我们可以将它们加载到树莓派上。
现在,我们将打开设备门户并将应用程序直接上传到设备。(使用 IoT Dashboard 查找您的设备 *用户名 = administrator 密码 = {创建 SD 卡时设置的密码})。
通过点击 选择文件 按钮,您可以从本地计算机选择要安装的包。在我的例子中,我需要导航到 _testApplication\AppPackages\TestApplication_1.0.0.0_Debug_test_ 目录,在那里可以找到我的 _appxbundle_ 文件。然后,您将点击 安装 按钮,它将在您的设备上注册并安装包。最后,您的应用将出现在已安装应用的列表中,您可以启动它。
现在您需要启动设备上的远程调试器。
启动后,您将在同一部分找到有关如何连接到它的说明。
如您所见,目前仅支持 Visual Studio 2017,因此您将无法使用 Visual Studio 2019 连接到设备。
无论您如何将应用加载到设备上,当它在已安装应用的列表中时,您都可以通过点击应用列表中的单选按钮将其设置为启动应用。设置完成后,您的应用将在每次启动时自动启动。
总结
我希望本文能帮助您全面了解 Windows 10 IoT Core 的开发、部署和调试过程。也许我讲得过于详细了,但我喜欢以一种每个人都能理解的方式写作,即使是没有背景的人。我希望这将鼓励一些人尝试并亲眼看看。
如果您有任何问题,或发现任何错误,请随时发表评论。我将很乐意回答/纠正错误。
感谢阅读!
历史
- 2019年4月16日:初始版本