Изучение Bluetooth с помощью ESP32 и Arduino: руководство для начинающих по беспроводному подключению

В этой статье блога мы окунемся в захватывающий мир Bluetooth-соединения с ESP32 и Arduino. Bluetooth — это технология беспроводной связи, которая позволяет устройствам обмениваться данными на небольших расстояниях. Мы рассмотрим различные методы установления соединений Bluetooth и попутно предоставим примеры кода. Итак, возьмите плату ESP32, запустите Arduino IDE и приступим!

  1. Использование библиотеки BluetoothSerial:
    Самый простой способ реализовать связь Bluetooth — использовать библиотеку BluetoothSerial. Он предоставляет простой и понятный API для отправки и получения данных через Bluetooth. Вот пример фрагмента кода, который поможет вам начать:

    #include <BluetoothSerial.h>
    BluetoothSerial SerialBT;
    void setup() {
    Serial.begin(115200);
    SerialBT.begin("ESP32Bluetooth"); // Set the device name
    Serial.println("Bluetooth device is ready to pair!");
    }
    void loop() {
    if (SerialBT.available()) {
    Serial.write(SerialBT.read());
    }
    if (Serial.available()) {
    SerialBT.write(Serial.read());
    }
    }
  2. Использование библиотеки «BLE» для Bluetooth с низким энергопотреблением (BLE):
    Если вы хотите работать с устройствами Bluetooth с низким энергопотреблением, вы можете использовать библиотеку «BLE». BLE — это энергоэффективная версия Bluetooth, которая обычно используется в приложениях Интернета вещей. Вот пример поиска ближайших устройств BLE:

    #include <BLEDevice.h>
    #include <BLEScan.h>
    BLEScan* pBLEScan;
    void setup() {
    Serial.begin(115200);
    BLEDevice::init("ESP32");
    pBLEScan = BLEDevice::getScan();
    pBLEScan->setAdvertisedDeviceCallbacks(new MyAdvertisedDeviceCallbacks());
    pBLEScan->setActiveScan(true);
    pBLEScan->start(5);
    }
    void loop() {
    // Do other tasks while scanning for BLE devices
    }
    class MyAdvertisedDeviceCallbacks: public BLEAdvertisedDeviceCallbacks {
    void onResult(BLEAdvertisedDevice advertisedDevice) {
    Serial.print("BLE Device found: ");
    Serial.println(advertisedDevice.toString().c_str());
    }
    };
  3. Использование ESP32 в качестве периферийного устройства Bluetooth:
    ESP32 также может действовать как периферийное устройство Bluetooth, позволяя другим устройствам подключаться к нему. Это полезно, если вы хотите создать собственные службы Bluetooth. Вот пример того, как создать простой сервис Bluetooth с помощью ESP32:

    #include <BLEDevice.h>
    #include <BLEServer.h>
    BLEServer* pServer;
    void setup() {
    Serial.begin(115200);
    BLEDevice::init("ESP32");
    pServer = BLEDevice::createServer();
    BLEService* pService = pServer->createService("19B10000-E8F2-537E-4F6C-D104768A1214");
    pService->start();
    pServer->getAdvertising()->start();
    Serial.println("Bluetooth peripheral device is advertising!");
    }
    void loop() {
    // Do other tasks while advertising as a Bluetooth peripheral
    }

В этой статье мы рассмотрели различные методы реализации Bluetooth-соединения с ESP32 и Arduino. Мы рассмотрели использование библиотеки «BluetoothSerial» для простой связи Bluetooth, библиотеки «BLE» для устройств Bluetooth с низким энергопотреблением и создания периферийного устройства Bluetooth с помощью ESP32. Используя эти методы и примеры кода, вы можете начать создавать интересные проекты, использующие беспроводную связь. Так что вперед, раскрывайте свой творческий потенциал и наслаждайтесь безграничными возможностями Bluetooth с ESP32 и Arduino!