国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

STM32外設(shè)集 -- 人臉識(shí)別門禁系統(tǒng)(K210--HEX協(xié)議版本)

這篇具有很好參考價(jià)值的文章主要介紹了STM32外設(shè)集 -- 人臉識(shí)別門禁系統(tǒng)(K210--HEX協(xié)議版本)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

前言

人臉,指紋識(shí)別已經(jīng)走進(jìn)人們的生活,無疑這方便了人們的生活,也提高了安全和可靠性,所以作為未來的學(xué)習(xí)方向,我也來接觸接觸人臉識(shí)別(有不足之處請(qǐng)見諒??)


項(xiàng)目選型

STM32外設(shè)集 -- 人臉識(shí)別門禁系統(tǒng)(K210--HEX協(xié)議版本)

為什么選擇 K210?

因?yàn)檫@款芯片有充足的開源資料足夠支撐我們學(xué)習(xí),并將文檔也很友好

STM32外設(shè)集 -- 人臉識(shí)別門禁系統(tǒng)(K210--HEX協(xié)議版本)

相關(guān)資料連接

使用說明 (Github): github.com/sipeed/MF1-User-Manual
硬件原理圖/數(shù)據(jù)手冊(cè): https://dl.sipeed.com/shareURL/MAIX/HDK
固件/資源包資料下載: http://api.dl.sipeed.com/shareURL/MF_Module
Sipeed HardWare: github.com/sipeed/Sipeed_HardWare


?核心部分(K210)

主要根據(jù)?MF 人臉識(shí)別模塊通信串口協(xié)議(Hex版)進(jìn)行編寫程序,本次只是寫了添加,刪除和查詢?nèi)齻€(gè)基礎(chǔ)功能

使用到 串口2 進(jìn)行通信(代碼未貼,需要自行配置)

MF 人臉識(shí)別模塊通信串口協(xié)議(Hex版)https://github.com/sipeed/MF1-User-Manual/blob/master/zh_CN/p02_mf_protocol_manual_v2_hex_zh_CN.md

K210.h

/*********************************************************************************
* @Function	:  hr建立
	@TEL      :  Q1727606470
	@Others	  :  參考使用
**********************************************************************************/
#ifndef __H210_h
#define __H210_h

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


typedef struct 
{
  uint8_t Add_User;   //添加用戶指令
	uint8_t Delete_User;//刪除用戶指令
	uint8_t Check_User; //檢測(cè)用戶指令
	uint8_t Set_LED;		//設(shè)置LED亮度
		
}State_Flage_TypeDef;

//模組返回的消息類型說明
#define BINCMD_PING           0x00 // ping 指令
#define BINCMD_ABORT     			0x01 // 中斷當(dāng)前執(zhí)行指令
#define BINCMD_INFO     			0x02 // 查詢板卡信息
#define BINCMD_BAUD      		  0x03 // 設(shè)置波特率
#define BINCMD_RECORD         0x04 // 開始錄入人臉
#define BINCMD_CONFIRM        0x05 // 確認(rèn)錄入人臉
#define BINCMD_DEL        		0x06 // 刪除指定 ID 人臉
#define BINCMD_FR_RUN       	0x07 // 開始/停止運(yùn)行人臉識(shí)別
#define BINCMD_FR_RES      		0x08 // 模塊返回的人臉識(shí)別結(jié)果
#define BINCMD_FR_GATE        0x09 // 設(shè)置人臉識(shí)別門限
#define BINCMD_LED       			0x0A // 設(shè)置LED燈狀態(tài)
#define BINCMD_FR_RUN2       	0x0B // 
/*********************************************************************************
* @Function	:  添加指定ID人臉
* @Input		:  User_ID 用戶id(0~254)	
* @Output		:  None 
* @Return		:  None
* @Others		:  未使用CRC16驗(yàn)證
* @Date			:  2022-09-14
**********************************************************************************/
void H210_InputFaceID(u8 User_ID);
/*********************************************************************************
* @Function	:  刪除指定ID
* @Input		:  User_ID 用戶id(0~254)	
* @Output		:  None 
* @Return		:  None
* @Others		:  None
* @Date			:  2022-09-14
**********************************************************************************/
void H210_ClearDate(u8 User_ID);
/*********************************************************************************
* @Function	:  檢測(cè)人臉
* @Input		:  None
* @Output		:  None
* @Return		:  None
* @Others		:  未使用CRC16驗(yàn)證
* @Date			:  2022-09-14
**********************************************************************************/
void H210_CheckFacesID(void);

