社区人脸门禁

更新时间:

概述

本文以人脸门禁为例,结合阿里云IoT数字社区平台和智能通行服务API 2.0,介绍如何在社区使用场景下,使用一个项目管理多个小区的门禁设备。

接入流程:权限下发

社区人脸门禁接入流程
  1. 接入准备:请参考数字社区平台接入准备,创建SI项目并获取访问接口所需的appKey和appSecret。

  2. 社区管理:创建小区并获取小区的鉴权token,即cloudToken。

    • cloudToken代表了小区的身份,用于在一个SI项目内实现多个小区的权限认证和数据隔离。

  3. 用户管理:导入用户账号并把用户及其人脸底库图片绑定到小区的用户组内。

    • 用户组是用于管理和组织用户权限的逻辑概念。在本文的使用流程中,用户组是属于小区的。

    • 用户账号没有小区隔离,一个账号可以跨小区使用。

  4. 设备管理:把人脸门禁设备绑定到小区的设备组内。

    • 设备组是用于管理和组织设备的逻辑概念。在本文的使用流程中,设备组是属于小区的。

    • 设备有小区隔离,一个设备只能绑定到一个小区。

  5. 关系管理:绑定用户组和设备组,实现关联关系的自动下发。

接口说明:社区管理

本节涉及的API,请参考DEMO源代码中的CommunityManager类。参考文档:数字社区平台小区管理

  1. 获取POID列表:根据查询关键词搜索高德地图的POI,相当于在高德地图的搜索框内输入文本,搜索地点。

    • 本文的场景下一般输入小区名字作为查询关键词。

  2. 创建小区:使用第1步查到的POI相关信息,创建小区,一般情况下取第一条结果即可。

  3. 获取cloudToken:小区创建成功并审核通过以后,使用小区ID即可获得代表小区身份的cloudToken,用于后续接口调用。

    • cloudToken有效期一般是2小时,具体以接口返回的expireIn字段为准。

    • cloudToken需要定期刷新或更新,具体请参考API文档。

接口说明:用户管理

本节涉及的API,请参考DEMO源代码中的UserManager类。参考文档:智能通行服务API 2.0

  1. 导入账号:把接入方用户账号的唯一标识作为IoT平台的openId,导入到IoT平台。

    • openId的有效范围是SI项目,因此一个openId可以在多个小区中使用,代表了一个账号在多个小区中的权限数据。

  2. 保存人脸:保存人脸底库图片,用于下发到设备上,实现人脸识别。

  3. 绑定到用户组:绑定用户和用户组。

接口说明:设备管理

本节涉及的API,请参考DEMO源代码中的DeviceManager类。参考文档:智能通行服务API 2.0

  1. 查询设备信息:根据设备设备证书(ProductKey、DeviceName、DeviceSecret)中的productKey和deviceName,查询设备的iotId,即设备的唯一标识。

  2. 绑定到小区:一个设备只能绑定一个小区。

  3. 绑定到设备组:绑定设备和设备组。

接口说明:关系管理

本节涉及的API,请参考DEMO源代码中的RelationManager类。参考文档:智能通行服务API 2.0

  1. 绑定用户组和设备组:绑定完成后,人脸和设备就建立了关联关系,人脸会通过云端的下发引擎,自动下发到对应的设备上。

  2. 查询下发状态:查询人脸权限的下发状态。

接入流程:数据订阅

社区人脸门禁数据订阅

当用户通过人脸识别门禁设备刷脸时,设备会通过与云端的连接通道(MQTT)把消息上报到物联网平台,通过平台的数据总线把数据推送给上层应用。关于上层应用如何实时订阅此类消息,请参考DEMO源代码中的DopDataListener类。

DEMO

开源项目建设中,暂请联系阿里技术小二获取DEMO源代码。

如遇接口返回403,请留存返回报文并联系阿里技术小二处理。