ESP32 关闭WiFi与蓝牙模块

本文介绍在Arduino中彻底关闭蓝牙与WiFi模块。
要彻底关闭ESP32内部的WiFi和蓝牙功能,可以尝试以下方法:

1. 关闭WiFi和蓝牙硬件:

在Arduino代码中,您可以使用以下函数来关闭WiFi和蓝牙硬件:
WiFi.mode(WIFI_OFF);
esp_bt_controller_disable();
这将关闭WiFi和蓝牙功能,但不会完全禁用射频单元。

2. 禁用射频单元:

要完全禁用射频单元,您需要使用ESP-IDF的API。首先,确保您已经安装了ESP-IDF。然后,在Arduino代码中,添加以下代码:
#include "esp_wifi.h"
#include "esp_bt.h"

void setup() {
    // 关闭WiFi和蓝牙硬件
    WiFi.mode(WIFI_OFF);
    esp_bt_controller_disable();

    // 禁用射频单元
    esp_wifi_stop();
    esp_wifi_deinit();
    esp_bt_controller_disable();
    esp_bt_controller_deinit();
}
这将关闭WiFi和蓝牙硬件,并禁用射频单元。

3. 优化电源管理:

为了进一步降低功耗,您可以使用ESP32的低功耗模式。在Arduino代码中,添加以下代码:
#include "soc/soc.h"
#include "driver/rtc_cntl.h"

void setup() {
    // ...(之前的代码)

    // 优化电源管理
    esp_sleep_enable_ext0_wakeup((1ULL << 20), ESP_EXT0_WAKEUP_ANY_HIGH);
    rtc_CNTL_sleep_pd_config(RTC_CNTL_PD_ALL);
}

void loop() {
    // ...(之前的代码)
    esp_light_sleep_start();
}
这将使ESP32在空闲时进入低功耗模式。
请注意,这些方法可能不完全消除射频单元的周期性启动,但它们将显著降低功耗和对ADC稳定性的影响。
- 本文内容来自网络,如有侵权,请联系本站处理。

2024-07   阅读(319)   评论(0)
 标签: 创客 ESP32

涨知识
二进制

二进制(binary),发现者莱布尼茨,是在数学和数字电路中以2为基数的记数系统,是以2为基数代表系统的二进位制。这一系统中,通常用两个不同的符号0(代表零)和1(代表一)来表示 。

评论:
相关文章
【ESP32 C++教程】Unit5-2 执行器件之舵机

本节主要讲解舵机驱动类和用按键控制舵机。


【ESP32 C++教程】Unit5-1 执行器件之继电器

本节主要讲解执行器件类型和用按键控制继电器。


【ESP32 C++教程】Unit4-3 红外接收和遥控

本小节主要讲解红外接收和遥控器件,以及遥控操作LED。


【ESP32 C++教程】Unit4-2 模拟量传感器

本小节讲解模拟量传感器使用,旋转电位器,DHT11温湿度传感器和实现自定义传感器类。


【ESP32 C++教程】Unit4-1 数字量传感器

本小节讲解Sensor类及派生类、数字量传感器使用和传感器的推荐交互流程。


【ESP32 C++教程】Unit3-2 触摸输入

本小节讲解ESP32内置触摸引脚的用法,


【ESP32 C++教程】Unit3-1 按键输入

本小节主要介绍按键信号转换、Button类及派生类、和Button交互推荐流程。


【ESP32 C++教程】Unit2-2 Ws2812灯珠

本小节主要介绍Ws2812灯珠的使用、对父类进行扩展实现自定义功能,和指针向下强制转换的使用。


【ESP32 C++教程】Unit2-1 RGB三色LED

本小节主要介绍RGB三色LED的使用,以及多态的具体实现。


【ESP32 C++教程】Unit1-3 ESP32 Arduino 开发框架

ESP32 Arduino Framework是专门针对ESP32开发板的Arduino应用开发框架,为用户开发IOT应用、HMI应用提供一致的开发体验。