ESP32 无法连接蓝牙手持式条码扫描器

问题描述 投票:0回答:1

我想将 esp32 连接到蓝牙手持式条码扫描仪(我们在杂货店看到的那种)。扫描仪可以轻松连接到我的智能手机,但无法与 esp32 建立连接。我每次都可以看到可用连接列表中列出的条形码扫描仪。但配对时输出始终是“无法连接到条形码扫描仪”。

我可以对扫描仪地址进行硬编码,并尝试这样做,但每次连接都会失败。我认为我不需要为 BLE 编码,因为扫描仪可以轻松连接到我的智能手机。

#include <BluetoothSerial.h>

BluetoothSerial SerialBT;

#define BT_DISCOVER_TIME 5000

static bool btScanSync = true;

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

  if (btScanSync) {
    Serial.println("Starting discover...");
    BTScanResults *pResults = SerialBT.discover(BT_DISCOVER_TIME);
    if (pResults) {
      pResults->dump(&Serial);
      delay(1000); // Introduce a delay after discovery (adjust as needed)
    } else {
      Serial.println("Error on BT Scan, no result!");
    }
  }

  String barcodeScannerAddress = "aa:fe:45:2e:0e:39";
  if (SerialBT.connect(barcodeScannerAddress)) {
    Serial.println("Connected to the barcode scanner!");
  } else {
    Serial.println("Failed to connect to the barcode scanner.");
  }
}

void loop() {
  delay(100);
}```
bluetooth esp32 barcode-scanner arduino-esp32
1个回答
0
投票

首先,aa:fe:45:2e:0e:39 有点令人惊讶,因为 OUI 尚未分配,但我假设您对此很确定。

您拨打的

connect()
版本采用的是姓名,而不是地址。地址形式连接如下:

uint8_t address[6]  = {0xAA, 0xFE, 0x45, 0x2E, 0x0E, 0x39}
bool connected = SerialBT.connect(address);
© www.soinside.com 2019 - 2024. All rights reserved.