For the complete documentation index, see llms.txt. This page is also available as Markdown.

10.Classic Bluetooth serial port SPP

āđ‚āļ„āđ‰āļ”āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļŠāđˆāļ§āļ™āđƒāļŦāļāđˆāđāļŠāļ”āļ‡āđƒāļŦāđ‰āđ€āļŦāđ‡āļ™āļ–āļķāļ‡āļāļēāļĢāļŠāđˆāļ‡āļ•āđˆāļ­āļ‚āđ‰āļ­āļĄāļđāļĨāļĢāđˆāļ§āļĄāļāļąāļ™āļĢāļ°āļŦāļ§āđˆāļēāļ‡āļžāļ­āļĢāđŒāļ•āļ­āļ™āļļāļāļĢāļĄ Bluetooth āđāļĨāļ°āļžāļ­āļĢāđŒāļ•āļ­āļ™āļļāļāļĢāļĄ āļ‹āļķāđˆāļ‡āđ„āļ”āđ‰āļĄāļēāļˆāļēāļāļāļēāļĢāļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ āļ­āļĒāđˆāļēāļ‡āđ€āļ›āđ‡āļ™āļ—āļēāļ‡āļāļēāļĢāļ‚āļ­āļ‡ ESP32 āļ‹āļķāđˆāļ‡āđ€āļĢāļĩāļĒāļšāļ‡āđˆāļēāļĒāđāļĨāļ°āđ€āļ‚āđ‰āļēāđƒāļˆāđ„āļ”āđ‰āļ‡āđˆāļēāļĒ āļ„āļģāļ­āļ˜āļīāļšāļēāļĒāļˆāļķāļ‡āļ­āļ˜āļīāļšāļēāļĒāđāļ™āļ§āļ„āļīāļ”āļ—āļĩāđˆāļ›āļĢāļēāļāļāđƒāļ™āđ‚āļ„āđ‰āļ”āđ€āļ›āđ‡āļ™āļŦāļĨāļąāļ

1. Bluetooth protocol

āđƒāļ™āļ›āļąāļˆāļˆāļļāļšāļąāļ™ āđ‚āļ›āļĢāđ‚āļ•āļ„āļ­āļĨ Bluetooth āļŦāļĨāļąāļāđāļšāđˆāļ‡āļ­āļ­āļāđ€āļ›āđ‡āļ™āļŠāļ­āļ‡āļ›āļĢāļ°āđ€āļ āļ— āđ„āļ”āđ‰āđāļāđˆ Bluetooth āđāļšāļšāļ”āļąāđ‰āļ‡āđ€āļ”āļīāļĄ (HS/BR/EDR) āļ•āļēāļĄ RFCOMM āđāļĨāļ° Bluetooth āļžāļĨāļąāļ‡āļ‡āļēāļ™āļ•āđˆāļģ (BLE) āļ•āļēāļĄ GATT

Bluetooth āđāļšāļšāļ”āļąāđ‰āļ‡āđ€āļ”āļīāļĄāļ™āļąāđ‰āļ™āđ€āļĢāđ‡āļ§āļāļ§āđˆāļēāđāļĨāļ°āļĄāļĩāđ‚āļ›āļĢāđ‚āļ•āļ„āļ­āļĨāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āđ€āļ‰āļžāļēāļ°āļĄāļēāļāļĄāļēāļĒ āđ€āļŠāđˆāļ™ A2DP āļ—āļĩāđˆāđ€āļ™āđ‰āļ™āđ€āļŠāļĩāļĒāļ‡, āļžāļ­āļĢāđŒāļ•āļ­āļ™āļļāļāļĢāļĄ Bluetooth SPP āđ€āļ›āđ‡āļ™āļ•āđ‰āļ™ āļ­āļĒāđˆāļēāļ‡āđ„āļĢāļāđ‡āļ•āļēāļĄ āļāļēāļĢāđƒāļŠāđ‰āļžāļĨāļąāļ‡āļ‡āļēāļ™āļŠāļđāļ‡ āđāļĨāļ°āļāļēāļĢāđ€āļ‚āđ‰āļēāļ–āļķāļ‡āļ­āļļāļ›āļāļĢāļ“āđŒ Apple āļ•āđ‰āļ­āļ‡āđƒāļŠāđ‰āļŠāļīāļ› MFi (Made For iOS) āđāļĨāļ°āļāļēāļĢāļĢāļąāļšāļĢāļ­āļ‡