#endif 

K210.c

#include "k210.h"
//k210使用的串口2
#include "usart.h"
#include "usart2.h" 
#include "delay.h"

extern u8 USART2_RX_BUF[USART2_MAX_RECV_LEN]; //獲取接收消息
extern vu16 USART2_RX_STA;   	
State_Flage_TypeDef *State_Flage; //枚舉一個(gè)狀態(tài)值
/*********************************************************************************
* @Function	:  固定指令(程序中進(jìn)行修改)
**********************************************************************************/
unsigned char H210_FaceStorageCmd[11] ={0x24,0x24,0x0B,0x00,0xFF,0xFF,0x04,0x00,0x00,0x05,0x01};//錄入人臉,設(shè)置超時(shí)時(shí)間為 5 秒
unsigned char H210_FaceOKCmd[8] ={0x24,0x24,0x08,0x00,0xFF,0xFF,0x05,0x01};				 //確認(rèn)錄入成功
unsigned char H210_CheckFaceID[8] ={0x24,0x24,0x08,0x00,0xFF,0xFF,0x07,0x01};			 //開啟人臉識(shí)別,設(shè)置僅上報(bào)id,可以觀察到紅外燈亮起
unsigned char H210_CheckFaceIDMsg[8] ={0x24,0x24,0x08,0x00,0xFF,0xFF,0x07,0x02};	 //開啟人臉識(shí)別,設(shè)置上報(bào)id及特征值,可以觀察到紅外燈亮起
unsigned char H210_CheckFaceNum[7] ={0x24,0x24,0x07,0x00,0xFF,0xFF,0x11};					 //查詢錄入人數(shù)
unsigned char H210_CheckFaceAllmsg[7] ={0x24,0x24,0x07,0x00,0xFF,0xFF,0x12};			 //查詢錄入的所有信息
unsigned char H210_DeleteFaceID[9] ={0x24,0x24,0x09,0x00,0xFF,0xFF,0x06,0x00,0xFF};//刪除指定用戶信息	
unsigned char H210_SetLEDLight[8] ={0x24,0x24,0x08,0x00,0xFF,0xFF,0x0A,0x80};			 //刪除指定用戶信息	
/*********************************************************************************
* @Function	:  設(shè)置LED亮度
* @Input		:  User_ID 用戶id(0~254)	
* @Output		:  None 
* @Return		:  None
* @Others		:  None
* @Date			:  2022-09-14
**********************************************************************************/
static void Clear_flage(void)
{
	//清空標(biāo)志位
	State_Flage->Add_User =0;   //添加人臉標(biāo)志位
	State_Flage->Delete_User =0;//刪除人臉標(biāo)志位
	State_Flage->Check_User =0; //檢測(cè)人臉標(biāo)志位
	State_Flage->Set_LED =0;		//設(shè)置LED亮度標(biāo)志位
	H210_FaceStorageCmd[8]=0;   //恢復(fù)人臉錄入數(shù)
}
/*********************************************************************************
* @Function	:  設(shè)置LED亮度
* @Input		:  User_ID 用戶id(0~254)	
* @Output		:  None 
* @Return		:  None
* @Others		:  None
* @Date			:  2022-09-14
**********************************************************************************/
static void Set_Light(u8 Light)
{
	State_Flage->Set_LED =1;
	H210_SetLEDLight[7] = Light;//修改LED亮度
	Usart_SendArray(USART2,(char*)H210_SetLEDLight,sizeof(H210_SetLEDLight));//發(fā)送錄入指令
}

