mirror of
				https://github.com/0xFEEDC0DE64/arduino-esp32.git
				synced 2025-10-30 21:51:40 +01:00 
			
		
		
		
	
		
			
	
	
		
			57 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Arduino
		
	
	
	
	
	
		
		
			
		
	
	
			57 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Arduino
		
	
	
	
	
	
|   | //This example code is in the Public Domain (or CC0 licensed, at your option.)
 | ||
|  | //By Victor Tchistiak - 2019
 | ||
|  | //
 | ||
|  | //This example demostrates master mode bluetooth connection and pin 
 | ||
|  | //it creates a bridge between Serial and Classical Bluetooth (SPP)
 | ||
|  | //this is an extention of the SerialToSerialBT example by Evandro Copercini - 2018
 | ||
|  | //
 | ||
|  | 
 | ||
|  | #include "BluetoothSerial.h"
 | ||
|  | 
 | ||
|  | BluetoothSerial SerialBT; | ||
|  | 
 | ||
|  | String MACadd = "AA:BB:CC:11:22:33"; | ||
|  | uint8_t address[6]  = {0xAA, 0xBB, 0xCC, 0x11, 0x22, 0x33}; | ||
|  | //uint8_t address[6]  = {0x00, 0x1D, 0xA5, 0x02, 0xC3, 0x22};
 | ||
|  | String name = "OBDII"; | ||
|  | char *pin = "1234"; //<- standard pin would be provided by default
 | ||
|  | bool connected; | ||
|  | 
 | ||
|  | void setup() { | ||
|  |   Serial.begin(115200); | ||
|  |   //SerialBT.setPin(pin);
 | ||
|  |   SerialBT.begin("ESP32test", true);  | ||
|  |   //SerialBT.setPin(pin);
 | ||
|  |   Serial.println("The device started in master mode, make sure remote BT device is on!"); | ||
|  |    | ||
|  |   // connect(address) is fast (upto 10 secs max), connect(name) is slow (upto 30 secs max) as it needs
 | ||
|  |   // to resolve name to address first, but it allows to connect to different devices with the same name.
 | ||
|  |   // Set CoreDebugLevel to Info to view devices bluetooth address and device names
 | ||
|  |   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); | ||
|  | } |