ESP32, IOT物聯網

【IOT物聯網應用-ESP32】第二十一篇:智慧藍牙遠端控制應用

實驗說明:

前面的章節我們已經學會如何通過ESP32Android手機的藍牙進行數據通訊。接下來我們更進一步來使用藍牙指令遠端控制一些裝置,本篇會使用藍牙來遠端控制LED燈,硬體電路很間單,目的是為了確保能讓您快速上手後,之後您就可以自行開發一些新的功能了。

 

材料:

  • ESP32-E DevKit
  • USB 傳輸線
  • 直插LED
  • 220Ω直插電阻
  • 麵包板
  • 麵包板跳線
  • Android手機或平板

▼ 購買IoT物聯網學習教材:

ESP32 物聯網應用學習套件 ESP32CAM IoT物聯網學習教材 適用Arduino

 

程式:

#include <BluetoothSerial.h> 
BluetoothSerial SerialBT; 

int led_1 =16; //紅色LED 
int led_2 =17; //黃色LED
int led_3 =5;  //綠色LED

void setup() {
  Serial.begin(115200);
  pinMode(led_1, OUTPUT);
  pinMode(led_2, OUTPUT);
  pinMode(led_3, OUTPUT);
  SerialBT.begin("ESP32_BT");
}

void loop() {
  String value;
  if (SerialBT.available()) {
    value = SerialBT.readString();
    if(value == "1"){
      //收到1,開啟紅色LED
      digitalWrite(led_1,HIGH);
      Serial.println("收到1,開啟紅色LED");
    }
    if(value == "2"){
      //收到2,關閉紅色LED
      digitalWrite(led_1,LOW);
      Serial.println("收到2,關閉紅色LED");
    }
    if(value == "3"){
      //收到3,開啟黃色LED
      digitalWrite(led_2,HIGH);
      Serial.println("收到3,開啟黃色LED");
    }
    if(value == "4"){
      //收到4,關閉黃色LED
      digitalWrite(led_2,LOW);
      Serial.println("收到4,關閉黃色LED");
    }
    if(value == "5"){
      //收到5,開啟綠色LED
      digitalWrite(led_3,HIGH);
      Serial.println("收到5,開啟綠色LED");
    }
    if(value == "6"){
      //收到6,關閉綠色LED
      digitalWrite(led_3,LOW);
      Serial.println("收到6,關閉綠色LED");
    }
  }
  delay(50);
}

 

說明:

將範例程式編譯並上傳程式碼到ESP32開發板後,接著我們開始設定手機端的部分。

▼首先,請先確保ESP32_BT已被連線,然後點選「Buttons&Slider」進入Buttons頁面。

 

▼接著要先修改 Button E 與 Buttons F 。請點選右上功能設定按鈕,進入功能設定頁面後,再點選「Command buttons configuration」進入修改Button對應的值。

 

請分別將Button E對應的值設定為5Button F對應的值設定為6

 

▼在手機端APP完成上述設定後,接著您可以試著依序點擊Button,我們即可在ESP32的序列視窗內接收到手機傳來的指令,並觀察ESP32上的LED燈光變化。是不是很好玩啊,再下一篇米羅會介紹如何利用藍牙來做語音辨識遠端控制。

 

 

 

 

 

 

相關文章