ESP8266连接蓝牙模块实现LED控制

ESP8266连接蓝牙模块实现LED控制

    • 关于
    • 需要的组件
    • 组件图
    • 使用串行蓝牙终端
    • 编程NodeMCU ESP8266来连接蓝牙模块
    • 代码

关于

现在蓝牙设备是不可或缺的一部分,在这里我们将HC-05蓝牙模块与WiFi模块ESP8266连接,并通过蓝牙发送命令无线控制LED

需要的组件

ESP8266
HC-05蓝牙模块
Arduino
监控的程序

组件图

ESP8266连接蓝牙模块实现LED控制_第1张图片

使用串行蓝牙终端

ESP8266连接蓝牙模块实现LED控制_第2张图片 点击连接后就可以发送消息了
ESP8266连接蓝牙模块实现LED控制_第3张图片

编程NodeMCU ESP8266来连接蓝牙模块

要使用ArduinoIDE对NodeMCU ESP8266进行编程,只需使用Micro USB线从笔记本电脑插入,然后打开Arduino IDE。在本文中,将使用硬件串口和软件串口。硬件串口将用于向Arduino 串口监视器读取和写入数据,而软件串口将用于与HC-05通信。
ESP8266连接蓝牙模块实现LED控制_第4张图片

代码

/* HC-05 interfacing with NodeMCU ESP8266
*/
#include
int D2,D3,D4;
SoftwareSerial btSerial(D2, D3); // Rx,Tx
int led = D4; // led also the internal led of NodemCU
int ledState = LOW; // led state to toggle
String ledB = “”;

unsigned long previousMillis = 0; // millis instaed of delay
const long interval = 500; // blink after ecery 500ms

void setup() {
delay(1000);
Serial.begin(9600);
btSerial.begin(9600); // bluetooth module baudrate
pinMode(D4, OUTPUT);
Serial.println(“Started…”);
}

void loop() {

if (btSerial.available() > 0) { // check if bluetooth module sends some data to esp8266
char data = btSerial.read(); // read the data from HC-05
switch (data)
{
case ‘B’: // if receive data is ‘B’
ledB = “blink”; // write the string
break;
case ‘S’: // if receive data is ‘S’
ledB = “stop”;
break;
default:
break;
}
}
unsigned long currentMillis = millis();
if (ledB == “blink”) { // if received data is ‘B’ the start blinking
Serial.println(“blinking started”);
if (currentMillis - previousMillis >= interval) {
previousMillis = currentMillis;
if (ledState == LOW) {
ledState = HIGH;
} else {
ledState = LOW;
}
digitalWrite(led, ledState);
}
}
}




你可能感兴趣的:(物联网)