STM32驱动K210人脸识别模块经验汇总

本次是基于HLK-KT210 AI人脸识别模块和STM32单片机进行设计的人脸识别项目。主要是人脸识别功能的分析和使用。

1 模块连接

本次使用了海凌科生产的DEMO板,但是由于板子的客观因素,TTL串口没有设计好,需要自行引线才行,故需了解好模块的引脚。串口TTL进行交叉通信,GND做共地处理。如图所示,芯片模组的2引脚是RXD,连接到USB-TTL调试器的TXD或者单片机的TXD,模组的3引脚是TXD,接USB-TTL调试器的RXD或者单片机的RXD,波特率设置为115200(出厂默认,后期可自行更改)进行调试。USB-C口可以直接调试和供电,故不再说明C口,因本设计是自己焊接的板子,所以C口用起来不合适。注意的是供电部分一定要接稳点电压,1A以上,保持电源稳定才行。
在这里插入图片描述

在这里插入图片描述

2 上位机调试

根据手册和官方给的串口调试软件扩展部分的指令,比较容易的进行测试。需要注意的是自己做指令进行验证的话需要CRC校验位,那么可以通过在线网址进行生成,模型和网址如下。
在这里插入图片描述
在这里插入图片描述

3 根据手册和调试过程画的人脸录入和识别的流程

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4 简单的STM32驱动验证

本次仅仅只是个开头,做了人脸信息录入和识别的功能,其它功能以后有时间再去设计驱动,入门以后其实就不复杂了,框架基本已成,后面有时间会更新。

/**
  * @说明     由燃烧电子于2022年3月24日做的初始版本V1.0
  * @TEL      Q2772272579
  * @readme   仅供参考
  */
#ifndef __HLK210_h
#define __HLK210_h

#include "stm32f10x.h"
#include <string.h>
#include <stdio.h>
#include "Def_config.h"
#include "delay.h"

//
#include "usart1.h" 
#define HLK210_SendByte  USART1_SendByte  


//模组返回的消息类型说明
#define HLK210_CTROK           0x00 // 操作成功
#define HLK210_CHECKEDFACE     0x01 // 检测到人脸
#define HLK210_LIVINGBODY      0x02 // 活体通过
#define HLK210_STRERROR        0x03 // 存储操作错误
#define HLK210_STRFULL         0x04 // 人脸库已满
#define HLK210_CHECKOUT        0x05 // 检测超时
#define HLK210_IDERROR         0x06 // 人脸编号ID不存在
#define HLK210_FORMERROR       0x07 // 参数或格式错误
#define HLK210_OTHERERROR      0x08 // 其他错误
#define HLK210_RAMERROR        0x09 // RAM中暂缓的模板不存在
#define HLK210_HAVEDFACE       0x0A // 此人脸已注册

typedef enum {
   NORMAL,INPUTFACEID,CHECKFACEID,DELETEFACEID}ENUM_HLK210;

#define HLK210_NORMALANSWERLEN   18  //命令发出应答长度
#define HLK210_FACEANSWERLEN     21  //人脸录入时反馈字节长度
#define HLK210_RECOANSWERLEN     22  //人类识别时反馈字节长度

#define HLK210_USART_REC_LEN 50
typedef struct SaveData 
{
   
	char HLK210_Buffer[HLK210_USART_REC_LEN];
	char CmdDataLen;		
	ENUM_JUDGE isGetData;		//是否获取到GPS数据
	ENUM_JUDGE isParseData;	//是否解析完成
	ENUM_JUDGE isUsefull;		//信息是否有效
	ENUM_HLK210 NowMode;
	char TimeCount;
} _HLK210_Data;
extern _HLK210_Data HLK210_Data;

void HLK210_ClearDate(void);
void HLK210_Receive_Byte(u8 res);
void HLK210_InputFaceID(void);
void HLK210_CheckFaceID(void);

#endif 

#include "HLK210.h"

#include "bsp_i2c_gpio.h"
#include "bsp_i2c_OLED.h"
#include "delay.h"
#include "usart3.h" 

unsigned char HLK210_FaceStorageCmd[18] ={
   0x5A, 0x2C, 0x00, 0x00, 0x00, 0x12, 0x03, 0x0C, 0x00, 0x00, 
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值