树莓派win10 IoT:从hello world到人脸识别刷脸门禁第一课

‘你好,世界!’

在这个示例中,我们将创建并部署运行Windows 10 IoT Core任何设备的第一个应用程序“Hello,world!”。

创建一个新的C#项目


所有示例代码都可以下载,但作为练习,本教程将带您完成从头开始创建此应用程序的所有步骤。您需要确保您已经从这里安装了Windows 10 IoT核心项目模板。

  1. 启动Visual Studio 2017。

  2. 用(文件| 新建项目 …)创建一个新项目。

    在新建项目对话框中,导航到通用(Universal),如下所示(在对话框的左窗格中:Templates | Visual C#| Windows | Universal)。

  3. 选择模板空白应用程序(Windows通用)。

    记得给你的第一个应用程序一个好名字!在这个例子中,我们调用了项目“HelloWorld”。

树莓派win10 IoT:从hello world到人脸识别刷脸门禁第一课

注意

如果这是您创建的第一个项目,Visual Studio可能会提示您启用Windows 10的开发者模式。

添加对Windows IoT扩展SDK的引用


由于物联网扩展SDK默认不会添加到项目中,因此我们需要添加一个引用,以便像Windows.Devices.Gpio这样的名称空间在项目中可用。为此,只需右键单击项目下的“引用”条目,选择“添加引用”,然后将结果对话框导航至Universal Windows->Extensions->UWP的Windows IoT Extensions,选中该框并单击确定。

树莓派win10 IoT:从hello world到人脸识别刷脸门禁第一课

将内容添加到MainPage.xaml


让我们添加一些内容到MainPage。从解决方案资源管理器中,选择MainPage.xaml文件。我们要添加一个文本框和一个按钮,以显示一些交互。所以我们将编辑XAML文件来添加这些元素。找到设计器的XAML部分中的<Grid>标记,并添加以下标记。

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush  }"> <StackPanel HorizontalAlignment="Center" VerticalAlignment="Center"> <TextBox x:Name="HelloMessage" Text="Hello, World!" Margin="10" IsReadOnly="True"/> <Button x:Name="ClickMe" Content="Click Me!" Margin="10" HorizontalAlignment="Center"/> </StackPanel> </Grid>

现在我们有了一个TextBox和一个Button,我们可以添加一些代码,这些代码在按下按钮时将被执行。双击设计图面中的按钮:Visual Studio将Click属性添加到Button XAML标记,并在MainPage.xaml.cs中生成ClickMe_Click方法。我们在这个方法中添加一行简单的代码。

MainPage.xaml中:

<Button x:Name="ClickMe" Content="Click Me!" Margin="10" HorizontalAlignment="Center" Click="ClickMe_Click"/>

MainPage.xaml.cs中:

private
void ClickMe_Click(object sender, RoutedEventArgs e) {  this.HelloMessage.Text = "Hello, Windows 10 IoT Core!";


  }

在本地构建和测试应用程序


  1. 通过调用调试(Build) |确保应用程序正确构建 Build Solution菜单命令。

  2. 由于这是一个通用Windows平台(UWP)应用程序,因此您也可以在Visual Studio机器上测试应用程序:只需按F5,应用程序就可以在您的机器中运行。你应该看到这样的东西:

树莓派win10 IoT:从hello world到人脸识别刷脸门禁第一课

完成验证后关闭应用程序。

将应用程序部署到Windows IoT Core设备

当然,我们希望将我们的第一个应用程序部署到我们的物联网核心设备。这很容易。在PowerShell文档中,可以找到为您的IoT Core设备选择唯一名称的说明。在这个示例中,我们将在Visual Studio的“远程机器调试”设置中使用该名称(尽管您也可以使用您的IP地址)。

如果你要部署到Minnowboard Max,请在Visual Studio工具栏体系结构下拉列表中选择x86。如果部署到树莓派 2或3或DragonBoard,请选择ARM。

接下来,在Visual Studio工具栏中,单击本地计算机下拉列表并选择远程计算机

此时,Visual Studio将显示“远程连接”对话框。把你的物联网核心设备的IP地址或名称(在这个例子中,我们使用“我的设备”),并选择通用(未加密协议)的身份验证模式。然后点击选择。

树莓派win10 IoT:从hello world到人脸识别刷脸门禁第一课

树莓派win10 IoT:从hello world到人脸识别刷脸门禁第一课

  • 您可以使用IP地址而不是物联网核心设备名称。

  • 您可以验证和/或修改导航到项目属性的这些值(在解决方案资源管理器中选择“属性”),然后选择左侧的“调试”选项卡:

  • 现在我们准备部署到远程物联网核心设备。只需按F5(或选择Debug | Start Debugging)开始调试我们的应用程序。你应该看到应用程序出现在IoT核心设备屏幕上,你应该可以点击按钮。

  • 您可以设置断点,查看变量值等。要停止应用程序,请按“停止调试”按钮(或选择“调试”|“停止调试”)。

  • 在成功部署和调试您的第一个应用UWP,通过简单地改变从Visual Studio工具栏下拉配置创建一个发布版本调试到释放。您现在可以通过选择Build |来构建应用程序并将其部署到您的设备 重建解决方案和构建| 部署解决方案。

  • 恭喜!您只是将第一个UWP应用程序部署到运行IoT Core的设备上!

将您的应用程序设置为启动应用程序

  1. 您可以将您的应用程序设置为Windows IoT Core设备的“启动应用程序”,以便在设备重新启动时自动启动您的应用程序。为此,您需要在Windows IoT Core设备上运行名为iotstartup的命令行实用程序。我们将使用PowerShell来做到这一点。

  2. 按照此处所述,使用Windows IoT Core设备启动PowerShell(PS)会话。

  3. 从PS会话中,键入(为了简单起见,我们将假定应用程序的名称是HelloWorld,请替换您的应用程序的实际名称):

    [192.168.0.243]: PS C:>iotstartup list HelloWorld

    你应该看到UWP应用程序的全名,即:

    Headed : HelloWorld_n2pe7ts0w7wey!App

    该实用程序正在确认您的应用程序是一个“头”的应用程序,并正确安装。

  4. 现在,将这个应用程序设置为“启动应用程序”很容易。只需输入命令:

    [192.168.0.243]: PS C:>iotstartup add headed HelloWorld

    该实用程序将确认新的启动领导应用程序现在是您的应用程序:

    AppId changed to HelloWorld_n2pe7ts0w7wey!App

  5. 继续并重新启动Windows IoT Core设备。在PS会话中,您可以发出关机命令:

    [192.168.0.243]: PS C:>shutdown /r /t 0

  6. 一旦设备重新启动,你会看到你的应用程序自动启动。

  7. 此时,您可以恢复为使用DefaultApp作为“启动应用程序”。只需输入命令:

    [192.168.0.243]: PS C:>iotstartup add headed IoTCoreDefaultApp

    该实用程序将确认新的启动应用程序现在是IoTCoreDefaultApp:

    AppId changed to IoTCoreDefaultApp_kwmcxzszfer2y!App

有了第一次的了解 对于下面的人脸识别刷脸项目才能更好的理解。感兴趣的同学务必尝试一下第一个hello world。

原文始发于:树莓派win10 IoT:从hello world到人脸识别刷脸门禁第一课

|

发表评论