社區人臉門禁
概述
本文以人臉門禁為例,結合阿里云IoT數字社區平臺和智能通行服務API 2.0,介紹如何在社區使用場景下,使用一個項目管理多個小區的門禁設備。
接入流程:權限下發
接入準備:請參考數字社區平臺接入準備,創建SI項目并獲取訪問接口所需的appKey和appSecret。
社區管理:創建小區并獲取小區的鑒權token,即cloudToken。
cloudToken代表了小區的身份,用于在一個SI項目內實現多個小區的權限認證和數據隔離。
用戶管理:導入用戶賬號并把用戶及其人臉底庫圖片綁定到小區的用戶組內。
用戶組是用于管理和組織用戶權限的邏輯概念。在本文的使用流程中,用戶組是屬于小區的。
用戶賬號沒有小區隔離,一個賬號可以跨小區使用。
設備管理:把人臉門禁設備綁定到小區的設備組內。
設備組是用于管理和組織設備的邏輯概念。在本文的使用流程中,設備組是屬于小區的。
設備有小區隔離,一個設備只能綁定到一個小區。
關系管理:綁定用戶組和設備組,實現關聯關系的自動下發。
接口說明:社區管理
本節涉及的API,請參考DEMO源代碼中的CommunityManager類。參考文檔:數字社區平臺小區管理
獲取POID列表:根據查詢關鍵詞搜索高德地圖的POI,相當于在高德地圖的搜索框內輸入文本,搜索地點。
本文的場景下一般輸入小區名字作為查詢關鍵詞。
創建小區:使用第1步查到的POI相關信息,創建小區,一般情況下取第一條結果即可。
獲取cloudToken:小區創建成功并審核通過以后,使用小區ID即可獲得代表小區身份的cloudToken,用于后續接口調用。
cloudToken有效期一般是2小時,具體以接口返回的expireIn字段為準。
cloudToken需要定期刷新或更新,具體請參考API文檔。
接口說明:用戶管理
本節涉及的API,請參考DEMO源代碼中的UserManager類。參考文檔:智能通行服務API 2.0
導入賬號:把接入方用戶賬號的唯一標識作為IoT平臺的openId,導入到IoT平臺。
openId的有效范圍是SI項目,因此一個openId可以在多個小區中使用,代表了一個賬號在多個小區中的權限數據。
保存人臉:保存人臉底庫圖片,用于下發到設備上,實現人臉識別。
綁定到用戶組:綁定用戶和用戶組。
接口說明:設備管理
本節涉及的API,請參考DEMO源代碼中的DeviceManager類。參考文檔:智能通行服務API 2.0
查詢設備信息:根據設備設備證書(ProductKey、DeviceName、DeviceSecret)中的productKey和deviceName,查詢設備的iotId,即設備的唯一標識。
綁定到小區:一個設備只能綁定一個小區。
綁定到設備組:綁定設備和設備組。
接口說明:關系管理
本節涉及的API,請參考DEMO源代碼中的RelationManager類。參考文檔:智能通行服務API 2.0
綁定用戶組和設備組:綁定完成后,人臉和設備就建立了關聯關系,人臉會通過云端的下發引擎,自動下發到對應的設備上。
查詢下發狀態:查詢人臉權限的下發狀態。
接入流程:數據訂閱
當用戶通過人臉識別門禁設備刷臉時,設備會通過與云端的連接通道(MQTT)把消息上報到物聯網平臺,通過平臺的數據總線把數據推送給上層應用。關于上層應用如何實時訂閱此類消息,請參考DEMO源代碼中的DopDataListener類。
DEMO
開源項目建設中,暫請聯系阿里技術小二獲取DEMO源代碼。
如遇接口返回403,請留存返回報文并聯系阿里技術小二處理。