#include <M5StickCPlus.h>
#include "BluetoothSerial.h"
BluetoothSerial SerialBT;
const char* dname = "BT_Serial_00"; // Slave device name
void setup() {
M5.begin();
M5.Lcd.setRotation(3);
M5.Lcd.fillScreen(YELLOW);
M5.Lcd.setTextColor(BLACK, YELLOW);
M5.Lcd.setCursor(0, 0, 1);
M5.Lcd.setTextSize(2);
Serial.begin(115200);
SerialBT.begin(dname); //Bluetooth device name
Serial.println("The device started, now you can pair it with bluetooth!");
uint8_t macBT[6];
esp_read_mac(macBT, ESP_MAC_BT);
char mac[20];
sprintf(mac, "%02X:%02X:%02X:%02X:%02X:%02X", macBT[0], macBT[1], macBT[2], macBT[3], macBT[4], macBT[5]);
Serial.println(mac);
M5.Lcd.println(mac);
}
int line = 0;
void loop() {
char c;
if (Serial.available()) {
SerialBT.write(c = Serial.read());
Serial.printf("read:%c\n", c);
}
if (SerialBT.available()) {
Serial.write(c = SerialBT.read());
SerialBT.write(c + 0);
M5.Lcd.print(c);
if (c == 0xa) line++;
if (line > 7) {
M5.Lcd.fillScreen(YELLOW); M5.Lcd.setCursor(0, 0, 1);
line = 0;
}
}
M5.update();
if (M5.BtnA.wasReleasefor(1000) ) {
SerialBT.println("[A] was Pressed longer than 1s");
} else if (M5.BtnA.wasReleased()) {
SerialBT.println("[A] was Pressed");
} else if (M5.BtnB.wasReleasefor(1000) ) {
SerialBT.println("[B] was Pressed longer than 1s");
} else if (M5.BtnB.wasReleased()) {
SerialBT.println("[B] was Pressed");
} else if (M5.Axp.GetBtnPress() == 2) {
SerialBT.println("[Power] was Pressed");
}
delay(20);
}