Bluetooth Low Energy (BLE) āļŠāļēāļĄāļēāļĢāļ–āļāļģāļŦāļ™āļ”āđ‚āļ›āļĢāđ„āļŸāļĨāđŒ GATT āļ•āđˆāļēāļ‡āđ† āđ„āļ”āđ‰āļ”āđ‰āļ§āļĒāļ•āļąāļ§āđ€āļ­āļ‡ āđāļĨāļ°āļĒāļąāļ‡āļĄāļĩāđ‚āļ›āļĢāđ„āļŸāļĨāđŒāļ—āļĩāđˆāđƒāļŠāđ‰āļāļąāļ™āļ—āļąāđˆāļ§āđ„āļ› (āđ€āļŠāđˆāļ™ āļ‚āđ‰āļ­āļĄāļđāļĨāļ­āļļāļ›āļāļĢāļ“āđŒ āđāļšāļ•āđ€āļ•āļ­āļĢāļĩāđˆ āļŊāļĨāļŊ) āļĄāļĩāļāļēāļĢāđƒāļŠāđ‰āļžāļĨāļąāļ‡āļ‡āļēāļ™āļ•āđˆāļģāđāļĨāļ°āđƒāļŠāđ‰āļāļąāļ™āļ­āļĒāđˆāļēāļ‡āđāļžāļĢāđˆāļŦāļĨāļēāļĒ āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āļāļąāļšāļ­āļļāļ›āļāļĢāļ“āđŒ Apple āļ‚āđ‰āļ­āđ€āļŠāļĩāļĒāļ„āļ·āļ­āļŠāđ‰āļēāļāļ§āđˆāļēāļšāļĨāļđāļ—āļđāļ˜āđāļšāļšāđ€āļ”āļīāļĄ āļšāļĨāļđāļ—āļđāļ˜āļžāļĨāļąāļ‡āļ‡āļēāļ™āļ•āđˆāļģāļŠāđˆāļ§āļ™āđƒāļŦāļāđˆāļˆāļ°āđƒāļŠāđ‰āļāļąāļšāļ­āļļāļ›āļāļĢāļ“āđŒāļ—āļĩāđˆāļĄāļĩāļ›āļĢāļīāļĄāļēāļ“āļ‚āđ‰āļ­āļĄāļđāļĨāļ™āđ‰āļ­āļĒāđāļ•āđˆāđ„āļ§āļ•āđˆāļ­āļāļēāļĢāđƒāļŠāđ‰āļžāļĨāļąāļ‡āļ‡āļēāļ™ āđ€āļŠāđˆāļ™ āļŠāļĢāđ‰āļ­āļĒāļ‚āđ‰āļ­āļĄāļ·āļ­/āļ™āļēāļŽāļīāļāļēāļ­āļąāļˆāļ‰āļĢāļīāļĒāļ°/āļšāļĩāļ„āļ­āļ™

2. Classic Bluetooth serial port (SPP)