/*********************************************************************************
* @Function	:  添加指定ID人臉
* @Input		:  User_ID 用戶id(0~254)	
* @Output		:  None 
* @Return		:  None
* @Others		:  未使用CRC16驗(yàn)證
* @Date			:  2022-09-14
**********************************************************************************/
void H210_InputFaceID(u8 User_ID)
{
	State_Flage->Add_User =1;
	H210_FaceStorageCmd[7] = User_ID;//修改用戶ID
	Usart_SendArray(USART2,(char*)H210_FaceStorageCmd,sizeof(H210_FaceStorageCmd));//發(fā)送錄入指令
}
/*********************************************************************************
* @Function	:  刪除指定ID
* @Input		:  User_ID 用戶id(0~254)	
* @Output		:  None 
* @Return		:  None
* @Others		:  未使用CRC16驗(yàn)證
* @Date			:  2022-09-14
**********************************************************************************/
void H210_ClearDate(u8 User_ID)
{
	State_Flage->Delete_User =1;
	H210_DeleteFaceID[7] = User_ID;//修改用戶ID
	Usart_SendArray(USART2,(char*)H210_DeleteFaceID,sizeof(H210_DeleteFaceID));//發(fā)送刪除指令
}
/*********************************************************************************
* @Function	:  檢測(cè)人臉
* @Input		:  None
* @Output		:  None
* @Return		:  None
* @Others		:  未使用CRC16驗(yàn)證
* @Date			:  2022-09-14
**********************************************************************************/
void H210_CheckFacesID(void)
{
	State_Flage->Check_User =1;
	Set_Light(90); //亮度設(shè)置(補(bǔ)光)
	Usart_SendArray(USART2,(char*)H210_CheckFaceID,sizeof(H210_CheckFaceID));//發(fā)送刪除指令
}
/*********************************************************************************
* @Function	:  循環(huán)檢測(cè)是否符合指令
* @Input		:  None
* @Output		:  None 
* @Return		:  None
* @Others		:  None
* @Date			:  2022-09-14
**********************************************************************************/
void H210_CheckHex(void){
	if(USART2_RX_STA){
		if(State_Flage->Check_User){//檢測(cè)用戶
			if(USART2_RX_BUF[2]==BINCMD_FR_RES&&USART2_RX_BUF[4] ==0x83){//40 40 08 00 83 CE 87 00 檢測(cè)成功
				printf("用戶ID: %d",USART2_RX_BUF[7]);//輸出檢測(cè)成功的用戶ID
				Clear_flage(); //清除標(biāo)志位
				Set_Light(0);  //關(guān)閉補(bǔ)光
			}
		}
		else if(State_Flage->Add_User){//添加用戶
			if(USART2_RX_BUF[2]==BINCMD_FR_RES&&USART2_RX_BUF[4] ==0x2A){//錄入第一次人臉信息
				
				switch(H210_FaceStorageCmd[8]){
					case 0x00:H210_FaceStorageCmd[8]++;break;//開始錄入第二次錄入人臉信息
					case 0x01:H210_FaceStorageCmd[8]++;break;//開始錄入第三次錄入人臉信息
					case 0x02:H210_FaceStorageCmd[8]++;break;//超過我們限定(3)的錄入次數(shù)(發(fā)送確認(rèn)錄入信息)
				}
				if(H210_FaceStorageCmd[8]>0x02){
					Usart_SendArray(USART2,(char*)H210_FaceOKCmd,sizeof(H210_FaceOKCmd));//確認(rèn)錄入指令
					Clear_flage(); //清除標(biāo)志位
				}else{
					Usart_SendArray(USART2,(char*)H210_FaceStorageCmd,sizeof(H210_FaceStorageCmd));//發(fā)送錄入指令
				}
			}
		}
		else if(State_Flage->Delete_User){//刪除用戶
			if(USART2_RX_BUF[2]==BINCMD_FR_RES&&USART2_RX_BUF[4] ==0x5B){//40 40 08 00 5B D7 86 00 刪除成功
				Clear_flage(); //清除標(biāo)志位
			}
		}
		else if(State_Flage->Set_LED){//設(shè)置LED亮度
			if(USART2_RX_BUF[2]==BINCMD_FR_RES&&USART2_RX_BUF[4] ==0xFB){//40 40 08 00 5B D7 86 00 刪除成功
				Clear_flage(); //清除標(biāo)志位
			}
		}
	}
}

人臉設(shè)別的STM32主要的代碼塊已貼

STM32外設(shè)集 -- 人臉識(shí)別門禁系統(tǒng)(K210--HEX協(xié)議版本)文章來源地址http://www.zghlxwxcb.cn/news/detail-405317.html

