mirror of
				https://github.com/0xFEEDC0DE64/arduino-esp32.git
				synced 2025-11-04 08:01:38 +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);
							 | 
						||
| 
								 | 
							
								}
							 |