聯(lián)系我們
    發(fā)送郵箱
    主頁(yè) ? 新聞資訊 ? 新聞動(dòng)態(tài) ? 靈動(dòng)微MM32W系列低功耗MCU智能鎖解決方案

    靈動(dòng)微MM32W系列低功耗MCU智能鎖解決方案

    2020-06-23 09:36:52

    智能鎖方案中使用到靈動(dòng)微MM32W系列低功耗MCU,配合手機(jī)通過(guò)APP讀取智能鎖藍(lán)牙信息,嘗試配對(duì),配對(duì)成功即可正常通訊,手機(jī)APP通過(guò)藍(lán)牙把指令發(fā)送給智能鎖進(jìn)行解鎖,整個(gè)流程簡(jiǎn)單可靠,該方案將徹底告別傳統(tǒng)鑰匙開鎖。藍(lán)牙智能鎖安全便捷,符合用戶的需求,可應(yīng)用的日常場(chǎng)景廣泛,例如:門鎖(家門、倉(cāng)庫(kù)門、貨車門等);車鎖(電動(dòng)車鎖、自行車鎖、摩托車鎖等);私人箱柜鎖(抽屜鎖、更衣柜、旅行箱、工具箱等)。接下來(lái)靈動(dòng)微總代理英尚微給大家介紹一個(gè)使用場(chǎng)景非常豐富的藍(lán)牙應(yīng)用方案——基于MM32W系列開發(fā)的藍(lán)牙智能鎖方案。
     

    圖1方案場(chǎng)景
     
     
    硬件資源如下:
    本方案基于MM32BLE_TestBoard進(jìn)行測(cè)試驗(yàn)證,搭配上一顆微型的雙向直流馬達(dá)作為開鎖方式的載體,這里只用馬達(dá)驅(qū)動(dòng)開鎖,關(guān)鎖默認(rèn)為手動(dòng)操作,用戶可以通過(guò)手機(jī)APP來(lái)操作開鎖。在硬件原理上,本方案使用到的DC馬達(dá)是通過(guò)一顆專用的IC芯片來(lái)驅(qū)動(dòng),其控制引腳連接到MCU的PD2和PD3,通過(guò)控制兩個(gè)IO的電平可以對(duì)馬達(dá)進(jìn)行不同運(yùn)動(dòng)狀態(tài)的操作;使用PB1連接到綠色LED指示燈,可作為藍(lán)牙連接狀態(tài)的指示;模擬鎖體狀態(tài)功能引腳PA1配置為上拉輸入,低功耗喚醒引腳選擇PA0配置為上拉輸入;藍(lán)牙相關(guān)的功能引腳與前面介紹的方案一致,此處不做過(guò)多展開。以下為DC馬達(dá)驅(qū)動(dòng)原理圖:
     
     
    圖2 方案應(yīng)用圖
     
    軟件資源如下:
    結(jié)合上述使用到的硬件資源,下面我們著重介紹軟件實(shí)現(xiàn)流程以及相關(guān)配置代碼。由于本應(yīng)用方案ble藍(lán)牙芯片與APP建立連接過(guò)程中需要應(yīng)用到配對(duì)的功能,利用藍(lán)牙庫(kù)的接口函數(shù)可以實(shí)現(xiàn),這里將配對(duì)秘鑰設(shè)置為“123456”,在連接時(shí)候需要設(shè)置正確才能配對(duì)成功并且連接上;控制DC馬達(dá)的功能引腳全都配成推挽輸出模式,直接連到驅(qū)動(dòng)IC上去,通過(guò)改變高低電平組合來(lái)控制電機(jī)的正反轉(zhuǎn)和啟停;另外再對(duì)測(cè)試和模擬功能的引腳進(jìn)行配置,從而更為直觀地對(duì)應(yīng)用效果的觀測(cè)和驗(yàn)證,且使能看門狗復(fù)位功能來(lái)保證藍(lán)牙服務(wù)的穩(wěn)定性能;由于方案應(yīng)用電池供電對(duì)低功耗的需要,本方案低功耗采用STOP模式。
     
    以下為主函數(shù)初始化配置內(nèi)容,主要將所有的外設(shè)資源和藍(lán)牙協(xié)議棧初始化,并且以中斷服務(wù)程序的方式運(yùn)行藍(lán)牙,主函數(shù)的循環(huán)中主要實(shí)現(xiàn)的功能為判斷是否進(jìn)入低功耗模式,并且喚醒后根據(jù)接收到的藍(lán)牙數(shù)據(jù)對(duì)DC馬達(dá)進(jìn)行不同的操作,代碼如下:

     
     
    下面簡(jiǎn)單介紹一下藍(lán)牙低功耗和DC馬達(dá)操作相關(guān)的幾個(gè)函數(shù):
     
    //初始化DC馬達(dá)控制引腳PD2、PD3,并且全部置為低電平
    void MOTOR_Init(void);//停止DC馬達(dá)的轉(zhuǎn)動(dòng)
    static void MOTOR_Stop(void);//根據(jù)不同方向參數(shù)去控制DC馬達(dá)運(yùn)轉(zhuǎn)
    static void MOTOR_Run(unsigned char direction);
     
     
    在MOTOR_Proc()處理函數(shù)中針對(duì)藍(lán)牙接收到的密碼數(shù)據(jù)進(jìn)行解析,如果與默認(rèn)設(shè)置的4位0-9數(shù)字密碼完全匹配上則操作解鎖,將DC馬達(dá)按照設(shè)定方向控制運(yùn)轉(zhuǎn),為了簡(jiǎn)易驗(yàn)證,模擬一個(gè)信號(hào)表示解鎖成功,這里是通過(guò)采集指定IO引腳PA1的輸入來(lái)實(shí)現(xiàn),采集到輸入為高電平那么停止DC馬達(dá)轉(zhuǎn)動(dòng),且清零鎖定標(biāo)志位。以下為代碼實(shí)現(xiàn)內(nèi)容:
     
     
     
    我們?cè)趃att_user_send_notify_data_callback函數(shù)中給手機(jī)發(fā)送數(shù)據(jù),該函數(shù)屬于回調(diào)函數(shù),協(xié)議棧會(huì)在系統(tǒng)允許的時(shí)候(異步)回調(diào)本函數(shù),該函數(shù)被用于藍(lán)牙模塊端主動(dòng)發(fā)送是否解鎖狀態(tài)信息給手機(jī)APP,函數(shù)內(nèi)部不得增加阻塞代碼。詳細(xì)實(shí)現(xiàn)代碼如下:
     
    //藍(lán)牙連接成功后協(xié)議在空閑的時(shí)候會(huì)調(diào)用本回調(diào)函數(shù)
     void gatt_user_send_notify_data_callback(void)
    {
    static u8 LockFlagBak = 1;
    if (LockFlagBak != LockFlag)
    {
    LockFlagBak = LockFlag;//LockFlag標(biāo)志位會(huì)在MOTOR_Proc()中清零和置位      
    sconn_notifydata(&LockFlagBak,1);
    }
    }
     
    藍(lán)牙協(xié)議會(huì)周期性回調(diào)本UsrProcCallback()函數(shù),無(wú)論是在廣播狀態(tài)還是連接狀態(tài),在該函數(shù)中可以做運(yùn)行和低功耗模式切換的超時(shí)計(jì)數(shù),給IrqMcuGotoSleepAndWakeup()來(lái)處理是否進(jìn)入低功耗模式,并且針對(duì)獲取到的是否連接信息用LED指示燈做不同的狀態(tài)顯示。詳細(xì)實(shí)現(xiàn)代碼如下:
     
    //藍(lán)牙協(xié)議會(huì)周期性回調(diào)本函數(shù)
    void UsrProcCallback(void) 
    {
    static unsigned char led_flash = 0;    
    IWDG_ReloadCounter();
    StandbyTimeout ++; 
    if(gConnectedFlag){  //連接成功
    StandbyTimeout = 0;
    LED_ONOFF(1);
    }else{
    led_flash ++;
    LED_ONOFF(!(led_flash%10)); //藍(lán)牙未連接,指示燈快閃
    }
    }
     
    除了上述關(guān)鍵的藍(lán)牙數(shù)據(jù)發(fā)送函數(shù)外,下面再簡(jiǎn)單介紹一些與藍(lán)牙相關(guān)的特征值定義,在const BLE_CHAR AttCharList[] 中定義了本案中的兩個(gè)特征值:
     
    {TYPE_CHAR,0x0011,{ATT_CHAR_PROP_W_NORSP,0x12,0,0xf1,0xff}, UUID16_FORMAT},//解鎖命令
    {TYPE_CHAR,0x0013,{ATT_CHAR_PROP_RD|ATT_CHAR_PROP_NTF,0x14,0,0xf2,0xff}, UUID16_FORMAT},//鎖體狀態(tài)
    在void att_server_rdByGrType( u8 pdu_type, u8 attOpcode, u16 st_hd, u16 end_hd, u16 att_type )中實(shí)現(xiàn)了自定義特征值服務(wù)聲明;
    在void ser_write_rsp()中實(shí)現(xiàn)對(duì)手機(jī)APP發(fā)送的藍(lán)牙數(shù)據(jù)接收和存儲(chǔ):
    if (StartEncryption)
    {
        if (valueLen_w < 9)//對(duì)藍(lán)牙數(shù)據(jù)進(jìn)行解析和存儲(chǔ)
        {
         Password_wr[0] = valueLen_w;
         memcpy(&Password_wr[1], attValue, valueLen_w);
         }
         }else{ //無(wú)效數(shù)據(jù),不保存
         Password_wr[0] = 0;
    }
     
    在void server_rd_rsp(u8 attOpcode, u16 attHandle, u8 pdu_type)中實(shí)現(xiàn)把鎖體狀態(tài)回復(fù)給手機(jī)APP:
    att_server_rd( pdu_type, attOpcode, attHandle, &LockFlag, 1); //將LockFlag 標(biāo)志位返回給手機(jī)APP
     
     
    手機(jī)操作流程如下:
    使用手機(jī)原生藍(lán)牙界面查找設(shè)備,找到MM32_Lock后點(diǎn)擊進(jìn)行配對(duì)。默認(rèn)配對(duì)密碼為123456,配對(duì)成功后MM32_LOCK設(shè)備自動(dòng)保存到配對(duì)設(shè)備列表,以后不需要該步驟;
     
    手機(jī)打開App,開始搜索BLE設(shè)備,選擇對(duì)應(yīng)名稱(MM32_LOCK)的藍(lán)牙設(shè)備并進(jìn)行配對(duì),等待連接成功。連接成功后會(huì)有相應(yīng)提示,按鈕Connect名字會(huì)變成Disconnect;
     
    連接成功后,對(duì)UUID為fff1的特征值寫0x31323334(模擬用戶輸入密碼”1234”),測(cè)試板上連接的馬達(dá)開始轉(zhuǎn)動(dòng),執(zhí)行開鎖動(dòng)作;
     
    給PA1輸入低電平模擬鎖開啟完成,UUID為fff2的特征值結(jié)果為0表示鎖體開啟,給PA1輸入高電平模擬鎖體鎖上,UUID為fff2的特征值結(jié)果為1表示鎖體鎖上。這里只用馬達(dá)驅(qū)動(dòng)開鎖,關(guān)鎖默認(rèn)為手動(dòng)操作。
     
      
     
    圖3 手機(jī)APP圖
     

    本文關(guān)鍵詞: 靈動(dòng)微   MM32W系列低功耗MCU

    相關(guān)文章:?靈動(dòng)總代理MM32F103C8T6 PIN2PIN兼容STM32F103C8T6


    深圳市英尚微電子有限公司是一家專業(yè)的靜態(tài)隨機(jī)記憶體產(chǎn)品及方案提供商,十年來(lái)專業(yè)致力代理分銷存儲(chǔ)芯片IC, SRAM、MRAM、pSRAM、 FLASH芯片、SDRAM(DDR1/DDR2/DDR3)等,為客人提供性價(jià)比更高的產(chǎn)品及方案。
    英尚微電子中國(guó)區(qū)指定的授權(quán)代理:VTI代理、NETSOL、JSC濟(jì)州半導(dǎo)體(EMLSI)、Everspin 、IPSILOG、LYONTEK、ISSI、CYPRESS、ISOCOME、PARAGON、SINOCHIP、UNIIC; 著名半導(dǎo)體品牌的專業(yè)分銷商  如:RAMTROM、ETRON、FUJITSU、LYONTEK、WILLSEMI。
     

    ?更多資訊關(guān)注SRAMSUN.   www.xtjinyou.com    0755-66658299
    展開
    主站蜘蛛池模板: 一本一道dvd在线播放器| 国语自产精品视频在线看| 欧美日韩**字幕一区| 嫣嫣是女大生韩漫免费看| a毛片a毛片a视频| 亚洲欧美日韩中文在线制服| 国产馆在线观看| 久别的草原电视剧免费观看| 国产dvd毛片在线视频| 上原亚衣一区二区在线观看| 亚洲精品亚洲人成在线观看| 成人免费无遮挡无码黄漫视频| 亚洲码欧美码一区二区三区| 十八岁污网站在线观看| 老子影院午夜伦手机不四虎| 色噜噜狠狠一区二区| 同学浓精灌麻麻| 国内a级毛片免费···| 2022国产麻豆剧果冻传媒入口| 女同一区二区在线观看| 深夜网站在线观看| 人妻少妇精品视频一区二区三区| 高清videosgratis欧洲69| 日日夜夜嗷嗷叫| 中日韩在线视频| 粉色视频免费试看| 内射白浆一区二区在线观看| 天天影视综合网色综合国产| va亚洲va日韩不卡在线观看| 亚洲啪啪免费视频| 免费能直接在线观看黄的视频免费欧洲毛片**老妇女| 韩国在线观看一区二区三区| 成人观看天堂在线影片| 国产日韩精品一区二区三区在线| 男人扒开添女人下部免费视频| 一千零一夜电影无删减版在线看| 岳双腿间已经湿成一片视频| 欧美国产日韩在线观看| 男人插女人网站| 中文字幕免费在线观看动作大片| 巨粗挺进女县长|