esp32 蓝牙能设置联接密码嘛?-Arduino中文社区 - Powered by Discuz! Archiver

snyjw 发表于 2020-5-21 10:24

esp32 蓝牙能设置联接密码嘛?

就象hc-05 06那样

自带的示例里只有名称一联就联上了也没有密码


anshilike 发表于 2021-5-12 00:14

这个问题我也想知道

Ustinian_ 发表于 2021-7-27 16:00

请问楼主解决了吗?

13365336679 发表于 2022-5-4 23:32

#include <Arduino.h>
#include <BluetoothSerial.h>

BluetoothSerial SerialBT;

char *pin = "1124"; //与 hC02 的配对密码
void setup()
{
    Serial.begin(115200);
    SerialBT.setPin(pin);   // 蓝牙连接的配对码
    SerialBT.begin("BAKUMA",true); // 如果没有参数传入则默认是蓝牙名称是: "ESP32"
    Serial.printf("BT initial ok and ready to pair. \r\n");
}

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

13365336679 发表于 2022-5-4 23:33

13365336679 发表于 2022-5-4 23:32
#include
#include



我用这给测试代码测试,一直不成功,添加不上连接密码。请教一下哪的问题啊?

snyjw 发表于 2022-5-6 22:14

13365336679 发表于 2022-5-4 23:33
我用这给测试代码测试,一直不成功,添加不上连接密码。请教一下哪的问题啊? ...

他这个应该是两个蓝牙配对时用的 就是esp32主动去配对别的蓝牙

相默术璟 发表于 2022-5-8 15:00

Arduino\packages\esp32\hardware\esp32\1.0.6\libraries
不可以设置,看看源码里面也没有相关的配置。
PIN码配对是蓝牙2.0及以前版本使用的流程,esp32可以使用SSP安全配对,蓝牙2.1及之后版本新增的流程

13365336679 发表于 2022-5-8 21:52

相默术璟 发表于 2022-5-8 15:00
Arduino\packages\esp32\hardware\esp32\1.0.6\libraries
不可以设置,看看源码里面也没有相关的配置。
PIN ...

谢谢明白了。

13365336679 发表于 2022-5-8 21:52

snyjw 发表于 2022-5-6 22:14
他这个应该是两个蓝牙配对时用的 就是esp32主动去配对别的蓝牙

谢谢。明白。

跑龙套的保 发表于 2022-6-9 10:54

才看到如果是
spp模式,有个setpin的函数
bool BluetoothSerial::setPin(const char *pin)
如果是ble模式,设置稍微复杂些
首先特征里打开安全性
BLE2902* p2902Descriptor = new BLE2902();
//p2902Descriptor->setNotifications(true);
p2902Descriptor->setAccessPermissions(ESP_GATT_PERM_READ_ENCRYPTED | ESP_GATT_PERM_WRITE_ENCRYPTED);
pTxCharacteristic->addDescriptor(p2902Descriptor);
然后设置秘钥
BLESecurity *pSecurity = new BLESecurity();
pSecurity->setStaticPIN(123456);
pSecurity->setAuthenticationMode(ESP_LE_AUTH_REQ_SC_BOND);
附一个完整测试代码
页: [1]
查看完整版本: esp32 蓝牙能设置联接密码嘛?