孫憲福
(深圳市航天華拓科技有限公司,深圳 518000)
近年來,基于藍(lán)牙技術(shù)的共享單車鎖大規(guī)模商用,極大的推動(dòng)了藍(lán)牙智能鎖發(fā)展。本方案設(shè)計(jì)的智能鎖是以藍(lán)牙模式作為通信手段實(shí)現(xiàn)開鎖的,具體指以手機(jī)為客戶端,以藍(lán)牙技術(shù)為傳輸手段,手機(jī)遙感控制鎖具的開關(guān),方便實(shí)用安全,無需鑰匙。
本方案選擇泰凌公司開發(fā)的低功耗藍(lán)牙(BLE)芯片TLSR8267,其高度集成了MCU和藍(lán)牙的功能。該芯片完全與藍(lán)牙標(biāo)準(zhǔn)兼容,最高支持BLE規(guī)范4.2。支持BLE主從模式操作,包括廣播、加密、連接更新與通道映射更新。
本設(shè)計(jì)以TLSR8267 藍(lán)牙芯片為核心,實(shí)現(xiàn)一個(gè)手機(jī)可以遠(yuǎn)程通過藍(lán)牙控制藍(lán)牙鎖的開關(guān)功能,用戶打開手機(jī)的藍(lán)牙功能,通過手機(jī)APP實(shí)現(xiàn)開鎖,設(shè)置、獲取鎖的工作模式和工作狀態(tài),還可以進(jìn)行固件升級(jí)。TLSR8267中PA0和PA1引腳用來控制電機(jī)的轉(zhuǎn)動(dòng)而帶動(dòng)鎖芯運(yùn)動(dòng),實(shí)現(xiàn)鎖的開啟;TLSR8267藍(lán)牙部分與手機(jī)端的藍(lán)牙進(jìn)行連接配對,接收從手機(jī)端發(fā)送過來的動(dòng)作指令,并對指令進(jìn)行解析,通知MCU控制相關(guān)引腳,完成相應(yīng)的操作。
整個(gè)系統(tǒng)的智能控制部分有TLSR8267完成的。其中PAO、PA1作為輸出端口控制電機(jī)轉(zhuǎn)動(dòng)。其中PA0為高電平,PA1為低電平電機(jī)開始轉(zhuǎn)動(dòng),實(shí)現(xiàn)開鎖;PA0為低電平,PA1為低電平電機(jī)停止轉(zhuǎn)動(dòng),實(shí)現(xiàn)關(guān)鎖。PE1作為輸出端,控制蜂鳴器開啟和關(guān)閉;PE3作為輸入端口檢測是否關(guān)鎖。
藍(lán)牙通信整體架構(gòu)設(shè)計(jì)主要包括藍(lán)牙鎖設(shè)備開機(jī)后的初始化以及初始化完成后的收發(fā)處理,藍(lán)牙通信整體架構(gòu)設(shè)計(jì)流程圖如下:
示例代碼如下:
為了方便敘述,iOS 和 Android 應(yīng)用程序以及微信應(yīng)用統(tǒng)稱為主機(jī),藍(lán)牙鎖簡稱為鎖。主機(jī)和鎖之間通過基本的通信幀進(jìn)行通信,通信幀固定為 16 個(gè)字節(jié),除有效的指令和數(shù)據(jù)之外,剩余部分可以填充任意數(shù)據(jù)。發(fā)送方需要先把通信幀加密后再發(fā)送,接收方收到數(shù)據(jù)需要解密還原通信幀。加密算法約定為 AES-128,它是藍(lán)牙 BLE 通信時(shí)最常選用的加密方式。
藍(lán)牙鎖整個(gè)功能實(shí)現(xiàn)后,將藍(lán)牙鎖命名為“SmartLock”,在Eclipse編譯整個(gè)代碼工程,生成固件8267_module.bin。通過EVB板連接PC與TLSR8267子板,硬件連接好后,打開wtcdb燒錄工具,選擇生成的固件bin,對TLSR8267子板復(fù)位并擦除已有固件,選擇SWB下載。下載完成后,需要斷電上電,藍(lán)牙鎖設(shè)備才會(huì)正常開機(jī)。打開藍(lán)牙鎖APP,掃描附近藍(lán)牙設(shè)備,在掃描的藍(lán)牙設(shè)備列表中選擇“SmartLock”藍(lán)牙鎖。如下圖進(jìn)入藍(lán)牙鎖APP功能操作界面,在此界面可以執(zhí)行開鎖、查詢鎖狀態(tài)、獲取電量、同步時(shí)間等操作。
本設(shè)計(jì)使用藍(lán)牙智能鎖時(shí)用戶只需打開App和手機(jī)的藍(lán)牙功能,靠近車鎖即可實(shí)現(xiàn)開鎖,操作十分簡單,值得推廣。