chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于RT-Thread與GD32F527I-EVAL的多媒體門禁系統(tǒng) | 技術(shù)集結(jié)

RT-Thread官方賬號 ? 2025-11-25 18:31 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

兆易創(chuàng)新本月正式推出GD32F503/505高性能系列32位通用微控制器,新品將全面支持RT-Thread平臺。GD32F503/505高性能系列顯著擴大了基于Arm Cortex-M33內(nèi)核的產(chǎn)品陣容,為GD32 MCU高性能產(chǎn)品線再添新銳。該系列基于Armv8-M架構(gòu),主頻高達(dá)280MHz,具備靈活的存儲配置、高集成度、內(nèi)置多種安全功能,為高性能計算提供堅實基礎(chǔ),可廣泛應(yīng)用于數(shù)字電源、工業(yè)自動化、電機控制、掃地機、BMS、人形機器人等多元化場景。

GD32F503/505系列MCU現(xiàn)已開放樣品及開發(fā)板申請,感興趣的小伙伴可以微信聯(lián)系RT-Thread小師弟(rtthread2020)。

目錄

嵌入式項目介紹


硬件連接


設(shè)計流程


項目源碼

1 嵌入式項目介紹

1.1介紹

基于GD32F527I-EVAL的多媒體門禁系統(tǒng),主控GD32F527I-EVAL,具備攝像頭采集圖像(DMA直接到SDRAM),保存照片,查看照片。DCI數(shù)字圖像接口、TLI接口驅(qū)動TFT-LCD屏幕,ESP01S(MQTT協(xié)議)聯(lián)網(wǎng)上傳數(shù)據(jù),語音識別控制開門、開燈等,RFID門禁卡識別,手機APP遠(yuǎn)程監(jiān)控與控制(HTTP協(xié)議)。

e1a86fe2-c9e9-11f0-8ce9-92fbcf53809c.jpg

鏈接:【基于 GD32F527I-EVAL 的多媒體智能門禁系統(tǒng)-嗶哩嗶哩】https://b23.tv/hOGykGD

1.2硬件需要:

語音識別模塊、MFRC522、SG90舵機、TFTLCD、OV2640攝像頭、ESP01S、LED燈、調(diào)試串口、按鍵輸入。

1.3主要功能:

語音識別開門、打開燈光、打開攝像頭、拍照、查看照片進行對應(yīng)工作。RFID門禁卡刷去在TFT-LCD屏幕上顯示序列號,同時還會語音播報主人幾,在手機app上顯示燈、門、序列號等信息,還可以進行遠(yuǎn)程控制。

2 硬件連接

2.1 OV2640攝像頭模塊

通過DCI(數(shù)字相機接口)連接到GD32:

DCI_PIXCLK (PA6)

DCI_VSYNC (PG9)

DCI_HSYNC (PA4)

DCI_D0 (PC6)

DCI_D1 (PC7)

DCI_D2 (PC8)

DCI_D3 (PC9)

DCI_D4 (PC11)

DCI_D5 (PD3)

DCI_D6 (PB8)

DCI_D7 (PB9)

SCCB_SCL (PA4) - 用于配置攝像頭

SCCB_SDA (PC6) - 用于配置攝像頭

2.2 TFTLCD顯示屏

通過TLI(LCD-TFT控制器)連接:

LCD_R7 (PG6)

LCD_R6 (PH12)

LCD_R5 (PH11)

LCD_R4 (PH10)

LCD_R3 (PH9)

LCD_R2 (PH8)

LCD_R1 (PH3)

LCD_R0 (PH2)

LCD_G7 (PI2)

LCD_G6 (PI1)

LCD_G5 (PI0)

LCD_G4 (PH15)

LCD_G3 (PH14)

LCD_G2 (PH13)

LCD_G1 (PE6)

LCD_G0 (PE5)

LCD_B7 (PI7)

LCD_B6 (PI6)

LCD_B5 (PI5)

LCD_B4 (PI4)

LCD_B3 (PG11)

LCD_B2 (PG10)

LCD_B1 (PG12)

LCD_B0 (PE4)

LCD_HSYNC (PI10)

LCD_VSYNC (PI9)

LCD_PCLK (PG7)

LCD_PWM_BackLight (PB15)

2.3 MFRC522 RFID讀卡器模塊

通過軟件模擬SPI接口連接:

SDA (PA15) - 片選信號

SCK (PB3) - 時鐘信號

