搜索
热门关键词:
泛华恒兴
显示器
LED
Mentor
ST
手机版
官方微博
微信公众号
登录
|
免费注册
首页
新闻
新品
文章
下载
电路
问答
视频
职场
杂谈
会展
工具
博客
论坛
在线研讨会
技术频道:
单片机/处理器
FPGA
软件/编程
电源技术
模拟电子
PCB设计
测试测量
MEMS
系统设计
无源/分立器件
音频/视频/显示
应用频道:
消费电子
工业/测控
汽车电子
通信/网络
医疗电子
机器人
当前位置:
EEChina首页
›
论坛
›
STM32 DIY
返回列表
查看:
24796
|
回复:
0
【开发教程15】疯壳·AI语音人脸识别-加解密及数据协议
[复制链接]
Linda-x
Linda-x
当前离线
积分
9771
发表于 2022-7-29 16:49:40
|
显示全部楼层
|
阅读模式
贸泽电子有奖问答视频,回答正确发放10元微信红包
关键词:
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)
2022-7-29 16:48 上传
点击文件名下载附件
相关文章
•
深圳大学人工智能学院正式揭牌成立 打造大湾区AI创新人才高地
•
明远智睿SSD2351核心板在语音对讲与HMI领域的创新应用
•
明远智睿SSD2351核心板助力智能监控系统升级
•
AI来临 自动化如何应对
•
是德科技N1093DCA-M采样示波器基于AI时代光通信测试
•
明远智睿RK3588开发板:开启边缘计算新时代
•
《RK3588核心板:AIoT边缘计算的革命性引擎,解锁智能物联新范式》
•
2025 中国(西部)国际半导体产业博览会
•
中科院专家展望:RISC-V有望重塑AI时代算力版图
•
信号发生器在AI中赋能智能技术的应用
回复
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
电工杂谈
机器人技术
职业发展
单片机/处理器
汽车电子
消费电子
医疗电子
会展活动
关于我们
-
服务条款
-
使用指南
-
站点地图
-
友情链接
-
联系我们
电子工程网
© 版权所有
京ICP备16069177号
| 京公网安备11010502021702
快速回复
返回顶部
返回列表