一文看懂BLE藍牙模組應用開發,快速入門指南
BLE(Bluetooh Low Energy)藍牙低能耗技術是短距離、低成本、可互操作性的無線技術,它利用許多智能手段最大限度地降低功耗。
BLE藍牙模塊是為了降低使用者的開發門檻,模組廠商會將射頻部分的參數調整到最佳,同時在軟體上符合大部分用戶的需求。
當用戶拿到BLE藍牙模組後,僅需要通過串口就可以直接應用在自己的項目中,大大降低了用戶的開發成本。這也是目前BLE藍牙模塊非常火熱的主要原因。
1:BLE藍牙模塊的使用人群
(1)MCU方案廠商或成品廠商,經常做一些各類消費類電子,工業控制類方案。
(2)學生,用於學習應用BLE無線技術。
(3)業餘電子發燒友,喜歡鑽研技術,製作一些小設計,小發明。
今天,筆者就拿目前市面上比較火爆的 一款藍牙模塊——集賢科技的UA287Q BLE模塊,來為大家介紹下藍牙模塊的具體使用方法。
說到UA287Q 藍牙模組,我們就先從它的規格書看起。
2:UA287Q 藍牙模組規格書介紹
從上圖看出,該模組的特色主要在於三點:
第一點:支持主從模式,方便用戶在應用過程中可以脫離手機,實現兩個設備互相通信的功能。
第二點:支持微信協議,用戶如果想省去開發安卓及ios的app成本,可以直接應用微信公眾號上,實現用戶功能。
第三點:AT指令操作簡潔,可通過AT指令修改藍牙名稱, 串口波特率 等操作,方便用戶操作287Q模塊。
第四點:模組廠商聯繫方式,張生扣扣8360,95006(憑該文鏈接可以免費申請UA287Q藍牙模組樣品一片)。
第五點:對底板硬體干擾要求不高,便與設計,只需要保證模塊供電電源乾淨即可。
3:UA287Q 藍牙模組相關AT指令集
串口AT指令如上圖所示,基本涵蓋了所有用戶平時會用到的串口AT指令。接下來我們就一起來看下這個模塊如何用起來。
4:測試操作說明
首先,就是給這個模塊供電,並將串口接出來到電腦上,如下圖所示:
4.1打開測試APP「BLE-Tool」軟體搜索藍牙,如圖 APP(BLE Tool)
4.2選擇對應UA287Q模塊名稱、MAC地址,如圖2所示該模塊的藍牙名稱BleSeriaPort;
4.3進入測試界面取消「Hex」和左側勾選項,後點擊「選擇要寫的服務ID」選擇最後一個選項里「可寫」如下圖3,圖4所示;
4.4 在測試界面點擊「選擇要通知/讀服務ID」選擇第二項選項 「可寫可通知」如下圖5和圖6所示;
4.5 透傳模式下,寫入要發送的數據,如下圖 在APP「BLE-Tool」上寫數據,串口助手上接收。
在串口助手上寫數據,APP「BLE-Tool」上接收數據
到此,關於287Q BLE透傳模塊的透傳功能演示完畢。接下來跟大家說下如何通過AT指令修改藍牙名稱。
5:AT指令介紹
5.1 設置藍牙名
例: 「AT+setName=bleName
」(如設置為SENSSUN FAT)
回復: 「AT+okrestart effect!
」 (操作成功,需發重啟命令,重啟後生效)
「AT+err_code
」 (操作失敗, err_code具體參見「命令錯誤返回參數說明」)
5.2 讀取藍牙設備名稱
例: 「AT+getName
」
回復: 「AT+ok=bleName
」 (操作成功)
「AT+err_code
」 (操作失敗, err_code具體參見「命令錯誤返回參數說明」)
5.3 讀取藍牙MAC 地址
例: 「AT+getAddr
」
回復: 「AT+okFF:11:22:33:66:FF
」 (操作成功)
「AT+err_code
」 (操作失敗, err_code具體參見「命令錯誤返回參數說明」)
5.4 設置藍牙MAC 地址
回復: 「AT+okrestart effect!
」 (操作成功,需發重啟命令,重啟後生效)
「AT+err_code
」 (操作失敗, err_code具體參見「命令錯誤返回參數說明」)
5.5 讀取藍牙模塊的狀態廣播/已連接/sleep:
例: 「AT+getStatus
」
回復:「AT+ok status_code
」(操作成功),status_code如下:
「AT+err_code
」 (操作失敗, err_code具體參見「命令錯誤返回參數說明」)
5.6 更改藍牙連接間隔
命令說明:立即生效,不要頻繁設置,否則可能掉線。
例: 「AT+setConnInt 36242300
」(參數分別為max, min, latency,timeout)
例子中,最大間隔36*1.25ms,最小間隔24*1.25ms,潛伏期 2, 連接超時300*10ms.
最小連接間隔和最大連接間隔取值範圍均為0x0006~0x0C80(7.5ms~4000ms),min
Latency:取值範圍為:0x0000~0x01F3(0~499)。
連接超時:取值範圍為:0x000A~0x0C80。
連接間隔必須小於連接超時時間,即:[max*1.25 * (1+latency)]
注意:最大間隔* latency必須要小於timeout *4
回復: 「AT+ok
」 (操作成功,不用重啟,立即生效)
「AT+err_code
」 (操作失敗, err_code具體參見「命令錯誤返回參數說明」)
本文部分內容為筆者網上搜索及查閱相關資料所得,如有紕漏,歡迎指出。
作者:物聯網匠人
歡迎收藏,轉載!
TAG:微秘 |