版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
密級(jí):公開(kāi)資料BDE-BLEM201透?jìng)髂K使用指南Version1.1(文檔僅適用 固件版本:)廣州碧德電子科技有限公司2014年3月28日版權(quán)所有BDE-BLEM201 透?jìng)髂K使用指南目錄1.概述....................................................................................................................................12.應(yīng)用....................................................................................................................................12.1模塊與手機(jī)連接通信.........................................................................................12.2模塊間連接通信..................................................................................................12.3模塊間廣播通信..................................................................................................23.使用說(shuō)明...........................................................................................................................33.1模塊出廠默認(rèn)配置..............................................................................................33.2數(shù)據(jù)透明傳輸.......................................................................................................33.2.1工作準(zhǔn)備...................................................................................................33.2.2數(shù)據(jù)發(fā)送...................................................................................................43.2.3數(shù)據(jù)接收...................................................................................................43.3串口指令................................................................................................................43.3.1指令格式...................................................................................................53.3.2指令約束...................................................................................................53.3.3指令集........................................................................................................63.4配置主從模塊.......................................................................................................83.4.1配置主模塊...............................................................................................83.4.2配置從模塊...............................................................................................83.4.3配置配對(duì)的主從模塊.............................................................................93.5SPPService..............................................................................................................94.模塊封裝與引腳定義..................................................................................................105.性能指標(biāo).........................................................................................................................125.1數(shù)據(jù)傳輸速率.....................................................................................................125.2功耗.......................................................................................................................136.電氣特性.........................................................................................................................14附錄A串口指令說(shuō)明......................................................................................................15附錄B操作錯(cuò)誤碼...........................................................................................................28附錄C手機(jī)APP編程建議.............................................................................................28廣州碧德電子科技有限公司 BDETechnologyCo.,Ltd. iBDE-BLEM201 透?jìng)髂K使用指南概述BDE-BLEM201 模塊是基于 TICC2541 芯片設(shè)計(jì)的兼容藍(lán)牙 4.0低功耗BLE)單模藍(lán)牙模塊。它主要應(yīng)用于智能穿戴式設(shè)備、便攜式醫(yī)療設(shè)備、運(yùn)動(dòng)健身設(shè)備、智慧家庭、消費(fèi)電子、工業(yè)控制等,可滿足低功耗、低時(shí)延、近距離無(wú)線數(shù)據(jù)通信的要求。BDE-BLEM201透?jìng)髂K可以讓開(kāi)發(fā)者無(wú)須了解低功耗藍(lán)牙協(xié)議,直接使用類似串口通信方式、開(kāi)發(fā)支持低功耗藍(lán)牙通信的智能產(chǎn)品。本文檔是BDE-BLEM201透?jìng)髂K的使用說(shuō)明文檔,包括模塊的主要功能、應(yīng)用場(chǎng)景、使用方法、邏輯結(jié)構(gòu)、硬件接口及各項(xiàng)指標(biāo)特性。2.應(yīng)用BDE-BLEM201 透?jìng)髂K可把所有來(lái)自 MCU的串口透?jìng)鲾?shù)據(jù)通過(guò) BLE無(wú)線信道透明傳輸給另一端設(shè)備。另一端設(shè)備可以是智能手機(jī)( iOS/Android),也可以是另一個(gè) BDE-BLEM201 透?jìng)髂K。2.1模塊與手機(jī)連接通信需先將BDE-BLEM201 透?jìng)髂K配置為從設(shè)備,手機(jī)作為主設(shè)備(碧德電子可為開(kāi)發(fā)者提供 iOS/Android透?jìng)鲙?kù)方便快速開(kāi)發(fā)手機(jī)應(yīng)用) ,在模塊與手機(jī)成功建立連接后即可開(kāi)始雙向的數(shù)據(jù)透明傳輸。原理框圖如圖 2.1。注:實(shí)線為必接線,虛線可根據(jù)需求考慮是否使用圖2.1模塊與手機(jī)連接通信2.2模塊間連接通信需先將兩模塊分別配置為主從設(shè)備,在主從設(shè)備建立連接后即可進(jìn)行雙向的數(shù)據(jù)透明傳輸。原理框圖如圖 2.2。廣州碧德電子科技有限公司 BDE Technology Co., Ltd. 1BDE-BLEM201 透?jìng)髂K使用指南圖2.2模塊間連接通信2.3模塊間廣播通信除了通過(guò)一對(duì)一的連接方式 (2.1和2.2都是連接方式通信)進(jìn)行雙向的數(shù)據(jù)傳輸外,BDE-BLEM201透?jìng)髂K還支持通過(guò)一對(duì)多的廣播方式實(shí)現(xiàn)單向 (從設(shè)備到主設(shè)備)的數(shù)據(jù)傳輸,一個(gè)主設(shè)備可以同時(shí)獲得多個(gè)從設(shè)備的廣播數(shù)據(jù)。 模塊與MCU的接線參考圖2.1或圖2.2。為實(shí)現(xiàn)模塊間廣播通信,開(kāi)發(fā)者需要保持主設(shè)備掃描和從設(shè)備廣播一直都為開(kāi)啟狀態(tài),通過(guò)向從設(shè)備發(fā)送setAdvData指令來(lái)更新從設(shè)備的廣播數(shù)據(jù)(具體串口指令參見(jiàn)3.2節(jié))。需要注意的是,由于主設(shè)備掃描和從設(shè)備廣播一直都是開(kāi)啟的,主設(shè)備可能多次掃描到一個(gè)從設(shè)備的同一廣播數(shù)據(jù)包,因此開(kāi)發(fā)者需要做好重復(fù)報(bào)文的過(guò)濾工作。常用的重復(fù)報(bào)文的過(guò)濾方法有:利用廣播數(shù)據(jù)的第一個(gè)字節(jié)作為報(bào)文序號(hào),每次更新廣播數(shù)據(jù)時(shí)將報(bào)文序號(hào)加1,主設(shè)備根據(jù)這個(gè)報(bào)文序號(hào)判斷接收到的廣播數(shù)據(jù)是否為新的數(shù)據(jù)。注:報(bào)文序號(hào)溢出后將歸零。模塊間廣播通信不要求主從設(shè)備建立連接,常被應(yīng)用于數(shù)據(jù)量小且是偶發(fā)的多點(diǎn)數(shù)據(jù)采集系統(tǒng)中,如環(huán)境溫度、體重等數(shù)據(jù)采集系統(tǒng)。廣州碧德電子科技有限公司 BDE Technology Co., Ltd. 2BDE-BLEM201 透?jìng)髂K使用指南使用說(shuō)明3.1模塊出廠默認(rèn)配置BDE-BLEM201透?jìng)髂K的出廠默認(rèn)配置如下表:參數(shù)默認(rèn)值串口配置115200bps,noparity,onestopbit模塊名字“bdesppdev”模塊角色從模塊模塊狀態(tài)廣播廣播間隔200ms發(fā)射功率0dbmTX延遲發(fā)送5ms3.2數(shù)據(jù)透明傳輸 工作準(zhǔn)備開(kāi)發(fā)者在應(yīng)用開(kāi)發(fā)前,需參考第二章原理框圖、第四章模塊封裝引腳定義和、節(jié)描述將MCU和透?jìng)髂K連接好,確保MCU和模塊的串口能正常通信。當(dāng)需要在BDE-BLEM201透?jìng)髂K與手機(jī)(iOS/Android)之間實(shí)現(xiàn)透?jìng)魍ㄐ艜r(shí),需先將BDE-BLEM201透?jìng)髂K配置為從模塊。當(dāng)需要進(jìn)行模塊間通信時(shí),需要分別配置主模塊和從模塊。主從模塊配置好后,開(kāi)發(fā)者可通過(guò)一對(duì)一的連接方式或一對(duì)多的廣播方式來(lái)進(jìn)行數(shù)據(jù)傳輸。主從模塊配置方法參見(jiàn) 3.3節(jié)。為方便初期調(diào)試/評(píng)估,碧德電子為開(kāi)發(fā)者提供了 PC端的串口調(diào)測(cè)工具“BDE-SerialPort-BLEM201CMD”(使用方法參見(jiàn)該工具說(shuō)明書),只需用USB轉(zhuǎn)串Dongle連接透?jìng)髂K和 PC,即可操作所有串口配置指令;碧德電子還為開(kāi)發(fā)者提供了 iOS端配合串口透?jìng)髂=M使用的通訊軟件“ BDEUtility”,用SPS功能可進(jìn)行BLE數(shù)據(jù)透?jìng)?。廣州碧德電子科技有限公司 BDE Technology Co., Ltd. 3BDE-BLEM201 透?jìng)髂K使用指南圖3.1BDEUtility 串口透?jìng)鳒y(cè)試軟件 數(shù)據(jù)發(fā)送MCU在向模塊發(fā)送串口數(shù)據(jù)前需先拉低WU/P0.4引腳來(lái)喚醒模塊。在數(shù)據(jù)發(fā)送期間,WU/P0.4必須始終保持為低電平,數(shù)據(jù)發(fā)送完畢后需要再拉高WU/P0.4引腳,使其再次進(jìn)入睡眠,降低功耗。每次向BDE-BLEM201透?jìng)髂K連續(xù)發(fā)送的串口數(shù)據(jù)不能超過(guò) 200個(gè)字節(jié)。 數(shù)據(jù)接收模塊一旦接收到另一端設(shè)備的 BLE數(shù)據(jù)后,在轉(zhuǎn)發(fā)給 MCU之前將自動(dòng)拉低P0.5引腳以通知MCU接收數(shù)據(jù)。數(shù)據(jù)發(fā)送期間P0.5引腳保持為低電平。待全部串口數(shù)據(jù)發(fā)送完畢后,P0.5引腳將被拉高。3.3串口指令BDE-BLEM201透?jìng)髂K的串口數(shù)據(jù)流中包含兩種數(shù)據(jù)類型: 串口指令和透?jìng)鲾?shù)據(jù)。利用 BDE-BLEM201 透?jìng)髂K豐富的串口指令集,開(kāi)發(fā)者可以設(shè)置模塊主從角色、波特率、廣播和連接間隔,開(kāi)啟或關(guān)閉廣播,開(kāi)啟或關(guān)閉掃描,連接或斷開(kāi)連接等。廣州碧德電子科技有限公司 BDE Technology Co., Ltd. 4BDE-BLEM201 透?jìng)髂K使用指南BDE-BLEM201透?jìng)髂K的指令數(shù)據(jù)和透?jìng)鲾?shù)據(jù)在同一數(shù)據(jù)流中, 因此指令數(shù)據(jù)需要一定的指令封裝格式和指令約束條件, 以便模塊能從串口數(shù)據(jù)流中分離出指令數(shù)據(jù)。 指令格式BDE-BLEM201 透?jìng)髂K的指令數(shù)據(jù)是 ASCII碼。它由四部分組成,如下所示:指令開(kāi)始標(biāo)志 指令碼 參數(shù)列表 指令結(jié)束標(biāo)志指令開(kāi)始標(biāo)志:”SPP:”這四個(gè)連續(xù)的字符用于指示一個(gè)指令包的開(kāi)始。指令碼:指令的具體標(biāo)識(shí),用于區(qū)分不同的指令。如 :setRole。參數(shù)列表:不同的指令有不同的參數(shù)、不同的參數(shù)數(shù)目(大于等于0)。指令中每?jī)蓚€(gè)參數(shù)間需要用空格分隔。指令碼和參數(shù)列表之間也需要用空格分隔。指令結(jié)束標(biāo)志:” 0”這3個(gè)字符(即回車符、換行符和空字符)用于指示一個(gè)指令包的結(jié)束。例:設(shè)置模塊為從設(shè)備:“SPP:setRolep\r\n\0”其中,”SPP:為”指令開(kāi)始標(biāo)志;”setRole為”指令碼,表示切換角色操作;”p”為參數(shù),表示將模塊設(shè)置為從設(shè)備; ” 0”為指令結(jié)束標(biāo)志。 指令約束使用BDE-BLEM201 透?jìng)髂K的指令數(shù)據(jù)有三個(gè)約束條件:一條完整的指令應(yīng)該要被連續(xù)地發(fā)送到模塊,或一條完整的指令的發(fā)送總時(shí)間不能超過(guò)100ms。(在9600bps波特率下,發(fā)送一個(gè)字節(jié)大約需要 1ms,連續(xù)發(fā)送60個(gè)字節(jié)大約需要 60ms。而一條正確的指令的長(zhǎng)度一般在 30個(gè)字節(jié)之內(nèi),因此只要字節(jié)是連續(xù)發(fā)送地就不必?fù)?dān)心指令超時(shí)問(wèn)題 )2) “SPP:和”” 0”之間的數(shù)據(jù)不能超過(guò) 50個(gè)字節(jié)。3) 使用正確的、已定義了的指令碼。如:“SPP:setrolep 0”數(shù)據(jù)包會(huì)被理解為透?jìng)鲾?shù)據(jù),因?yàn)?setrole(r沒(méi)有大寫)不是正確的指令碼。廣州碧德電子科技有限公司 BDE Technology Co., Ltd. 5BDE-BLEM201 透?jìng)髂K使用指南注意事項(xiàng):透?jìng)髂K的指令數(shù)據(jù)和透?jìng)鲾?shù)據(jù)在同一個(gè)數(shù)據(jù)流中,指令數(shù)據(jù)只會(huì)作用到模塊狀態(tài)參數(shù)切換。當(dāng)開(kāi)發(fā)者希望將指令數(shù)據(jù)作為透?jìng)鲾?shù)據(jù)傳輸?shù)搅硪欢嗽O(shè)備時(shí),可使用sendData指令來(lái)實(shí)現(xiàn)。 指令集BDE-BLEM201 透?jìng)髂K擁有豐富的串口指令集。主模塊支持的指令:指令碼功能setRole設(shè)置模塊角色getRole獲取模塊角色setName設(shè)置模塊名字getName獲取模塊名字setBR設(shè)置波特率getBR獲取波特率setTxDly設(shè)置串口輸出延時(shí)getTxDly獲取串口輸出延時(shí)setDBM設(shè)置發(fā)射功率getDBM獲取發(fā)射功率setConnInt設(shè)置連接參數(shù)getConnInt獲取連接參數(shù)setScan開(kāi)啟/關(guān)閉掃描getAddr獲取模塊的地址connect連接指定的從設(shè)備disconnect斷開(kāi)連接getStatus查詢模塊當(dāng)前狀態(tài)saveConfigure保存當(dāng)前配置clearConfigure清除保存的配置sendData發(fā)送指定長(zhǎng)度的透?jìng)鲾?shù)據(jù)getVersion獲取模塊固件版本號(hào)setDirectConnAddr設(shè)置該主設(shè)備上電直接連接的從設(shè)備地址getDirectConnAddr獲取該主設(shè)備上電直接連接的從設(shè)備地址廣州碧德電子科技有限公司 BDE Technology Co., Ltd. 6BDE-BLEM201透?jìng)髂K使用指南從模塊支持的指令:指令碼功能setRole設(shè)置模塊角色getRole獲取模塊角色setName設(shè)置模塊名字getName獲取模塊名字setBR設(shè)置波特率getBR獲取波特率setTxDly設(shè)置串口輸出延時(shí)getTxDly獲取串口輸出延時(shí)setDBM設(shè)置發(fā)射功率getDBM獲取發(fā)射功率setAdvInt設(shè)置廣播間隔getAdvInt獲取廣播間隔setAdvData設(shè)置廣播數(shù)據(jù)getAdvData獲取廣播數(shù)據(jù)setAdv開(kāi)啟/關(guān)閉廣播setConnInt設(shè)置連接參數(shù)getConnInt獲取連接參數(shù)getAddr獲取模塊的地址disconnect斷開(kāi)連接getStatus查詢模塊當(dāng)前狀態(tài)saveConfigure保存當(dāng)前配置clearConfigure清除保存的配置sendData發(fā)送指定長(zhǎng)度的透?jìng)鲾?shù)據(jù)getVersion獲取模塊固件版本號(hào)setConnectableAddr設(shè)置允許連接該從設(shè)備的主設(shè)備地址getConnectableAddr獲取允許連接該從設(shè)備的主設(shè)備地址模塊發(fā)送給MCU的響應(yīng)指令指令碼功能ok操作成功err操作失敗dev掃描響應(yīng)廣州碧德電子科技有限公司 BDE Technology Co., Ltd. 7BDE-BLEM201 透?jìng)髂K使用指南BDE-BLEM201 透?jìng)髂K的串口指令使用說(shuō)明參見(jiàn) 附錄A。3.4配置主從模塊 配置主模塊將BDE-BLEM201透?jìng)髂K配置為主設(shè)備的步驟如下:1)向模塊發(fā)送setRole指令:“SPP:setRolec0”;2)MCU接收到ok響應(yīng)后,開(kāi)發(fā)者可根據(jù)實(shí)際需要設(shè)置模塊的名字(setName)、波特率(setBR)、發(fā)射功率(setDBM)等;3)向模塊發(fā)送開(kāi)啟掃描指令:“SPP:setScanon0”;成功開(kāi)啟掃描后,模塊會(huì)將掃描到的從設(shè)備以dev指令響應(yīng)給MCU:“SPP:0”;向模塊發(fā)送connect指令使主設(shè)備連接指定的從設(shè)備,如:“SPP:connect0”(開(kāi)發(fā)者可通過(guò)向從設(shè)備發(fā)送 getAddr指令獲取從設(shè)備地址)。連接成功后,模塊的 CONN/P1.1引腳會(huì)被置為0。注意:設(shè)置完所有參數(shù)后,開(kāi)發(fā)者需要發(fā)送saveConfigure指令將設(shè)置的參數(shù)(包括模塊的狀態(tài))保存到flash中,以便模塊以后每次重新上電都以本次設(shè)置的參數(shù)初始化模塊。如不發(fā)送saveConfigure指令,模塊重新上電后會(huì)恢復(fù)設(shè)置前的參數(shù),而不是開(kāi)發(fā)者本次設(shè)置的參數(shù)。 配置從模塊將BDE-BLEM201透?jìng)髂K配置為從設(shè)備的步驟如下:1) 向模塊發(fā)送setRole指令:“SPP:setRolep 0”;MCU接收到ok響應(yīng)后,開(kāi)發(fā)者可根據(jù)實(shí)際需要設(shè)置模塊的廣播間隔(setAdvInt)、名字(setName)、波特率(setBR)、發(fā)射功率(setDBM)等;3)發(fā)送開(kāi)啟廣播指令:“SPP:0”;4)成功開(kāi)啟廣播后,便可以等待主設(shè)備或手機(jī)(iOS/Android)上支持SPPService的APP進(jìn)行掃描連接。從設(shè)備被連接后就可以進(jìn)行數(shù)據(jù)透明傳輸了。注意:設(shè)置完所有參數(shù)后,開(kāi)發(fā)者需要發(fā)送saveConfigure指令將設(shè)置的參數(shù)(包括模塊的狀態(tài))保存到 flash中,以便模塊以后每次重新上電都以本次設(shè)廣州碧德電子科技有限公司 BDE Technology Co., Ltd. 8BDE-BLEM201 透?jìng)髂K使用指南置的參數(shù)初始化模塊。如不發(fā)送saveConfigure 指令,模塊重新上電后會(huì)恢復(fù)設(shè)置前的參數(shù),而不是開(kāi)發(fā)者本次設(shè)置的參數(shù)。 配置配對(duì)的主從模塊一對(duì)配對(duì)的主從模塊在上電時(shí)能自動(dòng)建立連接,其配置步驟如下:1) 向兩模塊分別發(fā)送 setRole指令:“SPP:setRole c 0”和“SPP:setRole0”;2) 向兩模塊分別發(fā)送getAddr指令來(lái)獲取兩模塊的地址:“SPP:getAddr 0”;獲得地址后,再分別使兩模塊記錄對(duì)方的地址。向從設(shè)備發(fā)送setConnectableAddr指令,向主設(shè)備發(fā)送setDirectConnAddr指令。如:從設(shè)備的地址為FF:11:11:11:11:FF,主設(shè)備的地址為FF:22:22:22:22:FF,向從設(shè)備發(fā)送“SPP:setConnectableAddr 0”指令,向主設(shè)備發(fā)送“SPP:setDirectConnAddr 0”指令。分別向兩模塊發(fā)送saveConfigure指令。重新上電后兩模塊便會(huì)自動(dòng)建立連接。如果想取消自動(dòng)連接使模塊能連接上其他設(shè)備,需將setConnectableAddr和setDirectConnAddr指令的參數(shù)全設(shè)為0,即向主從設(shè)備分別發(fā)送“SPP:setDirectConnAddr 0”和“SPP:setConnectableAddr0”指令,然后再保存(saveConfigure)?;蛘咧苯酉騼赡K發(fā)送clearConfigure指令,下次上電時(shí)兩模塊都會(huì)恢復(fù)出廠默認(rèn)配置。3.5SPPServiceBDE-BLEM201 透?jìng)髂K的數(shù)據(jù)透明傳輸功能是由 SPPService/Profile 來(lái)實(shí)現(xiàn)的。SPPService相關(guān)的UUID如下表:類型 UUID 屬性SPPService 0xFFB0 NCSPPDataCharacteristic 0xFFB2 WritewithoutResponse 、NotifySPPCommandCharacteristic 0xFFB1 Write、NotifySPPDataCharacteristic 用于實(shí)現(xiàn)數(shù)據(jù)的透明傳輸。該 characteristic的屬性為WritewithoutResponse 和Notify。在進(jìn)行數(shù)據(jù)傳輸前,應(yīng)先使能SPPData廣州碧德電子科技有限公司 BDE Technology Co., Ltd. 9BDE-BLEM201 透?jìng)髂K使用指南Characteristic 的 Notify 屬性,即將 SPP Data Characteristic 的 ClientCharacteristicConfiguration 的值更改為0x0001。SPPCommandCharacteristic 用于實(shí)現(xiàn)對(duì)模塊進(jìn)行空中配置或獲取配置參數(shù)。該characteristic的屬性為Write和Notify。在對(duì)該characteristic操作前,應(yīng)先使能SPPCommandCharacteristic的Notify屬性,即將SPPCommandCharacteristic的ClientCharacteristicConfiguration的值更改為0x0001。(當(dāng)前版本還沒(méi)有實(shí)現(xiàn)該功能)模塊封裝與引腳定義圖4.1 模塊尺寸廣州碧德電子科技有限公司 BDE Technology Co., Ltd. 10BDE-BLEM201 透?jìng)髂K使用指南圖4.2模塊引腳分布表4.1模塊引腳定義引腳名稱引腳序號(hào)I/OUART_RX/P0.225IUART_TX/P0.324OWU/P0.4 23 I
說(shuō)明模塊串口接收端模塊串口發(fā)送端模塊喚醒引腳,往模塊發(fā)送UART數(shù)據(jù)前需下拉該引腳,發(fā)送期間需保持低電平,發(fā)送完畢后拉高該引腳以便模塊能重新進(jìn)入睡眠模塊串口數(shù)據(jù)輸出指示,可用于喚醒MCU:DATAOUT/P0.522O0:模塊有數(shù)據(jù)需要發(fā)送1:模塊無(wú)數(shù)據(jù)需要發(fā)送模塊連接狀態(tài)指示:CONN/P1.116O0:模塊處于連接狀態(tài)1:模塊處于未連接狀態(tài)VDD2,19-電源輸入正極GND1,11,20,-電源地29廣州碧德電子科技有限公司 BDE Technology Co., Ltd. 11BDE-BLEM201 透?jìng)髂K使用指南性能指標(biāo)5.1數(shù)據(jù)傳輸速率下表為模塊間在連接間隔為 7.5ms時(shí)的數(shù)據(jù)傳輸速率(數(shù)據(jù)傳輸方向:主模塊到從模塊)。表5.1模塊間數(shù)據(jù)傳輸速率連接間隔發(fā)送間隔每次發(fā)送發(fā)送速率總字節(jié)數(shù)丟包率(*1.25ms)(ms)字節(jié)數(shù)(kB/s)發(fā)送接收(百分比)610404667720667720061040440000040000006104044000003999590.01610414.14100004096390.09610424.24200004200000610424.24200004198600.03610434.34300004296780.07620804120000011991800.0762080480000800000620904.54500004492600.166301204600000600000063012041200000120000006301234.149200049200006301234.11230000123000006301264.25040005039600.016301304.336500006499390.01由上表可知,當(dāng)發(fā)送間隔為 30ms、每次發(fā)送字節(jié)數(shù)為 123時(shí),模塊間的傳輸速率可以比較穩(wěn)定地達(dá)到 4.1KB/s。下表為模塊與iOS在連接間隔為18.75ms時(shí)實(shí)測(cè)的數(shù)據(jù)傳輸速率(數(shù)據(jù)傳輸方向:iOS到模塊)。表5.2模塊與iOS的數(shù)據(jù)傳輸速率連接間隔發(fā)送間隔每次發(fā)送發(fā)送速率總字節(jié)數(shù)丟包率(*1.25ms)(ms)字節(jié)數(shù)(kB/s)發(fā)送接收(百分比)15301003.33154500154500015301053.53028203028200廣州碧德電子科技有限公司 BDE Technology Co., Ltd. 12BDE-BLEM201 透?jìng)髂K使用指南15301103.672394702393600.0515301083.6425952425952015401443.6361152361152015501803.6423900423900015501803.6130176013017600由上表可知,當(dāng)發(fā)送間隔為 50ms、每次發(fā)送字節(jié)數(shù)為 180時(shí),模塊與iOS間的數(shù)據(jù)傳輸速率可以達(dá)到 3.6KB/s。5.2功耗下表為用Agilent66319B 電源實(shí)測(cè)的模塊在各種狀態(tài)下的功耗數(shù)據(jù) (供電電壓為3.3V):表5.3模塊功耗狀態(tài)廣播/連接間隔(ms)平均電流(uA)空閑-0.11201200100282廣播30010010003220001830001318.751585309906049097.5310連接150201236.25135300108461.2570997.5351623.7525廣州碧德電子科技有限公司 BDE Technology Co., Ltd. 13BDE-BLEM201透?jìng)髂K使用指南6.電氣特性表6.1絕對(duì)最大額定值參數(shù)最小值最大值單位儲(chǔ)存溫度-40125℃VDD-0.33.9V其他管腳-0.2VDD+0.3≤3.9V表6.2推薦的運(yùn)行條件參數(shù)最小值推薦值最大值單位溫度-40-85℃VDD23.33.6V廣州碧德電子科技有限公司 BDE Technology Co., Ltd. 14BDE-BLEM201 透?jìng)髂K使用指南附錄 A 串口指令說(shuō)明setRole作用:設(shè)置模塊為主從模塊。支持的角色:主、從參數(shù)個(gè)數(shù):1個(gè)參數(shù)取值:參數(shù)值(模塊角色) 含義p 設(shè)置模塊為從設(shè)備c 設(shè)置模塊為主設(shè)備說(shuō)明:使用該指令時(shí),如果目標(biāo)角色與當(dāng)前模塊角色不一致,模塊會(huì)斷開(kāi)連接、停止廣播或掃描,然后進(jìn)入空閑狀態(tài)。如果一致,模塊當(dāng)前狀態(tài)將不會(huì)被改變。無(wú)論屬于哪種情況,下面的響應(yīng)指令都會(huì)被產(chǎn)生。響應(yīng):“SPP:ok 0”(操作成功)“SPP:errreason 0”(操作失敗,reason的具體值參見(jiàn)附錄B)getRole作用:獲取模塊當(dāng)前角色支持的角色:主、從參數(shù)個(gè)數(shù):無(wú)響應(yīng):“SPP:okp0”(模塊為從設(shè)備)“SPP:okc0”(模塊為主設(shè)備)“SPP:errreason 0”(操作失敗,reason的具體值參見(jiàn)附錄B)setName作用:設(shè)置模塊名字支持的角色:主、從參數(shù)個(gè)數(shù):1個(gè)參數(shù)取值:參數(shù)值(名字) 含義=string string為具體的名字字符串(不能出現(xiàn) ” 0”)說(shuō)明:廣州碧德電子科技有限公司 BDE Technology Co., Ltd. 15BDE-BLEM201 透?jìng)髂K使用指南該指令的參數(shù)為’=與’”0”之間的內(nèi)容,允許出現(xiàn)空格,但不允許出現(xiàn)”0”。名字的最大長(zhǎng)度不能超過(guò)20個(gè)字節(jié)。例:設(shè)置模塊的名字為“bdedev”:“SPP:setName=bdedev0”響應(yīng):“SPP:ok 0”(操作成功)“SPP:errreason 0”(操作失敗,reason的具體值參見(jiàn)附錄B)getName作用:獲取模塊名字支持的角色:主、從參數(shù)個(gè)數(shù):無(wú)響應(yīng):“SPP:ok= bdedev 0”(操作成功,設(shè)備名字為” bdedev”)“SPP:errreason 0”(操作失敗,reason的具體值參見(jiàn)附錄B)setBR作用:設(shè)置模塊的波特率 (bps)支持的角色:主、從參數(shù)個(gè)數(shù):1個(gè)參數(shù)取值:參數(shù)值(波特率)含義9600設(shè)置模塊波特率為9600bps19200設(shè)置模塊波特率為19200bps38400設(shè)置模塊波特率為38400bps57600設(shè)置模塊波特率為57600bps115200設(shè)置模塊波特率為115200bps說(shuō)明:模塊只支持上表中的5個(gè)波特率,且其默認(rèn)的波特率為115200bps。當(dāng)MCU向模塊發(fā)送該指令后,模塊會(huì)先返回ok指令,然后再改變自身的波特率。MCU在接收到ok指令后,也應(yīng)該改變自己的波特率,以保持和模塊一致,避免產(chǎn)生誤碼。注意:若忘記了已設(shè)置的波特率,開(kāi)發(fā)者可以嘗試在不同的波特率下發(fā)送getRole(或其他get指令),直到得到正確的回復(fù),以此來(lái)確定模塊當(dāng)前的波特率。廣州碧德電子科技有限公司 BDE Technology Co., Ltd. 16BDE-BLEM201 透?jìng)髂K使用指南響應(yīng):“SPP:ok 0”(操作成功)“SPP:errreason 0”(操作失敗,reason的具體值參見(jiàn)附錄B)getBR作用:獲取模塊波特率(bps)支持的角色:主、從參數(shù)個(gè)數(shù):無(wú)響應(yīng):“ 0”(模塊波特率為115200bps)“SPP:errreason 0”(操作失敗,reason的具體值參見(jiàn)附錄B)setTxDly作用:設(shè)置模塊串口輸出延遲時(shí)間( ms)支持的角色:主、從參數(shù)個(gè)數(shù):1個(gè)參數(shù)取值:參數(shù)值(延遲時(shí)間) 含義n 設(shè)置串口輸出延遲 nms說(shuō)明:串口輸出延遲是配合 DATAOUT/P0.5 引腳使用的,目的是讓 MCU有足夠的時(shí)間從睡眠狀態(tài)中喚醒,從而正確的接收模塊發(fā)送給MCU的串口數(shù)據(jù)。當(dāng)模塊有串口數(shù)據(jù)要發(fā)送給MCU時(shí),會(huì)先將P0.5引腳拉低,延遲指定的時(shí)間后,再發(fā)送串口數(shù)據(jù)。在全部的串口數(shù)據(jù)發(fā)送完成后,模塊又會(huì)將P0.5引腳置為高電平。串口輸出延遲時(shí)間默認(rèn)為 5ms。該值不應(yīng)該設(shè)置得過(guò)大,避免模塊因串口數(shù)據(jù)沒(méi)有及時(shí)發(fā)送出去而導(dǎo)致串口緩沖區(qū)溢出,造成數(shù)據(jù)丟失。DATAOUT/P0.5引腳和串口數(shù)據(jù)輸出的關(guān)系圖如下:DATAOUT/P0.5UARTTX5ms響應(yīng):“SPP:ok 0”(操作成功)“SPP:errreason 0”(操作失敗,reason的具體值參見(jiàn)附錄B)getTxDly廣州碧德電子科技有限公司 BDE Technology Co., Ltd. 17BDE-BLEM201 透?jìng)髂K使用指南作用:獲取串口輸出延遲時(shí)間( ms)支持的角色:主、從參數(shù)個(gè)數(shù):無(wú)響應(yīng):“SPP:okn 0”(n為延遲的時(shí)間值,如 5、8等)“SPP:errreason 0”(操作失敗,reason的具體值參見(jiàn)附錄B)setDBM作用:設(shè)置模塊的發(fā)射功率( dbm)支持的角色:主、從參數(shù)個(gè)數(shù):1個(gè)參數(shù)取值:參數(shù)值(發(fā)射功率) 含義0 設(shè)置模塊的發(fā)射功率為 0dbm4 設(shè)置模塊的發(fā)射功率為 4dbm-6 設(shè)置模塊的發(fā)射功率為 -6dbm-23 設(shè)置模塊的發(fā)射功率為 -23dbm說(shuō)明:模塊發(fā)射功率的默認(rèn)值為 0dbm。模塊只支持上表中四個(gè)功率值。響應(yīng):“SPP:ok 0”(操作成功)“SPP:errreason 0”(操作失敗,reason的具體值參見(jiàn)附錄B)getDBM作用:獲取模塊的發(fā)射功率( dbm)支持的角色:主、從參數(shù)個(gè)數(shù):無(wú)響應(yīng):“SPP:okn0”(n表示具體的功率值)“SPP:errreason 0”(操作失敗,reason的具體值參見(jiàn)附錄B)setAdvInt作用:設(shè)置模塊廣播間隔( 625us)支持的角色:從廣州碧德電子科技有限公司 BDE Technology Co., Ltd. 18BDE-BLEM201 透?jìng)髂K使用指南參數(shù)個(gè)數(shù):2個(gè)參數(shù)取值:參數(shù) 取值 含義參數(shù)1(最小廣播間隔) min 設(shè)置模塊最小廣播間隔為 min*625us參數(shù)2(最大廣播間隔) max 設(shè)置模塊最大廣播間隔為 max*625us說(shuō)明:模塊的最大、最小廣播間隔默認(rèn)為 320(單位:625us)。廣播間隔的有效范圍為20ms~10.24s。最大廣播間隔不能小于最小廣播間隔。廣播間隔越大,廣播時(shí)模塊功耗就越低。設(shè)置廣播間隔成功后,需要重新開(kāi)啟廣播。例:設(shè)置模塊的最小廣播間隔為 80*625us、最大廣播間隔為100*625us的指令為:“SPP: 0”。響應(yīng):“SPP:ok 0”(操作成功)“SPP:errreason 0”(操作失敗,reason的具體值參見(jiàn)附錄B)getAdvInt作用:獲取廣播間隔(625us)支持的角色:從參數(shù)個(gè)數(shù):無(wú)響應(yīng):“SPP:okmin 0”(min為最小廣播間隔,max為最大廣播間隔,單位:625us)“SPP:errreason 0”(操作失敗,reason的具體值參見(jiàn)附錄B)setAdvData作用:設(shè)置廣播數(shù)據(jù)支持的角色:從參數(shù)個(gè)數(shù):1個(gè)參數(shù)取值:參數(shù)取值(自定義廣播數(shù)據(jù) ) 含義=data 設(shè)置模塊的廣播數(shù)據(jù)為 data說(shuō)明:由于該指令的參數(shù)中允許出現(xiàn)空格,因此需要在設(shè)定的數(shù)據(jù)前加上一個(gè)字符’=,’模塊會(huì)將’=到’“0”之間的數(shù)據(jù)作為有效的數(shù)據(jù),因此數(shù)據(jù)中不能出現(xiàn)”0”,廣播用戶自定義數(shù)據(jù)最大長(zhǎng)度為22個(gè)字節(jié)。廣州碧德電子科技有限公司 BDE Technology Co., Ltd. 19BDE-BLEM201 透?jìng)髂K使用指南例:“SPP:setAdvData=0123456789 0”當(dāng)想去除廣播數(shù)據(jù)時(shí),發(fā)送空參數(shù)即可: “SPP:setAdvData= 0”。響應(yīng):“SPP:ok 0”(操作成功)“SPP:errreason 0”(操作失敗,reason的具體值參見(jiàn)附錄B)getAdvData作用:獲取當(dāng)前廣播數(shù)據(jù)支持的角色:從參數(shù)個(gè)數(shù):無(wú)響應(yīng):“SPP:ok=data 0”(data為當(dāng)前廣播數(shù)據(jù))“SPP:errreason 0”(操作失敗,reason的具體值參見(jiàn)附錄B)setAdv作用:開(kāi)啟或關(guān)閉廣播支持的角色:從參數(shù)個(gè)數(shù):1個(gè)參數(shù)取值:參數(shù)取值(動(dòng)作)含義on開(kāi)啟廣播off關(guān)閉廣播說(shuō)明:該指令只有在從設(shè)備處于非連接狀態(tài)時(shí)才會(huì)被執(zhí)行。例:“SPP:setAdvon 0”(開(kāi)啟廣播)響應(yīng):“SPP:ok 0”(操作成功)“SPP:errreason 0”(操作失敗,reason的具體值參見(jiàn)附錄B)setConnInt作用:設(shè)置連接參數(shù)廣州碧德電子科技有限公司 BDE Technology Co., Ltd. 20BDE-BLEM201 透?jìng)髂K使用指南支持的角色:主、從參數(shù)個(gè)數(shù):4個(gè)參數(shù)取值:參數(shù)取值含義參數(shù)1(最小連接間隔)min設(shè)置最小連接間隔為min*1.25ms參數(shù)2(最大連接間隔)max設(shè)置最大連接間隔為max*1.25ms參數(shù)3(latency)lat設(shè)置latency為lat參數(shù)4(連接超時(shí))timeout設(shè)置連接超時(shí)為timeout*10ms說(shuō)明:最小連接間隔和最大連接間隔:取值范圍均為:0x0006~0x0C80,最大連接間隔不能小于最小連接間隔。連接間隔越大,功耗就越低,傳輸速率也越低。Latency:取值范圍為:0x0000~0x01F3。連接超時(shí):取值范圍為:0x000A~0x0C80。連接間隔必須小于連接超時(shí)時(shí)間,即:[max*1.25+(1+latency)]<10*timeout 。模塊更新連接參數(shù)時(shí)需要等待另一端設(shè)備參與響應(yīng),響應(yīng)時(shí)間跟連接間隔有關(guān),連接間隔越短,響應(yīng)時(shí)間越短,反之亦然,。因此,有時(shí)會(huì)存在延遲幾秒才響應(yīng)的現(xiàn)象。成功更新連接參數(shù)后,模塊會(huì)響應(yīng)ok指令;更新失敗或更新超時(shí)時(shí),模塊會(huì)響應(yīng)err指令,超時(shí)時(shí)間為10s。由于模塊指令執(zhí)行時(shí)具有單步性,因此在得到響應(yīng)之前再往模塊發(fā)送其他指令時(shí)都會(huì)返回err,故開(kāi)發(fā)者發(fā)送了更新連接參數(shù)指令后應(yīng)該要等待接收到相應(yīng)的響應(yīng)后才執(zhí)行其他操作。如果模塊當(dāng)前處于非連接狀態(tài),使用 setConnInt 指令將會(huì)返回錯(cuò)誤:SPP:errnotConn\r\n\0。響應(yīng):“SPP:ok 0”(操作成功)“SPP:errreason 0”(操作失敗,reason的具體值參見(jiàn)附錄B)getConnInt作用:獲取連接參數(shù)支持的角色:主、從參數(shù)個(gè)數(shù):無(wú)響應(yīng):廣州碧德電子科技有限公司 BDE Technology Co., Ltd. 21BDE-BLEM201 透?jìng)髂K使用指南“SPP:okinterval latency timeout 0”(interval為實(shí)際的連接間隔,timeout為連接超時(shí))“SPP:errreason 0”(操作失敗,reason的具體值參見(jiàn)附錄B)setScan作用:開(kāi)啟或關(guān)閉掃描支持的角色:主參數(shù)個(gè)數(shù):1個(gè)參數(shù)取值:參數(shù)取值(動(dòng)作)含義on開(kāi)啟掃描off關(guān)閉掃描說(shuō)明:該指令只能在主設(shè)備處于非連接狀態(tài)下使用。成功開(kāi)啟掃描后,模塊會(huì)先響應(yīng)ok指令。當(dāng)模塊掃描到從設(shè)備時(shí)會(huì)以dev指令回傳給MCU。直到模塊連接上一個(gè)從設(shè)備或關(guān)閉掃描,模塊才會(huì)停止回傳dev指令。響應(yīng):“SPP:ok 0”(操作成功)“SPP:devaddr87:BC:D6:13:33:88name=bdesppdev\r\n\0 ”“SPP:devaddr87 0”(如果從設(shè)備設(shè)置了廣播數(shù)據(jù))“SPP:errreason 0”(操作失敗,reason的具體值參見(jiàn)附錄B)getAddr作用:獲取模塊的地址支持的角色:主、從參數(shù)個(gè)數(shù):無(wú)響應(yīng):“SPP:okFF:11:22:33:55:FF 0”“SPP:errreason 0”(操作失敗,reason的具體值參見(jiàn)附錄B)connect作用:連接指定的從設(shè)備支持的角色:主參數(shù)個(gè)數(shù):1個(gè)廣州碧德電子科技有限公司 BDE Technology Co., Ltd. 22BDE-BLEM201 透?jìng)髂K使用指南參數(shù)取值:參數(shù)取值(從設(shè)備地址) 含義XX:XX:XX:XX:XX:XX 連接地址為 XX:XX:XX:XX:XX:XX的從設(shè)備說(shuō)明:地址用ASCII碼表示,每?jī)蓚€(gè)地址字節(jié)間用 ’:’分隔,如下:“SPP:connect87 0”響應(yīng):“SPP:ok 0”(操作成功)“SPP:errreason 0”(操作失敗,reason的具體值參見(jiàn)附錄B)disconnect作用:模塊主動(dòng)斷開(kāi)連接支持的角色:主、從參數(shù)個(gè)數(shù):無(wú)說(shuō)明:成功斷開(kāi)連接后,模塊會(huì)回到空閑狀態(tài)。響應(yīng):“SPP:ok 0”(操作成功)“SPP:err 0”(操作失敗,reason的具體值參見(jiàn)附錄B)getStatus作用:獲取模塊運(yùn)行狀態(tài)支持的角色:主、從參數(shù)個(gè)數(shù):無(wú)說(shuō)明:從設(shè)備的運(yùn)行狀態(tài)有三種:空閑、廣播和連接(”idle、””adv”和”connected”)。主設(shè)備的運(yùn)行狀態(tài)有五種:空閑、有響應(yīng)的掃描、無(wú)響應(yīng)的掃描、正在連接和已經(jīng)連接(”idle、””scanrsp”、”scannorsp”、”connecting、”connected)”?!眘cannorsp和”scanrsp的”區(qū)別是:前者是當(dāng)模塊作為主設(shè)備時(shí)被動(dòng)地?cái)嚅_(kāi)連接后(即由從設(shè)備斷開(kāi)連接或由于其他因素?cái)嚅_(kāi)連接),模塊會(huì)嘗試重新連接上從設(shè)備,即開(kāi)啟掃描后搜索上次連接的從設(shè)備,但此時(shí)的掃描內(nèi)容是不會(huì)上傳給MCU的。后者是當(dāng)模塊作為主設(shè)備時(shí),MCU向模塊發(fā)送了setScan指令主動(dòng)地開(kāi)啟了掃描,此時(shí)模塊的掃描內(nèi)容會(huì)上傳給MCU。廣州碧德電子科技有限公司 BDE Technology Co., Ltd. 23BDE-BLEM201 透?jìng)髂K使用指南響應(yīng):“SPP:okidle 0”(模塊處于空閑狀態(tài))“SPP:okadv 0”(模塊處于廣播狀態(tài))“SPP:ok 0”(模塊處于連接狀態(tài))“SPP:okscanrsp 0”(帶響應(yīng)掃描)“SPP:okscannorsp 0”(不帶響應(yīng)掃描)“SPP:okconnecting 0”(正在連接)“SPP:errreason 0”(操作失敗,reason的具體值參見(jiàn)附錄B)saveConfigure作用:保存當(dāng)前的配置支持的角色:主、從參數(shù)個(gè)數(shù):無(wú)說(shuō)明:該指令用于將當(dāng)前模塊的參數(shù)和狀態(tài)保存到flash中,以便模塊在下次上電時(shí)會(huì)根據(jù)保存好的參數(shù)和狀態(tài)進(jìn)行初始化設(shè)置。若在從設(shè)備廣播或連接的狀態(tài)下發(fā)送該指令,從設(shè)備以后每次重新上電都會(huì)自動(dòng)進(jìn)行廣播;在主設(shè)備掃描或連接的狀態(tài)下發(fā)送該指令,主設(shè)備以后每次重新上電時(shí)會(huì)自動(dòng)進(jìn)行掃描;若在空閑的狀態(tài)下發(fā)送該指令,模塊以后每次重新上電時(shí)也會(huì)處于空閑狀態(tài)(有一種情況例外:在空閑狀態(tài)下配置一對(duì)自動(dòng)連接的主從設(shè)備后,以后每次重新上電兩模塊都會(huì)自動(dòng)進(jìn)入scanwithoutrespond和廣播狀態(tài))。這時(shí)需要發(fā)送setAdv、setScan指令才能開(kāi)啟廣播、掃描,而且如果想模塊在下次上電時(shí)自動(dòng)廣播、掃描,需要發(fā)送saveConfigure指令。響應(yīng):“SPP:ok 0”(操作成功)“SPP:errreason 0”(操作失敗,reason的具體值參見(jiàn)附錄B)clearConfigure作用:清除保存的配置支持的角色:主、從參數(shù)個(gè)數(shù):無(wú)說(shuō)明:向模塊成功發(fā)送該指令后,模塊下次上電時(shí)會(huì)恢復(fù)出廠時(shí)的配置。響應(yīng):“SPP: 0”(操作成功)廣州碧德電子科技有限公司 BDE Technology Co., Ltd. 24BDE-BLEM201 透?jìng)髂K使用指南“SPP:errreason 0”(操作失敗,reason的具體值參見(jiàn)附錄B)sendData作用:發(fā)送指定長(zhǎng)度的透?jìng)鲾?shù)據(jù)支持的角色:主、從參數(shù)個(gè)數(shù):1個(gè)例:“SPP:sendData10 00123456789”“sendData”與” 0”之間的”10代”表需要發(fā)送的透?jìng)鲾?shù)據(jù)為 10個(gè)字節(jié),即”0”后的10個(gè)字節(jié)。模塊接收到該指令時(shí)不會(huì)對(duì)”0”后指定長(zhǎng)度的數(shù)據(jù)進(jìn)行指令分析,而是將這些數(shù)據(jù)全部認(rèn)為是透?jìng)鲾?shù)據(jù)。因此可以利用這條指令來(lái)發(fā)送指令數(shù)據(jù)包。如下:“SPP:sendData18 0”響應(yīng):“SPP:ok 0”(操作成功)“SPP:errreason 0”(操作失敗,reason的具體值參見(jiàn)附錄B)getVersion作用:獲取模塊固件版本支持的角色:主、從參數(shù)個(gè)數(shù):無(wú)響應(yīng):“SPP:ok 0”(當(dāng)前固件版本為 “SPP:errreason 0”(操作失敗,reason的具體值參見(jiàn)附錄B)setConnectableAddr作用:設(shè)置允許連接該從設(shè)備的主設(shè)備地址支持的角色:從參數(shù)個(gè)數(shù):1個(gè)參數(shù)取值:參數(shù)取值(主設(shè)備地址) 含義設(shè)置允許連接模塊的主設(shè)備地址為XX:XX:XX:XX:XX:XXXX:XX:XX:XX:XX:XX說(shuō)明:廣州碧德電子科技有限公司 BDE Technology Co., Ltd. 25BDE-BLEM201 透?jìng)髂K使用指南setConnectableAddr指令用于防止不相關(guān)的主設(shè)備連接模塊。如果想取消這一功能,需要向模塊發(fā)送“SPP:setConnectableAddr0”,后發(fā)送saveConfigure指令。響應(yīng):“SPP:ok 0”(操作成功)“SPP:errreason 0”(操作失敗,reason的具體值參見(jiàn)附錄B)getConnectableAddr作用:獲取允許連接該從設(shè)備的主設(shè)備地址支持的角色:從參數(shù)個(gè)數(shù):無(wú)響應(yīng):“SPP:ok 0”“SPP:errreason 0”(操作失敗,reason的具體值參見(jiàn)附錄B)setDirectConnAddr作用:設(shè)置主模塊上電后直接連接的從設(shè)備地址支持的角色:主參數(shù)個(gè)數(shù):1個(gè)參數(shù)取值:參數(shù)取值(從設(shè)備地址) 含義設(shè)置模塊上電自動(dòng)連接的從設(shè)備地址為XX:XX:XX:XX:XX:XXXX:XX:XX:XX:XX:XX說(shuō)明:setDirectConnAddr 指令用于實(shí)現(xiàn)模塊上電后自動(dòng)建立連接的功能。發(fā)送完該指令后,模塊下次上電會(huì)自動(dòng)掃描搜索后連接地址為XX:XX:XX:XX:XX:XX的從設(shè)備。將從設(shè)備地址參數(shù)全設(shè)為0可以取消該功能(別忘了saveConfigure指令):“SPP:setDirectConnAddr00:00:00:00:00:00\r\n\0”響應(yīng):“SPP:ok 0”(操作成功)“SPP:errreason 0”(操作失敗,reason的具體值參見(jiàn)附錄B)getDirectConnAddr作用:獲取主模塊直接連接的從設(shè)備地址廣州碧德電子科技有限公司 BDE Technology Co., Ltd. 26BDE-BLEM201 透?jìng)髂K使用指南支持的角色:主參數(shù)個(gè)數(shù):無(wú)響應(yīng):“SPP:ok87 0”“SPP:errreason 0”(操作失敗,reason的具體值參見(jiàn)附錄B)ok作用:操作成功響應(yīng)說(shuō)明:ok指令由模塊發(fā)送給 MCU,其參數(shù)根據(jù)操作的不同而不同。err作用:操作失敗響應(yīng)說(shuō)明:err指令由模塊發(fā)送給 MCU,其參數(shù)見(jiàn)附錄B。dev作用:掃描響應(yīng)說(shuō)明:dev指令由模塊發(fā)送給MCU。它包含了從設(shè)備的相關(guān)信息,可分為兩種信息類型:名字和數(shù)據(jù)。例:“SPP:devaddrFF: 0”(名字信息)“SPP:devaddrFF:11:22:33:66:FFdat 0”(數(shù)據(jù)信息)廣州碧德電子科技有限公司 BDE Technology Co., Ltd. 27BDE-BLEM201 透?jìng)髂K使用指南附錄 B 操作錯(cuò)誤碼err為操作錯(cuò)誤碼。當(dāng)開(kāi)發(fā)者發(fā)送的指令不被模塊接受時(shí),模塊會(huì)返回 err響應(yīng):“SPP:err 0”。err的參數(shù)值和含義如下表:Reason含義“procNotDone”上一個(gè)操作未結(jié)束“invalidParam”指令的參數(shù)不合法“notConn”模塊處于未連接狀態(tài)“alreadyConn”模塊處于連接狀態(tài)“advertising”模塊正在廣播“procFailure”操作失敗附錄C手機(jī)APP編程建議使用碧德電子提供的iOS、Android透?jìng)鲙?kù)開(kāi)發(fā)碧德電子將基于藍(lán)牙 4.0通信的串口透?jìng)鞴δ芊庋b成庫(kù)。 基于此庫(kù),第三方開(kāi)發(fā)人員不需要對(duì)藍(lán)牙 4.0的術(shù)語(yǔ)及概念進(jìn)行全面的了解,而只需要具備串口透?jìng)鏖_(kāi)發(fā)經(jīng)驗(yàn)甚至于只需要熟悉文件系統(tǒng)操作即可方便快捷地開(kāi)發(fā)基于藍(lán)牙串口透?jìng)鞯膽?yīng)用。庫(kù)提供的接口將藍(lán)牙設(shè)備虛擬成一個(gè)端口 (Port),所有操作都是基于端口的操作,包括掃描端口、打開(kāi)端口、接收數(shù)據(jù)、讀取數(shù)據(jù)、發(fā)送數(shù)據(jù)等。庫(kù)包括iOS和Android兩個(gè)版本,分別在下面進(jìn)行描述。iOS平臺(tái)透?jìng)鲙?kù)首先利用+(BLESerialComManager*)sharedInstance;得到單例實(shí)例,然后進(jìn)行以下操作可以進(jìn)行相關(guān)參數(shù)的一些設(shè)置 (暫時(shí)不需要)-(resultCodeType)configure:(paramsPackage4Configure)params在對(duì)端口進(jìn)行操作前,需要對(duì)端口進(jìn)行掃描發(fā)現(xiàn):-(resultCodeType)startEnumeratePorts:(float)timeout;然后在以下代理中返回搜索到的端口廣州碧德電子科技有限公司 BDE Technology Co., Ltd. 28BDE-BLEM201 透?jìng)髂K使用指南-(void)bleSerilaComManager:(BLESerialComManager*)bleSerialComManagerdidFoundPort:(BLEPort*)port;當(dāng)端口掃描超時(shí)的接口-(void)bleSerilaComManagerDidEnumComplete:(BLESerialComManager*)bleSerialComManager;停止端口掃描-(resultCodeType)stopEnumeratePorts;打開(kāi)端口-(resultCodeType)startOpen:(BLEPort*)portwithParams:(paramsPackage4Open)params;端口打開(kāi)成功與否的結(jié)果返回-(void)bleSerilaComManager:(BLESerialComManager*)bleSerialComManagerdidOpenPort:(BLEPort*)portwithResult:(resultCodeType)result;接收數(shù)據(jù)的過(guò)程,首先在以下接口里面收到數(shù)據(jù)的提示-(void)bleSerialComManager:(BLESerialComManager*)bleSerialComManagerdidDataReceivedOnPort:(BLEPort*)portwithLength:(unsignedint)length;這時(shí)只是收到接收數(shù)據(jù)的長(zhǎng)度,需要再調(diào)用讀數(shù)據(jù)接口,將數(shù)據(jù)讀取出來(lái),完成數(shù)據(jù)的接收過(guò)程-(NSData*)readDataFromPort:(BLEPort*)portwithLength:(int)length;其中可以利用接口-(resultCodeType)clearReadBufferInPort:(BLEPort*)port 清空接收緩沖區(qū)。在數(shù)據(jù)的發(fā)送過(guò)程,直接將數(shù)據(jù)作為參數(shù),調(diào)用數(shù)據(jù)寫的接口,完成數(shù)據(jù)的寫過(guò)程-(resultCodeType)writeData:(NSData*)datatoPort:(BLEPort*)port;使用完畢后,關(guān)閉串口-(resultCodeType)closePort:(BLEPort*)port;-(void)bleSerialComManager:(BLESerialComManager*)bleSerialComManagerdid
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年城市照明設(shè)施采購(gòu)招標(biāo)委托合同模板3篇
- 洗手的課程設(shè)計(jì)
- 研學(xué)旅行烘焙課程設(shè)計(jì)
- 瑜伽室門口課程設(shè)計(jì)門牌
- 機(jī)械電子學(xué)課程設(shè)計(jì)
- 2024年電子商務(wù)平臺(tái)銷售經(jīng)理聘用合同范本3篇
- 2024年微電影拍攝制作與新媒體營(yíng)銷合作合同3篇
- 2024年液化氣銷售區(qū)域獨(dú)家代理合同3篇
- 疫情繪本主題課程設(shè)計(jì)
- 2024年度搬家運(yùn)輸服務(wù)合同范本30篇
- 新高處安裝維護(hù)拆除作業(yè)專題培訓(xùn)課件
- 名校內(nèi)部必修二《政治生活》關(guān)鍵詞句歸類
- 深基坑事故案例
- 誡勉談話檢討書3篇
- 行車時(shí)遇突發(fā)故障的應(yīng)急辦法演示
- 倉(cāng)儲(chǔ)管理員高級(jí)工題庫(kù)及參考答案
- XX公司學(xué)歷、職稱、技能工資補(bǔ)貼規(guī)定
- 川省成都市2022屆高二上學(xué)期期末考試:英語(yǔ)
- 消防安全操作規(guī)程
- 廣東省江門市2022-2023學(xué)年高一上學(xué)期期末調(diào)研考試物理試題(一)
- 蘇州市蘇教版五年級(jí)下冊(cè)數(shù)學(xué)第三單元第12課《因數(shù)和倍數(shù)整理練習(xí)(第2課時(shí))》課件
評(píng)論
0/150
提交評(píng)論