Arduino藍牙模塊HC-05的AT配置

Arduino Uno并不自帶藍牙模塊,需要額外購買藍牙模塊。一種常見的藍牙模塊是HC-05,出場設置中默認名稱為HC-05,密碼1234。網上有很多介紹通過藍牙AT指令集更改藍牙屬性的資料,可是都提到了AT接口,然而我購買的HC-05并沒有AT接口(見下圖),只有STATE, RX, TX, GND, +5V, EN這幾個接口。下面介紹如何開啟AT狀態(tài)并且更改設置。

藍牙模塊

連接方法


Arduino與藍牙模塊的基本連接方法是:+5V --> 5V, GND --> GND, 藍牙RX --> Arduino的TX, 藍牙TX --> Arduino的RX。一個可以正常工作的藍牙模塊連接方式如下圖:

連接方法

更改屬性


AT指令集

向HC-05發(fā)送AT指令,只需要在HC-05在AT狀態(tài)下通過波特率38400發(fā)送即可。常用的AT指令有:

  • AT --> 返回OK,表明在AT狀態(tài)

  • AT+NAME=<名稱> --> 更改藍牙名稱

  • AT+ADDR? --> 打印藍牙地址

  • AT+PSWD=<密碼> --> 設置配對密碼

編寫程序

下面的Arduino程序首先發(fā)送指令,然后接收指令執(zhí)行狀態(tài):

void setup() {
  // put your setup code here, to run once:
  Serial.begin(38400);
 
}

void sendcmd()
{
    Serial.println("AT");
  while(Serial.available())
  {
    char ch;
    ch = Serial.read();
    Serial.print(ch);
  } // Get response: OK
  delay(1000); // wait for printing 

  
  Serial.println("AT+NAME=KailaideBluetooth");
  while(Serial.available())
  {
    char ch;
    ch = Serial.read();
    Serial.print(ch);
  }
  delay(1000);

  Serial.println("AT+ADDR?");
  while(Serial.available())
  {
    char ch;
    ch = Serial.read();
    Serial.print(ch);
  }
  delay(1000);

  Serial.println("AT+PSWD=0000");
  while(Serial.available())
  {
    char ch;
    ch = Serial.read();
    Serial.print(ch);
  }
  delay(1000);
  
}


void loop() {
    sendcmd();
}

燒錄程序

這里需要注意的是,在燒制程序的時候,需要斷開藍牙模塊與主板的連接。

開啟AT狀態(tài)

HC-05開啟AT狀態(tài)的方法是:按住HC-05的復位鍵的同時,為藍牙模塊上電。


復位鍵

這是,如果發(fā)現(xiàn)狀態(tài)燈在緩慢閃爍,就可以認定已經打開了AT狀態(tài)。

打開監(jiān)視器,并將波特率調為38400,我們就可以看到相應的命令與返回結果。

監(jiān)視器

這樣,我們就將地址為98d3:36:9cdf的藍牙密碼改為0000,名字改為KailaideBluetooth:

藍牙搜索結果
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容