藍(lán)牙模塊 |
體溫計(jì) |
血壓計(jì) |
血糖儀 |
體脂秤 |
TYPE_C接頭 |
藍(lán)牙燈 |
PM2.5設(shè)備 |
皮膚補(bǔ)水檢測儀 |
藍(lán)牙模塊的軟件設(shè)計(jì)分為兩個部分:協(xié)議層加載、模塊初始參數(shù)設(shè)置。藍(lán)牙協(xié)議為建立于藍(lán)牙技術(shù)之上的多種應(yīng)用提供了完整的解決辦法,但對于不同應(yīng)用一般只用到藍(lán)牙協(xié)議中的某幾個,而且對于每部分協(xié)議也不必用它所提供的全部功能。
4.1 協(xié)議層加載 由于本模塊主要應(yīng)用于工業(yè)無線通信,所以在模塊的外部Flash 中只加載了基帶(包括LC),LM 和HCI(主機(jī)控制接口)協(xié)議層。其中HCI 為藍(lán)牙硬件中基帶控制器和鏈路管理器提供了命令接口,從而實(shí)現(xiàn)對硬件狀態(tài)寄存器和控制寄存器的訪問,特別是該接口提供了對藍(lán)牙基帶的統(tǒng)一訪問模式。加載這些協(xié)議層模塊實(shí)現(xiàn)了完整的藍(lán)牙鏈路控制和嵌入式HCI 協(xié)議,屏蔽了射頻和基帶兩個硬件協(xié)議層,以后的應(yīng)用開發(fā)可以直接從HCI 層開始。通過封裝HCI 協(xié)議層,可以生成標(biāo)準(zhǔn)的HCI 接口函數(shù),為上層的應(yīng)用開發(fā)提供一個完整的平臺。
在外部主機(jī)具有 UART 或者USB 接口,藍(lán)牙模塊與主機(jī)信號電平兼容的情況下,不需要再添加其他輔助電路,本藍(lán)牙模塊就可以和主機(jī)直接相連。 是主機(jī)和藍(lán)牙硬件連接示意圖。主機(jī)控制器接口(HCI)提供了一種訪問藍(lán)牙硬件能力的通用接口,HCI 層通過訪問基帶命令、鏈路管理器命令、硬件狀態(tài)寄存器、控制寄存器以及事件寄存器實(shí)現(xiàn)對藍(lán)牙硬件的HCI 命令。在主機(jī)系統(tǒng)的HCI 驅(qū)動程序和藍(lán)牙的硬件HCI 固件之間存在的幾個中間層次,又稱為主機(jī)控制器傳輸層,提供傳輸數(shù)據(jù)的能力。該層的目標(biāo)是透明化,主機(jī)控制器驅(qū)動程序不關(guān)心它是在UART 上還是USB 上,UART和USB 對主機(jī)控制器驅(qū)動程序發(fā)送到主機(jī)控制器的數(shù)據(jù)不能進(jìn)行處理,這樣主機(jī)控制器接口和主機(jī)控制器可以進(jìn)行升級,升級不會對傳輸層有任何影響。
4.2 模塊初始參數(shù)設(shè)置 藍(lán)牙模塊加載了各種協(xié)議層后并不能工作,還需要根據(jù)不同的硬件設(shè)計(jì)對模塊初始參數(shù)進(jìn)行置。基于bluecore2 藍(lán)牙芯片的初始參數(shù)設(shè)置又稱為PSK 設(shè)置,可以通過BLUELAB集成開發(fā)環(huán)境或者PS Key 設(shè)置軟件來實(shí)現(xiàn)通信模塊設(shè)計(jì)與開發(fā)5 藍(lán)牙模塊應(yīng)用實(shí)例,以藍(lán)牙手操器和藍(lán)牙閥門定位器作說明示例。
藍(lán)牙模塊與閥門定位器中的控制板進(jìn)行串口(UART)全雙工通信,閥門定位器的閥位值、閥位上限等各種參數(shù)通過串口送到藍(lán)牙模塊,通過藍(lán)牙無線通信的方式發(fā)送給藍(lán)牙手操器,手操器可以用相關(guān)指令動態(tài)地修改閥門定位器的對應(yīng)參數(shù),這改變了傳統(tǒng)的參數(shù)設(shè)置或修改方法。在閥門定位器中的藍(lán)牙模塊設(shè)置為被動鏈接模式,設(shè)備啟動后閥門定位器會周期性的采集閥位值并存儲在該設(shè)備的緩沖區(qū)內(nèi),當(dāng)藍(lán)牙手操器搜索到閥門定位器后向閥門定位器發(fā)送鏈接指令,建立鏈接后,藍(lán)牙手操器將獲得一個鏈接句柄。此后進(jìn)入監(jiān)控界面,可以執(zhí)行讀閥位值、閥位上限、以及寫上限三項(xiàng)功能。每項(xiàng)功能在執(zhí)行時,都由手操器發(fā)送一條控制指令,該指令由串口發(fā)給藍(lán)牙模塊,其中包括藍(lán)牙鏈接句柄、功能代碼(0x01-0x03 分別針對以上的三項(xiàng)功能)以及CRC 校驗(yàn)域。閥門定位器收到控制指令后先判斷鏈接句柄,判斷是否接收該指令,其后根據(jù)功能代碼分別執(zhí)行對應(yīng)的任務(wù)。