树莓派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到人脸识别刷脸门禁第一课

|

树莓派人脸识别门禁系统第二课:Win IOT微软人脸识别API刷脸开门

树莓派人脸识别门禁系统第二课:Win IOT微软人脸识别API刷脸开门

树莓派人脸识别门禁系统第二课:Win IOT微软人脸识别API刷脸开门

树莓派人脸识别门禁系统第二课:Win IOT微软人脸识别API刷脸开门

项目中使用的硬件与软件

树莓派3B × 1
面包板 × 1
12伏直流电动门 × 1
双通道5V继电器模块 × 1
直流电源适配器 × 1
12V 5A开关电源任何高于3A应该工作。必须是12V。 × 1
网络摄像头网络摄像头保证工作。 × 1
通用键盘和鼠标任何键盘和鼠标都可以。 × 1
通用扬声器由于面部识别门使用音频反馈,因此可以将一对扬声器连接到Raspberry Pi。 × 1
Microsoft Visual Studio 2017
微软Azure
Microsoft Windows 10 IoT核心

家庭安全系统是制造商日益增长的项目领域。自建系统不仅比庞大的专业安装便宜,而且还可以完全控制和定制,以满足您的需求。随着微软的Oxford项目的推出,面部识别应用程序现在比以往更容易被制造商所接受。这个项目利用树莓派,基本的网络摄像头和互联网连接来创建一个通过面部识别自动解锁的门。如果门口的访客被识别,门就会解锁!

1. 根据这些说明设置PC和Raspberry Pi 3 。

2. 接下来,按下图所示连接门铃和电源继电器。功率继电器将用于锁定和解锁门。

树莓派人脸识别门禁系统第二课:Win IOT微软人脸识别API刷脸开门

3. 现在将相同的电源继电器连接到锁上,或电动门打开,如下所示。

树莓派人脸识别门禁系统第二课:Win IOT微软人脸识别API刷脸开门

3/3

4. 将USB摄像头,键盘和鼠标插入Raspberry Pi 3。

软件设置

1. 使用命令提示符导航到您想要项目的文件夹:

2. 下载项目:

git clone https://github.com/ms-iot/Facial-Recognition-Door.git

3. 使用Visual Studio 2017 ,在刚下载的FacialRecognitionDoor文件夹中打开FacialRecognitionDoor.sln解决方案文件。

4. 在右侧面板的“FacialRecognitionDoor”项目下,导航到Constants.cs文件。你应该在顶部看到一个名为“一般常量”的部分。你需要做的第一件事就是输入你的牛津API密钥。按照这里的说明获取您的钥匙。

5. 用你的新密钥替换OXFORD_KEY_HERE:

树莓派人脸识别门禁系统第二课:Win IOT微软人脸识别API刷脸开门

6. 仅用于MINNOWBOARD MAX:将DisableLiveCameraFeed变量从true 切换到false:

树莓派人脸识别门禁系统第二课:Win IOT微软人脸识别API刷脸开门

7. 在Visual Studio的顶部菜单上,如果您使用的是Raspberry Pi,请选择Debug和ARM。如果您正在使用MBM,请选择“调试”和“x86”。

9.按遥控器。在“远程连接”对话框中,您需要输入远程机器IP地址,并使用“通用(未加密协议)”进行认证模式。

使用WindowsIoTCoreWatcher查找您的IP地址。

有关如何在Windows IoT设备上部署应用程序的更多信息,请参阅此文档。

10. 你现在可以运行代码!按绿色的“播放”箭头按遥控器按钮。

软件使用

当你第一次运行项目时,这是你应该看到的屏幕。在MBM上,您可以在软件设置的第6步中将DisableLiveCameraFeed变量设置为false,而不是看到相机图标,您将看到相机正在看到的实时信息。

树莓派人脸识别门禁系统第二课:Win IOT微软人脸识别API刷脸开门

点击“加号”图标。

有三个按钮位于底部的应用程序栏。第一个是“加号”图标。这用于将新用户添加到“白名单”。白名单上的任何用户本质上都标记为“朋友”,并允许用他们的脸部解锁门。现在尝试按“加号”按钮。你应该看到这个屏幕:

树莓派人脸识别门禁系统第二课:Win IOT微软人脸识别API刷脸开门

将您自己或朋友放在网络摄像机前面,然后按下“捕获ID照片”按钮。你应该看到你的新拍摄的自拍.

如果您对照片满意,请输入照片中的人物名称,然后按确认。如果没有,只要按取消,然后拍另一张照片。

按确认后,您将被发送回主页面,但您现在将在“白名单访问者”部分下看到一位用户:

点击页面左上角那个用户的图片,导航到用户的个人资料页面:

在此页面上,您可以使用加号图标来添加更多照片。这将改善面部识别门的整体准确性。您也可以按下垃圾箱图标以删除此用户。完成后,按主页图标。

你现在准备打开门!将注册用户放置在网络摄像头的前面,然后按虚拟门图标(位于之前使用的加号图标旁边)或您连线的物理“门铃”按钮。您应该听到音频反馈,通知您门已经解锁!

现在,当未登记的用户在门前时,尝试按下门铃按钮。您应该听到音频反馈,通知您门检测到一个陌生人,不会解锁!

未翻译的原文地址:

https://microsoft.hackster.io/en-US/windows-iot/windows-iot-facial-recognition-door-e087ce?ref=channel&

ref_id=4087_trending___&

offset=6树莓派人脸识别门禁系统第二课:Win IOT微软人脸识别API刷脸开门

原文始发于:树莓派人脸识别门禁系统第二课:Win IOT微软人脸识别API刷脸开门

|