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

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

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

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

基于STM32F103設(shè)計(jì)的智能門(mén)鎖(支持多種開(kāi)鎖解鎖方式)

DS小龍哥-嵌入式技術(shù) ? 來(lái)源:DS小龍哥-嵌入式技術(shù) ? 作者:DS小龍哥-嵌入式技 ? 2022-02-28 13:58 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

?

一、環(huán)境介紹

編程軟件: keil5

主控MCU: STM32F103ZET6

射頻卡讀寫(xiě)器:RFID-RC522

步進(jìn)電機(jī): 28BYJ4 4相5線(xiàn)

藍(lán)牙: ATK-HC05

WIFI: ATK-ESP8266

物聯(lián)網(wǎng)云平臺(tái): 采用騰訊云物聯(lián)網(wǎng)平臺(tái),直接支持微信小程序和手機(jī)獨(dú)立APP控制

二、功能介紹

這是基于STM32設(shè)計(jì)的智能鎖模型,支持多種開(kāi)鎖方式,詳情如下:

1. 門(mén)禁卡刷卡開(kāi)鎖:使用RC522射頻卡讀卡器,讀取IC卡卡號(hào)和內(nèi)部數(shù)據(jù),驗(yàn)證身份,開(kāi)鎖。

2. 藍(lán)牙自動(dòng)開(kāi)鎖: 業(yè)主的手機(jī)藍(lán)牙在范圍內(nèi),自動(dòng)開(kāi)鎖(通過(guò)連接藍(lán)牙地址確認(rèn)業(yè)主身份),范圍是通過(guò)藍(lán)牙斷開(kāi)與連接上為準(zhǔn)。

3. 微信小程序開(kāi)鎖、關(guān)鎖:通過(guò)ESP8266連接騰訊云物聯(lián)網(wǎng)平臺(tái),業(yè)主可以通過(guò)微信小程序“騰訊連連” 進(jìn)行遠(yuǎn)程開(kāi)鎖和關(guān)鎖。

如果沒(méi)有使用過(guò)騰訊云物聯(lián)網(wǎng)平臺(tái)的,可以看這里:STM32+ESP8266+MQTT協(xié)議連接騰訊物聯(lián)網(wǎng)開(kāi)發(fā)平臺(tái)_DS小龍哥的專(zhuān)欄-CSDN博客_騰訊物聯(lián)網(wǎng)平臺(tái)

4. 按鍵開(kāi)鎖、關(guān)鎖: 可以通過(guò)開(kāi)發(fā)板上的按鍵進(jìn)行開(kāi)鎖和關(guān)鎖(模擬物理鑰匙而已)

開(kāi)鎖和關(guān)鎖使用步進(jìn)電機(jī)正轉(zhuǎn)一圈、反轉(zhuǎn)一圈模擬。

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

?

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

?

三、使用的相關(guān)硬件介紹

3.1 STM32F103ZET6系統(tǒng)板

?

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

3.2 HC05藍(lán)牙模塊

?

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

3.3 WIFI模塊

?

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

3.4 RFID-RC522模塊

?

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

3.5 步進(jìn)電機(jī)

?

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

四、騰訊物聯(lián)網(wǎng)平臺(tái)

沒(méi)有使用過(guò)物聯(lián)網(wǎng)云平臺(tái)的參考這里:STM32+ESP8266+MQTT協(xié)議連接騰訊物聯(lián)網(wǎng)開(kāi)發(fā)平臺(tái)_DS小龍哥的專(zhuān)欄-CSDN博客_騰訊物聯(lián)網(wǎng)平臺(tái)

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

?

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

?

poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

?

?

五、設(shè)備核心源碼

#include "stm32f10x.h"
#include "led.h"
#include "delay.h"
#include "key.h"
#include "usart.h"
#include 
#include "timer.h"
#include "esp8266.h"
#include "mqtt.h"
#include "hc05_Bluetooth.h"
#include "RFID_RC522.h"
#include "motor.h"

