


摘 要:藍牙技術,是一種無線數據傳輸技術,在短距離無線數據傳送中有很大的應用需求。鑒于此,在介紹藍牙無線通信模塊HC-05的結構和應用,藍牙模塊的配對設置的基礎上,對應用兩個藍牙模塊實現兩個單片機之間時鐘顯示的數據傳輸進行了分析,實現了單片機之間的無線通信。
關鍵詞:藍牙技術;藍牙無線通信模塊;單片機通信
1??? 藍牙技術概述
(1)藍牙技術是一種無線數據傳輸技術,在短距離無線數據傳送中有很大的應用需求。藍牙無線通信在單片機應用系統中可以實現兩個單片機串口之間的無線通信,也可實現手機和單片機之間的無線通信,并能實現雙向數字傳輸,這就給單片機無線控制和應用提供了新的方法[1]。
在單片機中應用藍牙技術,可以實現近程無線通信,搭建藍牙新功能的單片機系統應用平臺,可以為單片機開發應用技術增加新的內容。
(2)本文使用的藍牙無線通信模塊是HC-05藍牙應用模塊,它有兩種工作模式,即接收指令工作模式和自動連接工作模式。在自動連接工作模式下,模塊的工作模式有3種,分別為主機模式、從機模式和回環模式。常用的自動連接工作模式分別是主機模式和從機模式配對進行數據傳輸。選定使用的工作模式并再次上電后,模塊就會自動按照設定好的工作模式進行數據發送和接收[2]。
模塊實物圖如圖1所示。
模塊引腳說明如表1所示,電路原理圖如圖2所示。
2??? HC-05藍牙無線通信模塊的設置
HC-05藍牙無線通信模塊需要在設置后才能使用,具體的設置過程如下:
(1)首先要準備USB轉TTL模塊,將USB轉TTL轉換模塊連接到電腦的USB口上,然后利用串口調試助手進行藍牙模塊的AT命令調試,這時藍牙模塊的工作方式是接收指令工作模式。
(2)USB轉TTL模塊與HC-05的連接如圖3所示,USB轉TTL模塊的RXD接HC-05藍牙無線通信模塊的TXD端,USB轉TTL模塊的TXD接HC-05藍牙無線通信模塊的RXD端,然后兩個模塊的VCC端相連接,兩個模塊的GND端相連接。
(3)當藍牙模塊的工作方式是接收指令工作模式時,能執行AT命令,用戶可通過串口調試助手向模塊發送各種AT指令,為模塊設定控制參數或發布控制命令。HC-05藍牙應用模塊常用的AT指令詳細介紹如表2所示。
進入命令響應工作模式有兩種方法:(1)模塊上電,未配對情況下就是AT模式,波特率為模塊本身的波特率,默認為9 600,發送一次AT指令時需要置高一次PIO11;(2)PIO11置高電平后,再給模塊上電,此時模塊進入AT模式,波特率固定為38 400,可以直接發送AT指令。
置高一次PIO11是指在藍牙模塊中有一個小按鍵,按一下就置高一次PIO11。也就是說,第一種方法需要每發送一次AT指令按一次;而第二種方式是長按的過程中上電,之后就無須再管了,直接發送AT命令即可。需要注意的是,兩種進入命令響應工作模式的方式使用的波特率是不一樣的,建議使用第二種方式。
怎么區分是否進入了命令響應工作模式呢?在藍牙模塊上有燈,當燈快閃的時候,就是自動連接工作模式;當燈慢閃的時候,就是命令響應工作模式[2]。
(4)AT命令簡介:進入到命令響應工作模式之后,就可以使用串口調試助手進行藍牙調試了。需要注意的是,AT指令不區分大小寫,均以回車、換行結尾。
(5)藍牙模塊的配對設置:
1)設置第一個HC-05藍牙無線通信模塊。
串口調試助手XCOM將藍牙模塊1恢復默認設置:AT+ORGL,并發送。
設置藍牙模塊1配對碼,配置藍牙1的配對碼:AT+
PSWD=“0000”,并發送。藍牙1與藍牙2的配對碼自己隨意設置,但必須一樣,這樣才能成功配對。
設置1主模式串口調試助手A,將藍牙A配置為從機模式:AT+ROLE=1,并發送。
藍牙模塊1綁定藍牙模塊2地址。AT+BIND=98d3,32,30d8ea,這個地址是查詢藍牙模塊2的地址后得出的數據。
確認綁定地址,串口調試助手XCOM輸入:AT+BIND?設置串口波特率串口調試助手XCOM,設置藍牙1的串口波特率,輸入AT+UART=56700,0,0。
設置藍牙模塊1的連接模式為0,即AT+CMODE=0。數據0的含義是藍牙連接模塊必須按照指定藍牙地址進行連接,這樣第一個藍牙模塊1才能自動連接第二個藍牙模塊2。
2)用另外一個串口助手設置另外一個HC-05。
與設置藍牙模塊1的方式相同,先恢復藍牙模塊2默認設置。
設定藍牙模塊2配對碼,要與藍牙模塊1的配對碼相同。
設置藍牙模塊2為主模式,將藍牙模塊2配置為主機模式:AT+ROLE=0,并發送,因為此前藍牙模塊1已經配置成為從機模式了。
查詢藍牙模塊2地址,查詢藍牙模塊2地址的AT命令是:AT+ADDR?發送得到藍牙2的地址:98d3:32:30d8ea,將這個地址返回給藍牙模塊1,這樣才能夠在藍牙1中使用指定地址連接模式。
設置串口波特率,設置藍牙模塊2的串口波特率,輸入AT+UART=56700,0,0。兩個藍牙模塊的串口波特率的設定要相同,如果使用串口調試助手發送和接收數據,波特率可以是56 700,這樣傳輸數據比較快速。如果使用藍牙模塊傳輸數據,那么波特率最好使用9 600,這樣傳輸數據比較穩定[3]。
(6)常規工作模式:重新上電后兩個藍牙模塊都進入常規工作模式,各自的藍牙模塊會自動搜索相同綁定地址的藍牙配對模塊,完成配對。之后,兩個藍牙模塊之間就能通過單片機的串行口傳遞主模塊發給從模塊的數據了。
3??? 利用兩個HC-05藍牙無線通信模塊連接兩個單片機進行串行通信
兩個HC-05藍牙無線通信模塊設置好之后,兩個單片機就可以像串口通信一樣使用HC-05藍牙無線通信模塊進行單片機之間的數據傳送。兩個連接在各自單片機上的藍牙模塊傳輸單片機實時時鐘數據如圖4所示。通過HC-05藍牙無線通信模塊,可以實現單片機之間和單片機與外設之間的短距離無線數據傳輸,從而簡化了單片機控制系統的接線,提高了單片機控制方式的多樣性、便捷性和智能化程度。
4??? 結語
通過兩個藍牙模塊的設置,可以實現單片機之間的無線短程通信,取消單片機串口之間需要導線連接的通信線路,提高單片機應用的靈活性,有利于進一步開發應用各種單片機無線控制技術。
[參考文獻]
[1] 藍牙[EB/OL].[2021-07-10].https://baike.baidu.com/
item/%E8%93%9D%E7%89%99/102670?fr=aladdin.
[2] 兩個藍牙HC-05的完美配對學習筆記[EB/OL].(2018-08-
01)[2021-07-10].https://blog.csdn.net/seek97/
article/details/81333701.
[3] 兩個HC-05藍牙模塊互相綁定構成無線串口模塊[EB/OL].
(2018-10-29)[2021-07-10].https://blog.csdn.net/
whik1194/article/details/83513657.
收稿日期:2021-07-19
作者簡介:吳賡(1970—),男,福建福州人,碩士研究生,講師,研究方向:單片機應用技術。