到了這里,關(guān)于STM32外設(shè)集 -- 人臉識(shí)別門禁系統(tǒng)(K210--HEX協(xié)議版本)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 基于STM32的多功能門禁系統(tǒng)(AS608指紋識(shí)別、密碼解鎖、刷卡解鎖)

    基于STM32的多功能門禁系統(tǒng)(AS608指紋識(shí)別、密碼解鎖、刷卡解鎖)

    目錄 一、項(xiàng)目功能 二、視頻 三、原理圖 4、材料選擇 5、部分程序 1、AS608指紋解鎖;可以錄入、刪除、驗(yàn)證指紋; 2、密碼解鎖;可以密碼驗(yàn)證、修改密碼和保存密碼; 3、刷卡解鎖; 4、OLED液晶顯示; 基于STM32的多功能門禁系統(tǒng)(AS608指紋識(shí)別、密碼解鎖、刷卡解鎖) AS608指紋

    2024年02月12日
    瀏覽(24)
  • 元宇宙場(chǎng)景下基于區(qū)塊鏈人臉識(shí)別門禁系統(tǒng)-摘自宣科智能

    元宇宙場(chǎng)景下基于區(qū)塊鏈人臉識(shí)別門禁系統(tǒng)-摘自宣科智能

    如今隨著社會(huì)經(jīng)濟(jì)發(fā)展水平的提升,市場(chǎng)對(duì)于人臉識(shí)別技術(shù)的需求擴(kuò)大。如刷臉門禁、上下班打卡、訪客來訪等都可能掃一掃臉?;谌四樧R(shí)別的技術(shù)迭代更新,人臉識(shí)別技術(shù)在安防領(lǐng)域也有了更加開闊的發(fā)展空間,現(xiàn)有技術(shù)的人臉識(shí)別門禁系統(tǒng)存在諸多問題,例如:信息的

    2024年02月11日
    瀏覽(28)
  • 基于STM32的智能門禁系統(tǒng)

    基于STM32的智能門禁系統(tǒng)

    stm32F407主控芯片 RFID模塊 矩陣按鍵模塊 AS608指紋模塊 SG90舵機(jī)模塊 OLED顯示屏模塊 尋卡 讀取卡序列號(hào) 匹配卡號(hào) 保存卡 刪除卡 按行按列讀取,獲取按鍵值 檢測(cè)是否有手指按下圖像 刷指紋 錄入指紋 刪除指紋

    2024年02月13日
    瀏覽(32)
  • Linux畢業(yè)設(shè)計(jì):基于OpenCV和QT庫實(shí)現(xiàn)的人臉識(shí)別考勤/門禁系統(tǒng)(arm嵌入式ubuntu)

    Linux畢業(yè)設(shè)計(jì):基于OpenCV和QT庫實(shí)現(xiàn)的人臉識(shí)別考勤/門禁系統(tǒng)(arm嵌入式ubuntu)

    ????????本文介紹:Linux上以opencv和qt庫實(shí)現(xiàn)的人臉識(shí)別系統(tǒng),可應(yīng)用于考勤、門禁等場(chǎng)景,具有人臉錄入、刪除、人臉檢測(cè)、識(shí)別、用戶管理等完整功能??蛇\(yùn)行于ARM嵌入式linux、ubuntu即純軟件、ARM+PC組合等多種方式,應(yīng)用場(chǎng)景多樣且易于移植各個(gè)平臺(tái)。 畢業(yè)設(shè)計(jì)題目匯

    2024年02月04日
    瀏覽(28)
  • stm32畢業(yè)設(shè)計(jì) 智能門禁系統(tǒng)

    stm32畢業(yè)設(shè)計(jì) 智能門禁系統(tǒng)

    Hi,大家好,今天向大家介紹一個(gè)學(xué)長做的單片機(jī)項(xiàng)目 基于單片機(jī)的門禁系統(tǒng) 大家可用于 課程設(shè)計(jì) 或 畢業(yè)設(shè)計(jì) 門禁系統(tǒng)的基本組成主要包括身份識(shí)別、傳感與報(bào)警、處理與控制、電鎖與執(zhí)行、管理與設(shè)置。 本系統(tǒng)從應(yīng)用角度出發(fā),針對(duì)家庭或小型辦公場(chǎng)所的使用需求,主

    2024年02月01日
    瀏覽(27)
  • stm32畢設(shè) stm32 RFID員工打卡門禁系統(tǒng)(源碼+硬件+論文)

    stm32畢設(shè) stm32 RFID員工打卡門禁系統(tǒng)(源碼+硬件+論文)

    ?? 這兩年開始畢業(yè)設(shè)計(jì)和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的畢設(shè)題目缺少創(chuàng)新和亮點(diǎn),往往達(dá)不到畢業(yè)答辯的要求,這兩年不斷有學(xué)弟學(xué)妹告訴學(xué)長自己做的項(xiàng)目系統(tǒng)達(dá)不到老師的要求。 為了大家能夠順利以及最少的精力通過畢設(shè),學(xué)長分享優(yōu)質(zhì)畢業(yè)設(shè)計(jì)項(xiàng)目,今天

    2024年02月20日
    瀏覽(24)
  • 基于STM32的智能門鎖/智能門禁多功能系統(tǒng)

    基于STM32的智能門鎖/智能門禁多功能系統(tǒng)

    本次設(shè)計(jì)是基于STM32F103C8T6(以下C8T6等同)開發(fā)的智能鎖,支持多種方式對(duì)系統(tǒng)進(jìn)行操作:藍(lán)牙、指紋、RFID刷卡、4x4鍵盤輸入,擁有友好的藍(lán)牙收發(fā)界面和LCD交互界面。 藍(lán)牙:作為總系統(tǒng)的管理員,有主管理和次管理,主管理只能有一個(gè),副管理員可以有多個(gè)。主管理員擁有

    2024年02月08日
    瀏覽(31)
  • FreeRTOS小項(xiàng)目實(shí)戰(zhàn)------基于FreeRTOS和stm32的門禁系統(tǒng)

    FreeRTOS小項(xiàng)目實(shí)戰(zhàn)------基于FreeRTOS和stm32的門禁系統(tǒng)

    目錄 收獲 系統(tǒng)總體框架 程序框架 具體程序?qū)崿F(xiàn) 工程文件網(wǎng)盤鏈接 收獲 學(xué)習(xí) freertos的移植與裁剪 ,對(duì)任務(wù)間通信的認(rèn)識(shí)更加深刻,加深了實(shí)時(shí)操作系統(tǒng)的理解,學(xué)習(xí)了as608指紋模塊,rc522刷卡模塊等模塊的簡(jiǎn)單使用。 系統(tǒng)總體框架 該系統(tǒng)采用STM32F407ZGT6為主控芯片,在Fre

    2024年02月02日
    瀏覽(20)
  • 基于樹莓派4B與STM32的智能門禁系統(tǒng)項(xiàng)目(代碼開源)

    基于樹莓派4B與STM32的智能門禁系統(tǒng)項(xiàng)目(代碼開源)

    前言: 本文為手把手教學(xué) 嵌入式經(jīng)典項(xiàng)目 —— 智能門禁項(xiàng)目 ,本次項(xiàng)目采用? 樹莓派4B? 與? STM32F103C8T6? 進(jìn)行聯(lián)合開發(fā)。項(xiàng)目充分發(fā)揮各自 CPU 的優(yōu)勢(shì)與長處,將人臉識(shí)別的大計(jì)算量任務(wù)給 樹莓派4B ,將門禁系統(tǒng)的控制部分交給 STM32 進(jìn)行處理。該項(xiàng)目算是嵌入式人工智能

    2024年02月16日
    瀏覽(20)
  • 【畢業(yè)設(shè)計(jì)】基于RFID的門禁系統(tǒng) - 單片機(jī) 物聯(lián)網(wǎng) 嵌入式 stm32

    【畢業(yè)設(shè)計(jì)】基于RFID的門禁系統(tǒng) - 單片機(jī) 物聯(lián)網(wǎng) 嵌入式 stm32

    Hi,大家好,這里是丹成學(xué)長,今天向大家介紹一個(gè) 如何使用RFID技術(shù)構(gòu)建一個(gè)單片機(jī)門禁系統(tǒng) 基于RFID的門禁系統(tǒng) 大家可用于 課程設(shè)計(jì) 或 畢業(yè)設(shè)計(jì) 單片機(jī)-嵌入式畢設(shè)選題大全及項(xiàng)目分享: https://blog.csdn.net/m0_71572576/article/details/125409052 本篇博客,學(xué)長先向大家介紹射頻識(shí)別

    2024年02月03日
    瀏覽(72)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包