/*
硬件連接方式:

ATK-HC-05串口藍(lán)牙模塊與STM32的串口2相連接。
PA1--LED 配對(duì)狀態(tài)輸出; 配對(duì)成功輸出高電平,未配對(duì)則輸出低電平。
PA4---KEY 用于進(jìn)入 AT 狀態(tài);高電平有效(懸空默認(rèn)為低電平)。
PA2--RXD 模塊接收腳
PA3--TXD 模塊發(fā)送腳
GND---GND 地
VCC---VCC 電源(3.3V~5.0V)

ATK-ESP8266串口WIFI模塊與STM32的串口3相連接。
PB10--RXD 模塊接收腳
PB11--TXD 模塊發(fā)送腳
GND---GND 地
VCC---VCC 電源(3.3V~5.0V)


RC522射頻模塊外部的接口:    
*1--SDA <----->PB5--片選腳
*2--SCK <----->PB4--時(shí)鐘線(xiàn)
*3--MOSI<----->PA12--輸出
*4--MISO<----->PA11--輸入
*5--懸空
*6--GND <----->GND
*7--RST <----->PA8--復(fù)位腳
*8--VCC <----->VCC


ULN2003控制28BYJ-48步進(jìn)電機(jī)接線(xiàn):

ULN2003接線(xiàn):
IN4: PC9   d
IN3: PC8   c
IN2: PC7   b
IN1: PC6   a
+  : 5V
-  : GND
*/

//騰訊物聯(lián)網(wǎng)服務(wù)器的設(shè)備信息
#define MQTT_ClientID "3XM7FNOG4Llock"
#define MQTT_UserName "3XM7FNOG4Llock;12010126;W5WOU;1624006004"
#define MQTT_PassWord "209f8dfc3079a54540aeb4263e99be24c5b0212141d8067e6348036383535941;hmacsha256"

//訂閱與發(fā)布的主題
#define SET_TOPIC  "$thing/down/property/3XM7FNOG4L/lock"  //訂閱
#define POST_TOPIC "$thing/up/property/3XM7FNOG4L/lock"  //發(fā)布

#define CONNECT_WIFI  "CMCC-Cqvn"   //將要連接的路由器名稱(chēng) --不要出現(xiàn)中文、空格等特殊字符
#define CONNECT_PASS "99pu58cb"     //將要連接的路由器密碼

#define CONNECT_SERVER_IP "106.55.124.154"  //服務(wù)器IP地址
#define CONNECT_SERVER_PORT 1883            //服務(wù)器端口號(hào)

char mqtt_message[200];//上報(bào)數(shù)據(jù)緩存區(qū)


unsigned char SN[4]; //存放讀出的卡號(hào)
unsigned char CheckSN[4]={71,151,114,179}; //用于驗(yàn)證的卡號(hào)--業(yè)主的卡號(hào)用于開(kāi)鎖
char SendBuff[10];