MOSI (PB5) - 主機輸出從機輸入

MISO (PB4) - 主機輸入從機輸出

RST (PA8) - 復(fù)位信號

2.4 ESP01S WiFi模塊

通過UART2串口連接:

TX (PB10) - 發(fā)送數(shù)據(jù)到ESP01S

RX (PB11) - 從ESP01S接收數(shù)據(jù)

2.5 語音識別模塊

通過UART1串口連接:

TX (PA2) - 發(fā)送數(shù)據(jù)到語音識別模塊

RX (PA3) - 從語音識別模塊接收數(shù)據(jù)

2.6 SG90舵機

通過TIMER0_CH3 PWM信號控制:

PWM信號 (PA11) - 控制舵機角度

2.7 指示LED燈

通過GPIO控制:

LED1 (PF8) - 一個指示燈

LED2 (PE3) - 另一個指示燈

2.8 調(diào)試串口

通過UART3連接(用于printf調(diào)試輸出):

TX (PC10) - 調(diào)試信息輸出

RX (PC11) - 接收調(diào)試命令

2.9 按鍵輸入

通過外部中斷連接:

WAKEUP按鍵 (PA0) - 外部中斷0

TAMPER按鍵 (PC13) - 外部中斷13

USER按鍵 (PB14) - 外部中斷14

3 設(shè)計流程

3.1針對MRCF522模塊采用SPI通信,對數(shù)據(jù)進行讀取

// 功 能:防沖突檢測讀取選中卡片的卡序列號// 參數(shù)說明: pSnr[OUT]:卡片序列號,4字節(jié)// 返 回: 成功返回MI_OKcharMFRC522_Anticoll(unsignedchar *pSnr){ char status; unsignedchar i, snr_check =0; unsignedint unLen; unsignedchar ucComMF522Buf[MAXRLEN]; ClearBitMask(Status2Reg,0x08); Write_MFRC522(BitFramingReg,0x00); ClearBitMask(CollReg,0x80); ucComMF522Buf[0] =PICC_ANTICOLL1; ucComMF522Buf[1] =0x20; status =MFRC522_ToCard(PCD_TRANSCEIVE, ucComMF522Buf,2, ucComMF522Buf, &unLen); if(status ==MI_OK) { for(i =0; i

讀取到的數(shù)據(jù)因為要顯示在LCD屏幕上通過下列代碼進行數(shù)據(jù)轉(zhuǎn)換,4字節(jié)卡號轉(zhuǎn)換為8個字符 + 1結(jié)束符

voidbyte_array_to_hex_string(unsignedchar *byte_array,intlen, char *hex_string){constchar hex_chars[] ="0123456789ABCDEF";inti;for(i =0; i >4) &0x0F]; hex_string[i *2+1] = hex_chars[byte_array[i] &0x0F]; } hex_string[len*2] ='\0';// 添加字符串結(jié)束符}

3.2聯(lián)網(wǎng)功能是通過AT指令控制esp01s進行mqtt協(xié)議發(fā)送數(shù)據(jù)以及解包

voidESP8266_Init(void){ ESP8266_Clear(); printf("1. AT\r\n"); // OLED_Clear(); OLED_ShowString(0,0,"1.AT...",8); while(ESP8266_SendCmd("AT\r\n","OK")) delay_1ms(500); printf("2. CWMODE\r\n"); // OLED_ShowString(0,2,"2.CWMODE...",8); while(ESP8266_SendCmd("AT+CWMODE=1\r\n","OK")) delay_1ms(500); printf("3. AT+CWDHCP\r\n"); // OLED_ShowString(0,4,"3.AT+CWDHCP...",8); while(ESP8266_SendCmd("AT+CWDHCP=1,1\r\n","OK")) delay_1ms(500); printf("4. CWJAP\r\n"); // OLED_ShowString(0,6,"4.CWJAP...",8); while(ESP8266_SendCmd(ESP8266_WIFI_INFO,"GOT IP")) delay_1ms(500); printf("5. ESP8266 Init OK\r\n"); // OLED_Clear(); OLED_ShowString(0,0,"ESP8266 Init OK",16); delay_ms(500);}

3.3語音識別功能通過天問語音模塊進行多線程控制

e1b7e864-c9e9-11f0-8ce9-92fbcf53809c.png

3.4燈光、用戶識別標(biāo)志燈通過rt_device進行控制,手機APP為通過Vue2結(jié)構(gòu)進行設(shè)計