清单
硬件部分
Raspberry Pi 2 Model B
PIR运动传感器(通用)
Microsoft LifeCam 3000 HD摄像头
伺服马达FS5103R
5V电源
电阻器 1k欧姆
软件应用程序及在线服务
Microsoft Windows 10 IoT Core
Microsoft Visual Studio 2015
Microsoft Project Oxford
Microsoft Azure
Microsoft Azure云存储服务
动手实践
关于项目:
该设备使用Microsoft Project Oxford面部识别方案,检测访问者是否为房子的所有者,通过验证之后会立马打开房门,否则系统将向房屋所有者绑定的移动设备推送一条警告信息,并询问是否给该访问者开门。
使用/集成的服务
Azure storage云存储服务
Microsoft Project Oxford: 面部识别API
使用ASP.Net SignalR将所有者的行为发送给树莓派
使用WNS向移动设备发送通知信息
组件
Raspberry Pi 2 Model B x1
RIP传感器 x1
微软LifeCam 3000 HD x1
伺服马达 FS5103R x1
电池组 x1
1kΩ电阻 x1
电路图以及线路图
Pin分配
移动侦测,捕捉图像以及访问者分析
首次运行该应用程序,默认会创建一个IsActive属性为真的PIRProximitySensor类实例。
该实例用于RIP传感器与应用程序之间的连接。如果IsActive属性设置为真,当传感器检测到一个动作发生时会触发MotionDetected事件,然后要求连接到传感器的GPIO pin number执行对应的操作。移动侦测的捕捉影片命令会将获取到的访问者面部图像,发送到Project Oxford服务器进行识别。如果确认为该房屋的所有者,伺服马达将打开房门;否则将获取到的访问者面部图像发送到绑定的移动设备。如果房屋所有者选择打开房门,命令将通过后端服务的SignalR推送给树莓派,然后打开房门。
当在识别访问者过程以及传感器进行必要操作期间,IsActive属性不能被设置为假。关闭房门之后该属性重新设置回真,激活识别系统。
芝麻开门
我们使用伺服马达控制房门。向马达发送2毫秒脉冲时,马达会旋转180°门就打开了;向马达发送1毫秒脉冲时,马达会旋转回0°,门再次关闭。 伺服马达的位置是由脉冲长度决定。转动系统预期至少每隔20毫秒收到一个脉冲,如果脉冲超过1毫秒,伺服马达将转到0°;如果为1.5毫秒脉冲,其转到90°位置;如果是2毫秒,将会转到180°位置。
Project Oxford: Face API
Face API是一个基于云计算的API,其提供了当前最先进的人脸检测识别的算法。Face API的主要功能可以分为两类:其一对人脸进行检测提取其特征提取,其二便是人脸识别 戳这里访问该项目主页。
如何部署以及工作
按照上面图表连接好电路之后,从HomeVisitsManager.VisitsController项目的方案平台选择ARM,之后从模拟器列表选择远程机器并输入你的树莓派IP和凭证,最后运行该方案;多个项目同时运行(所有者的windows phone应用,后端服务以及物联网设备)
引用:
伺服马达:http://razzpisampler.oreilly.com/ch05.html
人脸检测和识别:https://www.projectoxford.ai/doc/face/How-To/identifyperson
点赞就鲍照
项目代码
<详细代码请点击原文查看>