/*
函數(shù)功能: 打印卡號(hào)
*/
void print_info(unsigned char *p,int cnt)
{
  int i;
	for(i=0;i=50)
        {
            time_cnt=0;
            LED2=!LED2;
        }
			 
        //微信小程序開(kāi)鎖方式: 接收WIFI返回的數(shù)據(jù)
        if(USART3_RX_FLAG)
        {
            USART3_RX_BUFFER[USART3_RX_CNT]='\0';
            
		    printf("UART3收到數(shù)據(jù).....\r\n");
            //向串口打印微信小程序返回的數(shù)據(jù)
            for(i=0;i5)
            {
                //使用字符串查找函數(shù)
                //開(kāi)鎖
                if(strstr((char*)&USART3_RX_BUFFER[5],""Motor":1"))
                {
                    LED1=0;  //亮燈--表示開(kāi)鎖
                     //開(kāi)鎖
                    //執(zhí)行開(kāi)鎖代碼--電機(jī)正轉(zhuǎn)
                    Motorcw_ring(1,300);   //電機(jī)正轉(zhuǎn)1圈
                     Motor=1;
                }
                //關(guān)鎖
                else if(strstr((char*)&USART3_RX_BUFFER[5],""Motor":0"))
                {
                    LED1=1;  //滅燈--表示關(guān)鎖
                    
                    //關(guān)鎖
                    //執(zhí)行開(kāi)鎖代碼--電機(jī)反轉(zhuǎn)
                   Motorccw_ring(1,300);  //電機(jī)反轉(zhuǎn)1圈  
                   Motor=0;
                }
            }
           
            USART3_RX_CNT=0;
            USART3_RX_FLAG=0;
        }
				
	   //RC522開(kāi)鎖方式:  讀取IC卡號(hào)
        if(ReadCardNumber())
        {
            sprintf(SendBuff,"%x%x%x%x\r\n",SN[0],SN[1],SN[2],SN[3]);
             
            //比較卡號(hào)是否是業(yè)主的卡號(hào),決定是否需要開(kāi)鎖
            int i=0;
            for(i=0;i<4;i++)
            {
                if(CheckSN[i]!=SN[i])break;
            }
            
            //如果是業(yè)主,就開(kāi)鎖
            if(i==4)
            {
                 LED1=0;  //亮燈--表示開(kāi)鎖
                
                //更新微信小程序
                sprintf(mqtt_message,"{\"method\":\"report\",\"clientToken\":\"123\",\"params\":{\"Motor\":%d}}",Motor);
                MQTT_PublishData(POST_TOPIC,mqtt_message,0);
                USART1_Printf("更新門(mén)鎖狀態(tài):開(kāi)鎖\r\n");
                 
                 Motor=1;
                 //執(zhí)行開(kāi)鎖代碼--電機(jī)正轉(zhuǎn)
                 Motorcw_ring(1,300);   //電機(jī)正轉(zhuǎn)1圈	  
            }
        }
        
        
        if(USART2_RX_FLAG)
        {
            USART2_RX_BUFFER[USART2_RX_CNT]='\0';
            USART1_Printf("藍(lán)牙:%s\r\n",USART2_RX_BUFFER);
            USART2_RX_CNT=0;
            USART2_RX_FLAG=0;
        }
        
        //藍(lán)牙解鎖方式: 離開(kāi)范圍就自動(dòng)關(guān)鎖   連接上就自動(dòng)解鎖
        // 區(qū)分業(yè)主身份方式: 使用藍(lán)牙的配對(duì)密碼區(qū)分.
        if(HC05_LED==1 && Motor==0) //關(guān)鎖狀態(tài)才需要開(kāi)始
        {
            LED1=0;  //亮燈--表示開(kāi)鎖
            ble_connect_flag=1; //表示藍(lán)牙已經(jīng)連接過(guò)
            printf("藍(lán)牙已經(jīng)連接.\r\n");
             Motor=1;
            
            //更新微信小程序
            sprintf(mqtt_message,"{\"method\":\"report\",\"clientToken\":\"123\",\"params\":{\"Motor\":%d}}",Motor);
            MQTT_PublishData(POST_TOPIC,mqtt_message,0);
            USART1_Printf("更新門(mén)鎖狀態(tài):開(kāi)鎖\r\n");
            
              //開(kāi)鎖
            //執(zhí)行開(kāi)鎖代碼--電機(jī)正轉(zhuǎn)
            Motorcw_ring(1,300);   //電機(jī)正轉(zhuǎn)1圈
        }      
        else
        {
            //之前藍(lán)牙連接過(guò)
            if(ble_connect_flag)
            {
                ble_connect_flag=0; //清除標(biāo)記
                LED1=1;  //關(guān)燈--表示上鎖
                printf("藍(lán)牙已經(jīng)斷開(kāi).\r\n");
                Motor=0;
                //關(guān)鎖
                //執(zhí)行開(kāi)鎖代碼--電機(jī)反轉(zhuǎn)
                Motorccw_ring(1,300);  //電機(jī)反轉(zhuǎn)1圈

                //更新微信小程序
                sprintf(mqtt_message,"{\"method\":\"report\",\"clientToken\":\"123\",\"params\":{\"Motor\":%d}}",Motor);
                MQTT_PublishData(POST_TOPIC,mqtt_message,0);
                USART1_Printf("更新門(mén)鎖狀態(tài):關(guān)鎖\r\n");
            }   
        }
	 }
}
;i++)>;i++)>
poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

完整項(xiàng)目源碼下載地址:https://download.csdn.net/download/xiaolong1126626497/19101807

