杭州城章科技有限公司人脸模组简易测试
人脸模块型号:FP001
接口:1.0*6pin
电源要求:电压范围3.0V-3.6V 电流:>400ma(搜索时最大值,建议使用DC转DC电源,如TMI3281 STI3470等)
TMI3281 5V转3.3V原理图和电阻配置
使用测试板P3口进行测试
接口线序 1:3.3V 2:TXD 3:RXD 4:GND 5:D- 6:D+
串口参数:115200bps / 8 数据位 / 1 停止位 / 无校验 / 3.3V TTL
视频参数:黑白画面,320*240分辨率
串口测试软件:SSCOM V5.13.1
USB图像测试软件:笔记本自带相机软件或PotPlayer
或
利用笔记本自带相机进行图像测试:
线路连接好以后,稍等1分钟,点击右上角画圈处图标就可以
图像为黑白图像。
注意:受芯片算力限制,压缩比率较大,大画面显示时图像会比较模糊,
使用PotPlayer进行测试
1:点击左上角PotPlayer文字
2:点击》打开》摄像头/其他设备 等待几秒后即可出现画面
摄像头工作时,红外补光灯会同步亮起来。
串口指令测试
打开SSCOM串口软件后,如点击左下角《端口号》图标后,选择正确的端口号,
(如果没有显示,则需先安装CH340的驱动)
按照顺序设置好串口软件
指令格式:
主控 → 模块(指令包)**
|字段 | SyncWord | MsgID | Size | Data | ParityCheck |
|长度 | 2B | 1B | 2B | N B | 1B |
|值 | `EF AA` | 指令码 | 高字节在前 | 参数(可为空) | 校验码 |
模块 → 主控(应答包,标准 REPLY)
|字段 | SyncWord | MsgID | Size | Data | ParityCheck |
|长度 | 2B | 1B | 2B | N B | 1B |
|值 | `EF AA` | `00` (MID_REPLY) | 高字节在前 | `mid(1B) + result(1B) + data(nB)` | 校验码 |
1:MID_RESET(0x10)待机指令
**指令包**(无参数):
EF AA | 10 | 00 00 | 10
│ │ │ └校验码 = 0x10^0x00^0x00 = 0x10
│ │ └ Size = 0x0000
│ └ MsgID = 0x10 (MID_RESET)
└ SyncWord
**应答包**(成功 `result=00`):
EF AA | 00 | 00 02 | 10 00 | 12
│ │ │ │ └校验码 = 0x00^0x00^0x02^0x10^0x00 = 0x12
│ │ │ └ Data: mid=0x10, result=0x00(成功)
│ │ └ Size = 0x0002
│ └ MsgID = 0x00 (MID_REPLY)
└ SyncWord
指令:EF AA 10 00 00 10
返回:EF AA 00 00 02 10 00 12
2. MID_GETSTATUS(0x11)获取模组状态
指令:EF AA 11 00 00 11
返回:
| 00 | MS_STANDBY待机 | EF AA 00 00 03 11 00 00 12 |
| 01 | MS_BUSY工作中 | EF AA 00 00 03 11 00 01 13 |
| 02 | MS_ERROR出错 | EF AA 00 00 03 11 00 02 10 |
3:提示灯指令(0x90)
城章科技的FP001有三个颜色可以设置 白 绿 红
几个颜色也可以同时组合亮灭,用来提供更多信息
EF AA 90 00 02 02 00 90白灯亮
EF AA 90 00 02 02 01 91白灯灭
EF AA 90 00 02 00 00 92绿灯亮
EF AA 90 00 02 00 01 93绿灯灭
EF AA 90 00 02 01 00 93红灯亮
EF AA 90 00 02 01 01 92红灯灭
三个灯一起亮
4:MID_ENROLL_SINGLE(0x1D)单帧录入
仅需一张正脸(人脸)或自然张开手掌(掌静脉)即可录入成功
指令包:
Data = admin(1) + user_name(32) + face_direction(1) + timeout(1),
EF AA1D00 230100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0000142B
MsgID = 0x1D
Size=0x23
admin=0x01
user_name=00 00 00……00 00(32位,可以自由填入任意信息,注意校验和不要算错)
face_direction=00人脸
timeout=0x14超时时间20秒
校验和=0x2B
返回包
EF AA0000 051D0000 010019
MsgID = 0x00指令执行成功
Size=0x05
mid=0x1D
result=00人脸录入成功
user_id=0x01人脸位置ID号
face_direction=0x00代表人脸单帧录入
校验和=0x19
人脸位置note包解释:
可以等熟悉人脸模组后再去仔细学习。
EF AA | 01 | 00 11 | 01 | 00 00 64 00 32 00 64 00 32 00 F6 FF 00 00 0A 00 | 12
│ │ │ │ │ └ s_note_data_face:
│ │ │ │ │ 00 00 state=0正常
│ │ │ │ │ 64 00 left=100 32 00 top=50
│ │ │ │ │ 64 00 right=100 32 00 bottom=50
│ │ │ │ │ F6 FF yaw=-10(左转) 00 00 pitch=0 0A 00 roll=10
│ │ │ │ └ nid=0x01 (NID_FACE_STATE)
│ │ │ └ Size = 0x0011 (17字节)
│ │ └ MsgID = 0x01 (MID_NOTE)
└ SyncWord
5 MID_VERIFY(0x12)人脸/掌静脉识别解锁
指令包:Data = pd_rightaway(1B) + timeout(1B)
pd_rightaway:解锁后是否立刻断电:00 断电(默认),01`不断电(该参数已弃用)
timeout解锁超时时间(秒):0x01—0xff(1秒至255秒)建议取10秒以上的数值。
-指令包(timeout=10s):EF AA 12 00 02 00 0A 1A
-指令包(timeout=30s):EF AA 12 00 02 01 1E 0F
返回包:
搜索失败后返回
EF AA0000 02120818
MsgID = 0x00 (MID_REPLY)指令成功执行
Size = 0x0026 (38字节)
mid=0x12
result=0x08没有已录入的人脸
检验和=0x18
搜索成功后返回:
EF AA0000 26120000 0100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0001C8FC
MsgID = 0x00 (MID_REPLY)指令成功执行
Size = 0x0026 (38字节)
mid=0x12
result=00人脸搜索成功
user_id=0001
name=00 00 00……00 00(32位0,在录入人脸时可以自由填入)
admin=01管理员标志位1
unlocStatus=0xc8人脸验证成功
检验码=0xFC