微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 WiFi 时停止 BLE

如何解决使用 WiFi 时停止 BLE

我正在尝试在 ESP32 上使用 BLE 和 WiFi。正如我所见,它们不能同时使用,所以我试图找出一种方法来停止从 BLE 服务器接收数据。这是我迄今为止尝试过的停止 BLE 的方法

btStop();
esp_bt_controller_disable();
esp_bluedroid_disable();

然而,似乎没有任何工作。 ESP32 应该连接到 WiFi(使用 WiFiManager),但是当我尝试连接到 Firebase 或 Twilio 时,连接被拒绝。在尝试连接到 Firebase 之前,我有 35000 个空闲堆和 80000 个 twilio。那么,有没有办法检查 BLE 扫描/连接是否已停止?有没有其他命令可以关闭它? 可能是因为我的堆用完了,所以我无法连接到 Firebase?

解决方法

您目前缺少几个 deinit 调用

esp_bluedroid_disable();
esp_bluedroid_deinit();  //**
esp_bt_controller_disable();
esp_bt_controller_deinit(); //**

您可能还必须确保在启用 BLE 时没有启动 Wi-Fi,您可以init,但是启动可能会导致它开始尝试的问题立即使用收音机

,

如果您使用的是 BLEDevice 库,请尝试以下操作:

 BLEDevice::deinit(true);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。