介紹
HC-05 藍牙模塊
HC-05 是一種藍牙設備,用於與支持藍牙的設備(如智能手機)進行無線通信。它使用串行通信 (USART) 與微控制器通信。
該設備將無線通信協議添加到嵌入式應用程序中,通過它可以與任何其他支持藍牙的設備進行通信。
AT 命令用於命令藍牙模塊。我們可以更改其有關密碼、名稱、USART 通信設置(如波特率、否)的設置。停止位或奇偶校驗等
有關 HC-05 藍牙模塊、其引腳以及如何使用它的更多信息,請參閱 傳感器和模塊部分中的主題HC-05 藍牙模塊。
基於 NodeMCU 的 ESP8266 具有 UART 串行通信模塊,通過它可以與藍牙模塊進行通信。要了解基於 Lua 的 NodeMCU UART 功能,請參閱 NodeMCU UART with ESPlorer IDE。
接口圖
HC-05 藍牙模塊接口與NodeMCU
注意: 設備的默認藍牙名稱為“HC-05”,連接的默認 PIN(密碼)為“0000”或“1234”。
例子
讓我們開發一個小應用程序,我們可以在其中通過智能手機控制 LED 開關。
這是通過將 HC-05 藍牙模塊與 NodeMCU 連接來完成的。來自 HC-05 的數據由 NodeMCU 串行接收/發送。
在此應用程序中,當從智能手機發送 1 時,LED 將打開,如果發送 2,則 LED 將關閉。如果接收到的數據不是 1 或 2,它將向選擇正確選項的移動設備返回一條消息。
我們可以用 Lua 腳本或 C/C++ 語言為 NodeMCU DevKit 編寫代碼。我們使用 ESPlorer IDE 用 Lua 腳本編寫代碼,使用 Arduino IDE 用 C/C++ 編寫代碼。要了解更多信息,請參閱 使用 ESPlorer IDE 開始使用 NodeMCU(對 NodeMCU 使用 Lua 腳本)和使用 Arduino IDE 開始使用 NodeMCU(對 NodeMCU 使用基於 C 語言的 Arduino 草圖)。
用於藍牙的 Lua 腳本
LEDpin = 4
gpio.mode(LEDpin, gpio.OUTPUT)--set LED pin as output pin
gpio.write(LEDpin, gpio.LOW)-- set LED state initially low
--begin uart with specs
uart.setup(0, 9600, 8, uart.PARITY_NONE, uart.STOPBITS_1, 1)
--set callback function on receive to make decision about LED on/off
uart.on("data",1,
function(data)
if(data == "1") then
gpio.write(LEDpin, gpio.HIGH)
print("LED ON")
elseif(data == "2") then
gpio.write(LEDpin, gpio.LOW)
print("LED OFF")
else
print("select proper option")
end
end, 0)
以下是在智能手機的藍牙終端上發送上述示例的命令時從 NodeMCU 藍牙收到的響應。
此外,我們可以從 Arduino IDE 為上述示例編寫代碼。要了解如何開始使用帶有 Arduino IDE 的 NodeMCU,請參閱 使用 Arduino IDE 開始使用 NodeMCU。
用於藍牙的 Arduino 草圖
int LED = D4;
void setup() {
pinMode(LED, OUTPUT);
Serial.begin(9600); /* Define baud rate for serial communication */
}
void loop() {
if (Serial.available()) /* If data is available on serial port */
{
char data_received;
data_received = Serial.read(); /* Data received from bluetooth */
if (data_received == '1')
{
digitalWrite(LED, HIGH);
Serial.write("LED turned ON\n");
}
else if (data_received == '2')
{
digitalWrite(LED, LOW);
Serial.write("LED turned OFF\n");
}
else
{
Serial.write("Select either 1 or 2");
}
}
}
資料來源:https://www.electronicwings.com/nodemcu/hc-05-bluetooth-module-interfacing-with-nodemcu
沒有留言:
張貼留言