<var id="fnfpo"><source id="fnfpo"></source></var>
<rp id="fnfpo"></rp>

<em id="fnfpo"><object id="fnfpo"><input id="fnfpo"></input></object></em>
<em id="fnfpo"><acronym id="fnfpo"></acronym></em>
  • <th id="fnfpo"><track id="fnfpo"></track></th>
  • <progress id="fnfpo"><track id="fnfpo"></track></progress>
  • <tbody id="fnfpo"><pre id="fnfpo"></pre></tbody>

  • x
    x
    查看: 25082|回復: 0
    打印 上一主題 下一主題

    【開發教程15】瘋殼·AI語音人臉識別-加解密及數據協議

    [復制鏈接]
    跳轉到指定樓層
    樓主
    發表于 2022-7-29 16:49:40 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
    關鍵詞: AI , 語音識別 , 人臉識別 , 加解密 , 數據協議
    CC3200AI實驗教程
    ——瘋殼·開發板系列
    加解密及數據協議




        在《AI人臉系統架構》一節中,我們提到AI設備與服務器之間的通信協議及TEA加密。這一節主要來講解一下TEA加密另附上《AI設備通信協議》。
        使用IAR打開AI_OCR工程,在工程中找到TEA.c,并打開其關聯的頭文件GeekTEA.h,可以見到如圖1.0.1所示的在本工程中用到的與TEA加解密相關的函數。

       
        圖1.0.1 TEA加解密相關函數
        圖1
        由于加密前需要傳遞加密緩沖區大小的形參,故在加密前需要先調用獲取加密緩沖區的大小的函數getEncryptSize(),其函數內容如圖1.0.2所示。

       
        圖1.0.2 getEncryptSize()函數
        圖2
        接下來就是對加密數據進行拼裝以及對數據進行加密,如圖1.0.3所示為批量加密函數。

       
        圖1.0.3 加密函數
        圖3
        形參buf為存儲加密后的數據緩沖區、size為getEncryptSize獲取到大小、key為加密的秘鑰即程序中的globle_Auth_key或者Skey、IS_BIG_ENDIAN為大小端選擇(1為大端、0為小端,CC3200為大端)。
        大端與小端的區別在于數據的存儲在內存的高低位不同。
        大端模式,是指數據的高字節保存在內存的低地址中,而數據的低字節保存在內存的高地址中。
        小端模式,是指數據的高字節保存在內存的高地址中,而數據的低字節保存在內存的低地址中。
        解密部分和加密部分相似,是一個逆運算。如圖1.0.4為decryptBatch()即解密函數。

       
        圖1.0.4 decryptBatch函數
        圖4



        附:AI設備通信協議
        一、數據包種類
        響應數據報文分為兩部分:報文頭、報文體。報文頭固定9個字節,頭四個字節是報文類型,對應請求數據包的報文類型,接下來四個字節是報文體(不包括報文頭)的長度。最后一位是響應狀態碼,其中0xff固定表示秘鑰過期,需要更新秘鑰,其他以各自描述為準。
        請求數據報文分為兩部分:報文頭、報文體。報文頭固定8字節,頭四個字節是報文類型,后四個是報文體的長度。
        人臉注冊發送圖片報文類型報文頭5個字節,第一字節報文類型,后四個報文體長度。
        1、通用數據包
        1.1 激活數據包
        設備第一次跟服務器建立連接,建立連接后發送該數據包。
        數據包格式:

       
        表1
        響應結果:
        如果該設備已經激活、報文無法解析、鑒權失敗,將斷開連接。
        解析并鑒權成功后,響應的數據包格式如下:

       
        表2
        1.2 激活確認包
        用于接收到激活數據包響應數據后返回確認信息。
        數據包格式:

       
        表3
        響應結果:
        如果解析包失敗或鑒權失敗,斷開連接。
        解析并鑒權成功,之后數據交互使用skey加密。

       
        表4
        1.3 更新秘鑰數據包
        用于秘鑰過期時更新秘鑰,也用于心跳,如果一段時間沒有請求,發送該包。
        數據包格式:

       
        表5
        響應結果:
        如果解析包失敗或鑒權失敗,斷開連接。
        解析成功,響應的數據包格式有兩種:

       
        表6
        1.4 更新秘鑰確認包
        用于發送更新秘鑰數據包接收到返回數據后進行確認的數據包。如果未收到響應或超時,可再次請求。如果請求成功,表示秘鑰更新成功,舊的skey將徹底無法使用,之后與服務器通訊將使用新的skey。
        數據包格式:

       
        表7
        響應結果:
        如果解析包失敗或鑒權失敗,斷開連接。
        解析成功響應報文,之后的請求將使用新的skey。

       
        表8
        1.5 握手包
        已激活的設備在與服務器建立連接后,先發送該包鑒權。
        數據包格式:

       
        表9
        響應結果:
        如果解析包失敗或鑒權失敗,斷開連接。
        解析成功響應報文。如果響應結果skey過期,發送1.3、1.4的包

      
        表10
        2、人臉識別業務數據包
        2.1 人臉注冊數據包
        人臉注冊流程:先發送注冊開始數據包,收到確認后,依次發送各個不同的人臉數據包。最后發送注冊結束包,收到確認后結束人臉注冊。
        數據包格式:

       
        表11
        響應數據:
        如果解析包失敗或鑒權失敗,斷開連接。
        解析成功,開始發送不同類型的人臉圖片。

       
        表12
        ②臉部信息注冊包
        人臉類型代碼:0x00:正臉;0x01:左側臉;0x02:右側臉;0x03:閉眼;0x04:張嘴;0x05:微笑;0x06:眨眼。

       
        表13
        響應數據:

       
        表14
        ③結束注冊數據包
        注冊完成發送結束注冊包。

       
        表15
        響應數據:

       
        表16
        2.2 人臉刪除
        用于刪除人臉信息。
        數據包格式:

       
        表17
        加密字段格式:

       
        表18
        響應數據:
        如果解析包失敗或鑒權失敗,斷開連接。
        解析成功。

       
        表19
        2.3 人臉識別
        用于已知一張臉,在人臉庫中找到最相似的臉,user_top_num表示返回相似度最高的前多少個人臉。
        數據包格式:

       
        表20
        加密字段格式:

       
        表21
        響應數據:
        如果解析包失敗或鑒權失敗,斷開連接。
        解析成功,識別包格式:

       
        表22
        單次循環體格式,人臉類型代碼:0x00:正臉;0x01:左側臉;0x02:右側臉;0x03:閉眼;0x04:張嘴;0x05:微笑;0x06:眨眼。

       
        表23
        2.4 人臉認證
        用于比較人臉與指定用戶id之間的相似程度。
        數據包格式:

       
        表24
        加密字段格式,人臉類型代碼:0x00:正臉;0x01:左側臉;0x02:右側臉;0x03:閉眼;0x04:張嘴;0x05:微笑;0x06:眨眼。

       
        表25
        響應數據:
        如果解析包失敗或鑒權失敗,斷開連接。
        解析成功,返回數據包格式:

       
        表26



    如需定制開發,請通過官網“瘋殼”網頁底部的“聯系我們”進行聯系

        文件下載請點擊: 【5】加解密及數據協議.pdf (688.68 KB)





    您需要登錄后才可以回帖 登錄 | 立即注冊

    本版積分規則

    關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
    電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
    快速回復 返回頂部 返回列表
    精品一区二区三区自拍图片区_国产成人亚洲精品_亚洲Va欧美va国产综合888_久久亚洲国产精品五月天婷