i am facing some trouble with the bluetooth classic "BluetoothSerial.h" library and arduino-esp32 Version 2.0.1 / 2.0.2
I try to connect the esp32 as BT-Master to a HC-05 slave module. I want to use arduino-esp 2.0.X because the BT discovery-function is not available in previous Version (1.0.6 and lower). The following Code (taken from the SerialToSerialBTM example) compiles, uploads and connects with 1.0.6., but with 2.0.1 and 2.0.2 I can compile and upload, but I do not get any connection.
By the way: the whole project is a wireless CNC-pendant where i want to be able to search for available bluetooth CNC-machine controllers and choose the right on (through a graphical interface). The "discoverAsync"-Part of my Code already works perfectly with V2.0.X.
Any Ideas?
Code: Select all
#include "BluetoothSerial.h"
BluetoothSerial SerialBT;
// String MACadd = "AA:BB:CC:11:22:33";
uint8_t address[6] = { 0x00,0x21,0x13,0x01,0x3C,0x6F };
// String name = "GRBLHAL";
const char *pin = "1234"; //<- standard pin would be provided by default
bool connected;
void setup() {
Serial.begin(115200);
SerialBT.setPin(pin);
SerialBT.begin("ESP32Master", true);
Serial.println("The device started in master mode, make sure remote BT device is on!");
// connected = SerialBT.connect(name);
connected = SerialBT.connect(address);
if(connected) {
Serial.println("Connected Succesfully!");
} else {
while(!SerialBT.connected(10000)) {
Serial.println("Failed to connect. Make sure remote device is available and in range, then restart app.");
}
}
// disconnect() may take upto 10 secs max
if (SerialBT.disconnect()) {
Serial.println("Disconnected Succesfully!");
}
// this would reconnect to the name(will use address, if resolved) or address used with connect(name/address).
SerialBT.connect();
}
void loop() {
if (Serial.available()) {
SerialBT.write(Serial.read());
}
if (SerialBT.available()) {
Serial.write(SerialBT.read());
}
delay(20);
}