審核編輯:符乾江

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • STM32
    +關(guān)注

    關(guān)注

    2313

    文章

    11195

    瀏覽量

    374667
  • 智能門(mén)鎖
    +關(guān)注

    關(guān)注

    18

    文章

    1944

    瀏覽量

    46123
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    基于STM32F103驅(qū)動(dòng)DAC1220 20位/16位DAC數(shù)模轉(zhuǎn)換模塊輸出可調(diào)±10V基準(zhǔn)和三角波信號(hào)

    小等特點(diǎn)。工作電壓5V,20位模式下建立時(shí)間15ms,16位模式僅需2ms。本文將用STM32F103驅(qū)動(dòng)DAC1220,實(shí)現(xiàn)生成三角波信號(hào)輸出。模塊可用于工業(yè)控制、傳感器激勵(lì)等高精度場(chǎng)景。
    的頭像 發(fā)表于 01-10 10:31 ?4108次閱讀
    基于<b class='flag-5'>STM32F103</b>驅(qū)動(dòng)DAC1220 20位/16位DAC數(shù)模轉(zhuǎn)換模塊輸出可調(diào)±10V基準(zhǔn)和三角波信號(hào)

    CW32L012與STM32F103的三角運(yùn)算性能對(duì)比

    沒(méi)有硬件浮點(diǎn)運(yùn)算單元。 但在運(yùn)算三角函數(shù)時(shí),CW32L012支持CORDIC算法。 二、 三角運(yùn)算性能具體分析 1:標(biāo)準(zhǔn)庫(kù)浮點(diǎn)運(yùn)算(如 math.h 的 sinf, cosf) 這是最常用但也是最慢的方式。 STM32F103C
    的頭像 發(fā)表于 12-29 15:32 ?2522次閱讀
    CW32L012與<b class='flag-5'>STM32F103</b>的三角運(yùn)算性能對(duì)比

    【新品上市】華清遠(yuǎn)見(jiàn)AIoT實(shí)戰(zhàn)平臺(tái)-STM32F103&amp;amp;ESP32-S3 AI開(kāi)發(fā)板套件,玩轉(zhuǎn)小智AI桌寵機(jī)器狗智能車(chē)等項(xiàng)目

    F103&ESP32-S3AI開(kāi)發(fā)板是華清遠(yuǎn)見(jiàn)針對(duì)嵌入式與AI開(kāi)發(fā)市場(chǎng)需求,打造的高性能、低成本AIoT實(shí)戰(zhàn)平臺(tái)。該開(kāi)發(fā)板采用雙核心設(shè)計(jì),整合了STM32F103與ESP32-S3兩款芯片
    的頭像 發(fā)表于 11-03 16:18 ?1620次閱讀
    【新品上市】華清遠(yuǎn)見(jiàn)AIoT實(shí)戰(zhàn)平臺(tái)-<b class='flag-5'>STM32F103</b>&amp;amp;ESP32-S3 AI開(kāi)發(fā)板套件,玩轉(zhuǎn)小智AI桌寵機(jī)器狗<b class='flag-5'>智能</b>車(chē)等項(xiàng)目

    關(guān)于TMC2208與TMC2209的區(qū)別及基于STM32F103控制TMC2209模塊驅(qū)動(dòng)2相4線(xiàn)步進(jìn)電機(jī)

    技術(shù),TMC2208提供2 - 32微步選擇,TMC2209支持8 - 64微步選擇。文章最后提供了STM32F103控制TMC2208/TMC2209驅(qū)動(dòng)42步進(jìn)電機(jī)的程序。
    的頭像 發(fā)表于 10-09 17:19 ?2386次閱讀
    關(guān)于TMC2208與TMC2209的區(qū)別及基于<b class='flag-5'>STM32F103</b>控制TMC2209模塊驅(qū)動(dòng)2相4線(xiàn)步進(jìn)電機(jī)

    MH32F103A系列單片機(jī)的功能特性

    MH32F103A是一款硬件完美兼容ST32的國(guó)產(chǎn)32位單片機(jī),使用高性能的ARM Cortex-M3 內(nèi)核,最高工作頻率216 MHz。內(nèi)置最大512K Flash,96K Sram存儲(chǔ)器。MH32F103A 軟硬件兼容STM32F1
    的頭像 發(fā)表于 09-12 10:58 ?1316次閱讀
    MH32<b class='flag-5'>F103</b>A系列單片機(jī)的功能特性

    CherryUSB +STM32F103C8 example usb cdc device不識(shí)別是怎么回事?

    請(qǐng)問(wèn)下使用stm32F103 blue pill 板子 1.按照文檔教程 及 視頻教程 使用https://github.com/CherryUSB/cherryusb_stm32
    發(fā)表于 09-10 07:03

    從3.3 V 3.7V 5V升壓7.4V12V芯片-H6391在應(yīng)急供電智能門(mén)鎖中的應(yīng)用

    智能家居蓬勃發(fā)展的當(dāng)下,智能門(mén)鎖以其便捷、多重保護(hù)的特性,成為現(xiàn)代家庭安防的重要組成部分。在智能門(mén)鎖電量耗盡的情況下,應(yīng)急電源外接移動(dòng)電源
    發(fā)表于 09-03 15:13

    STM32F103長(zhǎng)時(shí)間運(yùn)行,串口發(fā)送失敗怎么解決?

    STM32F103長(zhǎng)時(shí)間運(yùn)行,串口發(fā)送失敗,目前定位到一致卡在USART_FLAG_TC判斷那里,我們采用輪詢(xún)的方式發(fā)送數(shù)據(jù),然后判斷USART_FLAG_TC是否發(fā)送成功,在大量發(fā)送后出現(xiàn)了一次發(fā)送后USART_FLAG_TC沒(méi)有置位,然后就一直卡在這里了,這可如何是好
    發(fā)表于 07-30 07:55

    STM32F103c8上做DLQR最優(yōu)控制算法的C編程資料

    這是我近期做的一個(gè)項(xiàng)目--基于STM32F103c8的DLQR控制算法的C編程,涉及DLQR最優(yōu)控制算法、嵌入式STM32F103編程、CMSIS-DSP庫(kù)使用。? ??附有完整的程序。
    發(fā)表于 07-23 15:30 ?0次下載

    STM32F103驅(qū)動(dòng)LD3320語(yǔ)音識(shí)別模塊

    本文介紹了如何使用STM32F103微控制器驅(qū)動(dòng)LD3320語(yǔ)音識(shí)別模塊,該模塊具備非特定人語(yǔ)音識(shí)別功能,支持動(dòng)態(tài)編輯關(guān)鍵詞,且無(wú)需額外Flash和RAM。通過(guò)SPI接口連接并配置代碼,實(shí)現(xiàn)在不同指令下執(zhí)行相應(yīng)操作,如流水燈、閃爍等。實(shí)驗(yàn)結(jié)果顯示,
    的頭像 發(fā)表于 06-28 14:16 ?1913次閱讀
    <b class='flag-5'>STM32F103</b>驅(qū)動(dòng)LD3320語(yǔ)音識(shí)別模塊

    低功耗藍(lán)牙智能門(mén)鎖應(yīng)用

    ,無(wú)需繁瑣的門(mén)卡,鑰匙,更加智能便捷,給用戶(hù)帶來(lái)更佳的使用體驗(yàn)。 功能特性: 1、多種開(kāi)門(mén)方式。支持近場(chǎng)手機(jī)藍(lán)牙開(kāi)鎖及遠(yuǎn)程
    發(fā)表于 06-25 09:47

    STM32F103C6T6 DCAC逆變器原理圖

    STM32F103C6T6 DCAC逆變器原理圖
    發(fā)表于 05-19 17:48 ?2次下載

    【硬核項(xiàng)目】STM32F103 智能小車(chē)全棧開(kāi)發(fā):紅外循跡 / 避障算法 + WiFi 遠(yuǎn)程控制,附原理圖與代碼

    今天為大家推薦一款功能強(qiáng)大的STM32多功能智能小車(chē)——華清遠(yuǎn)見(jiàn)STM32F103智能云控小車(chē)。這款小車(chē)集紅外遙控、遠(yuǎn)程物聯(lián)控制、智能循跡、
    的頭像 發(fā)表于 05-16 17:11 ?2487次閱讀
    【硬核項(xiàng)目】<b class='flag-5'>STM32F103</b> <b class='flag-5'>智能</b>小車(chē)全棧開(kāi)發(fā):紅外循跡 / 避障算法 + WiFi 遠(yuǎn)程控制,附原理圖與代碼

    CS32F103RB有無(wú)驅(qū)動(dòng)例程,是否可用stm32F103的驅(qū)動(dòng)代碼?

    如果不能使用stm32F103驅(qū)動(dòng)的話(huà),請(qǐng)把驅(qū)動(dòng)例程發(fā)送1830665518@qqcom
    發(fā)表于 05-15 10:54

    stm32f103c8t6主控芯片無(wú)人機(jī)原理圖

    stm32f103c8t6主控芯片無(wú)人機(jī)原理圖
    發(fā)表于 04-29 17:02 ?3次下載