āļāļēāļĢāļŠāļēāļ˜āļīāļ•āļ™āļĩāđ‰āđƒāļŠāđ‰āđ‚āļ›āļĢāđ‚āļ•āļ„āļ­āļĨ SPP āļ•āļēāļĄāļšāļĨāļđāļ—āļđāļ˜āđāļšāļšāļ”āļąāđ‰āļ‡āđ€āļ”āļīāļĄ āļ‹āļķāđˆāļ‡āļĄāļēāļžāļĢāđ‰āļ­āļĄāļāļąāļšāđ‚āļ›āļĢāđ‚āļ•āļ„āļ­āļĨāļžāļ­āļĢāđŒāļ•āļ­āļ™āļļāļāļĢāļĄāļ—āļąāđ‰āļ‡āļŦāļĄāļ” āđ€āļĄāļ·āđˆāļ­āļ„āļ­āļĄāļžāļīāļ§āđ€āļ•āļ­āļĢāđŒāļŦāļĢāļ·āļ­āđ‚āļ—āļĢāļĻāļąāļžāļ—āđŒ Android āđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­āđāļĨāļ°āļˆāļąāļšāļ„āļđāđˆ āļŦāļĄāļēāļĒāđ€āļĨāļ‚āļžāļ­āļĢāđŒāļ•āļ­āļ™āļļāļāļĢāļĄāļˆāļ°āļ–āļđāļāļŠāļĢāđ‰āļēāļ‡āļ‚āļķāđ‰āļ™āđ‚āļ”āļĒāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļīāđƒāļ™āļĢāļ°āļšāļšāļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļŠāļ·āđˆāļ­āļŠāļēāļĢ āđāļĨāļ°āļ›āļĢāļ°āļŠāļšāļāļēāļĢāļ“āđŒāļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļˆāļ°āđ„āļĄāđˆāđāļ•āļāļ•āđˆāļēāļ‡āļˆāļēāļāļžāļ­āļĢāđŒāļ•āļ­āļ™āļļāļāļĢāļĄāđāļšāļšāļĄāļĩāļŠāļēāļĒāļ—āļąāđˆāļ§āđ„āļ›āļĄāļēāļāļ™āļąāļ

//This example code is in the Public Domain (or CC0 licensed, at your option.)
//By Evandro Copercini - 2018
//
//This example creates a bridge between Serial and Classical Bluetooth (SPP)
//and also demonstrate that SerialBT have the same functionalities of a normal Serial

#include "BluetoothSerial.h"

#if !defined(CONFIG_BT_ENABLED) || !defined(CONFIG_BLUEDROID_ENABLED)
#error Bluetooth is not enabled! Please run `make menuconfig` to and enable it
#endif

BluetoothSerial SerialBT;

void setup() {
  Serial.begin(115200);
  SerialBT.begin("BTSPP_Test");          //Bluetooth device name
  Serial.println("The device started,");
  Serial.println("Now you can pair it with bluetooth!");
}

void loop() {
  if (Serial.available()) {
    SerialBT.write(Serial.read());
  }
  if (SerialBT.available()) {
    Serial.write(SerialBT.read());
  }
  delay(20);
}

āļžāļ­āļĢāđŒāļ•āļ­āļ™āļļāļāļĢāļĄāļšāļĨāļđāļ—āļđāļ˜āļžāļĨāļąāļ‡āļ‡āļēāļ™āļ•āđˆāļģāļˆāļ°āđāļŠāļ”āļ‡āđƒāļŦāđ‰āđ€āļŦāđ‡āļ™āđƒāļ™āļšāļ—āļ–āļąāļ”āđ„āļ› āđ‚āļ”āļĒāļžāļ·āđ‰āļ™āļāļēāļ™āđāļĨāđ‰āļ§ āđ€āļ›āđ‡āļ™āđ‚āļ›āļĢāđ„āļŸāļĨāđŒāļ—āļĩāđˆāļāļģāļŦāļ™āļ”āļ„āđˆāļēāļ”āđ‰āļ§āļĒāļžāļ­āļĢāđŒāļ•āļ­āļ™āļļāļāļĢāļĄāđāļĨāļ°āļ•āđ‰āļ­āļ‡āļāļēāļĢ āļāļēāļĢāļŠāļ™āļąāļšāļŠāļ™āļļāļ™āļ‚āļ­āļ‡āđ‚āļŪāļŠāļ•āđŒāļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒ

Last updated

Was this helpful?