HC-05主從一體藍(lán)牙模塊與JDY-31從藍(lán)牙模塊連接

兩個(gè)藍(lán)牙模塊配對通信
在通常的電子設(shè)計(jì)中,一般采用藍(lán)牙模塊與上位機(jī)(手機(jī))連接來與電子設(shè)備通信,實(shí)現(xiàn)對電子設(shè)備的控制。當(dāng)然也可以通過WiFi模塊等其他通信模塊進(jìn)行通信。這里就介紹一下藍(lán)牙模塊之間的連接,能夠擺脫上位機(jī),實(shí)現(xiàn)設(shè)備與設(shè)備之間的通信。
AT指令
藍(lán)牙模塊需要通過AT指令進(jìn)行模式與連接的設(shè)置,不同型號的藍(lán)牙模塊它的AT指令也可能會有差別,如果發(fā)現(xiàn)發(fā)送指令后模塊沒有回應(yīng),檢查一下AT指令是否發(fā)送正確,是否進(jìn)入命令模式,這里就要查看自己手中的兩個(gè)藍(lán)牙模塊的資料包了,若兩個(gè)藍(lán)牙模塊不同,則它們的配置指令也可能會不相同,就要用對應(yīng)的指令配置了。AT指令集這里就不列舉了,自行查看資料包。
模塊連接
要連接兩個(gè)藍(lán)牙模塊,就相當(dāng)于兩個(gè)藍(lán)牙模塊進(jìn)行配對,也就是兩個(gè)藍(lán)牙設(shè)備進(jìn)行配對,那么應(yīng)該用哪一個(gè)去尋找目標(biāo)對應(yīng)的藍(lán)牙設(shè)備呢?這里就需要一個(gè)設(shè)備為主機(jī),另一個(gè)設(shè)備則為從機(jī),只能通過主機(jī)來尋找從機(jī)進(jìn)行連接配對,從機(jī)只能等待連接,而不能主動地尋找設(shè)備進(jìn)行連接。
說到主機(jī)與從機(jī),就要看看自己手中的藍(lán)牙模塊是否支持主機(jī)模式了,至少要有一塊主從一體的藍(lán)牙模塊(當(dāng)然了,價(jià)格會比只支持從機(jī)模式的貴一些),由于經(jīng)費(fèi)不足(–_–),這里就采用一塊主從一體模塊,一個(gè)從機(jī)模塊JDY-31。
我們用的藍(lán)牙模塊???

各模塊的配置通過串口發(fā)送AT指令配置,藍(lán)牙模塊通過usb-ttl與電腦連接,連接時(shí)注意TX–RX,RX–TX。????

通過XCON串口助手發(fā)送/接受指令

從機(jī)配置(JDY-31)
模塊進(jìn)入命令模式需要將EN管腳拉高,用一個(gè)杜邦線將EN腳與USB-TTL上的VCC/3.3V/5V連接即進(jìn)入命令模式。初始波特率一般為9600,有一些是38400,可以都試一試。連接好后打開XCOM串口助手,發(fā)送指令必須勾選發(fā)送新行,否則將不能成功發(fā)送指令。????

如上圖設(shè)置好后,就可以進(jìn)行串口操作–>打開串口進(jìn)行發(fā)送指令,先發(fā)送個(gè)AT+VERSION查詢版本號測試一下??

接受到指令的返回信息就好辦了,若沒有接收到就檢查一下接線是否正確、EN是否拉高,端口是否正確、波特率是否正確…
接下來就是配置從機(jī)了:
① 首先發(fā)送AT+RESET對模塊進(jìn)行復(fù)位操作。
② 發(fā)送AT+NAME=“car” 設(shè)置模塊名稱為car。(也可以設(shè)置其他的)
③ 發(fā)送AT+PIN=“5555” 設(shè)置模塊密碼為5555。(也可以設(shè)置其他的)
④ 發(fā)送AT+BAUD=“ 4 ” 將波特率設(shè)置為9600,指令中的4就表示9600的波特率,這是根據(jù)IDY-31的模塊手冊得到的,就根據(jù)自己的手冊配置就行了,指令可能不一樣。
⑤ 發(fā)送AT+LADDR獲取藍(lán)牙MAC 地址,需要將獲取到的地址記錄下來,配置主機(jī)是需要!!

有兩個(gè)指令沒有回應(yīng),可以通過查詢指令查看是否配置成功????

返回的數(shù)據(jù)與配置時(shí)的數(shù)據(jù)相同,就說明配置成功了。若采用主從一體HC05,需要加一條指令將模塊設(shè)置為從機(jī)模式(具體指令查看指令集)。接下來配置主機(jī)。
主機(jī)配置(HC-05主從一體)
連接方式與從機(jī)模塊一樣。準(zhǔn)備好后進(jìn)行AT指令配置。
① 首先發(fā)送AT+RESET對模塊進(jìn)行復(fù)位操作。
② 發(fā)送AT+NAME=control 設(shè)置模塊名稱為control。(也可以設(shè)置其他的)
③ 發(fā)送AT+PSWD=“5555” 設(shè)置模塊密碼為5555。(需要與從機(jī)一致)
④ 發(fā)送AT+UART=9600 將波特率設(shè)置為9600。(波特率與從機(jī)一致,指令集不一樣)
⑤ 發(fā)送AT+ROLE=1 將藍(lán)牙配置為主機(jī)模式。
⑥ 發(fā)送AT+BIND=4FF0,27,231100 綁定從機(jī)藍(lán)牙地址,這里的4FF0,27,231100就是配置從機(jī)時(shí)獲取到的MAC地址。
⑦ 發(fā)送AT+CMODE=0 設(shè)置藍(lán)牙連接模式為指定藍(lán)牙地址連接模式
因?yàn)檫@個(gè)模塊有專門的藍(lán)牙測試軟件,配置比較方便,直接填好配置信息????

測試軟件右邊是需要進(jìn)行的配置,可以先獲取模塊信息后,在右邊進(jìn)行修改,再點(diǎn)擊更新模塊信息,左邊白框中就會顯示配置結(jié)果,如果手中的模塊沒有配套使用的藍(lán)牙測試軟件,就用XCOM按照AT指令一步一步配置。這樣主機(jī)就配置成功了。將模塊重新上電就可以進(jìn)行正常的連接通信了。
都配置好后,我們進(jìn)行通信測試。
將從機(jī)與電腦相連,主機(jī)與任意電子設(shè)備相連????

兩個(gè)藍(lán)牙模塊匹配好后,指示燈將會發(fā)生變化。接下來打開串口助手檢測接收信息。????

串口助手顯示從機(jī)模塊不斷接收溫度信息,表示兩個(gè)藍(lán)牙模塊就通信成功了!!兩個(gè)藍(lán)牙模塊就可以互發(fā)信息了。
————————————————
版權(quán)聲明:本文為CSDN博主「又菜又愛玩_」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/YUE__zy/article/details/122695172