esp32专题

探索蓝牙协议的奥秘:用ESP32实现高质量蓝牙音频传输

蓝牙(Bluetooth)是一种短距离无线通信技术,广泛应用于各种电子设备之间的数据传输。自1994年由爱立信公司首次提出以来,蓝牙技术已经经历了多个版本的更新和改进。本文将详细介绍蓝牙协议,并通过一个具体的项目——使用ESP32实现蓝牙音频传输,来展示蓝牙协议的实际应用及其优点。 蓝牙协议概述 蓝牙协议栈 蓝牙协议栈是蓝牙技术的核心,定义了蓝牙设备之间如何进行通信。蓝牙协议

lvgl_micropython development for esp32

​​​​​​上一篇博客已经编译源码生成了ESP32C3的固件lvgl_micropy_ESP32_GENERIC_C3-4.bin,这篇博客开发一个界面。 一、开发环境 1、安装开发工具 Windows安装Thonny工具,官网链接:Thonny, Python IDE for beginners。 参考博客:用MicroPython开发ESP32- 用Thonny写程序_esp32用什么

ESP32通过I2C驱动PCA9557IO扩展芯片

前言 ESP32自带的IO管脚比较有限,这个时候我们就需要使用一些IO扩展芯片扩展我们的IO,今天就介绍一款使用I2C接口扩展8个IO的芯片 PCA9557 PCA 9557芯片介绍 PCA9557是一款硅CMOS电路,为SMBus和I²C总线应用提供并行输入/输出扩展。PCA9557由8位输入端口寄存器、8位输出端口寄存器和I²C总线/SMBus接口组成。具有低电流消耗和高阻抗开漏输出引脚

ESP32使用MQTT_TCP连接阿里云

ESP32-IDF中MQTT函数的介绍 esp_mqtt_client_handle_t esp_mqtt_client_init(const esp_mqtt_client_config_t *config) 函数功能:mqtt 客户端初始化 函数形参: mqtt 客户端的配置 函数返回值:正确则返回根据配置创建的 mqtt 客户端句柄;异常则返回 NULL。 其中函数形参 esp_mqtt

ESP32作为ModbusRTU主机读取从机数据

简介 ESP32 作为 ModbusRTU主机读取从机的数据,使用ESP32的串口2实现 代码改造 在 mb_master 的例程上修改 修改工程配置,将modbus模式修改成 RTU 模式,其他设置保持默认. demo工程解析 程序运行时读取以下寄存器: 保持寄存器 从寄存器0开始 读取6个寄存器保持寄存器 从寄存器10开始 读取58个寄存器,如果寄存器的内容不是0xAAAA,则将0x

ESP32使用按键配网并通过LED指示网络状态

前言 上面我们已经可以通过 ESPTOUCH 和 Airkiss 给模块配网,并且存储在 nvs 中,重启后仍然可以联网,只是这样仍然不能满足我们实际的应用,这次我们增加按键作为输入,LED作为输出,实现长按按键配网,并可以通过LED指示网络状态。 添加自己的组件 为了让程序结构更加清晰,所以我们在smart_config例程的基础上做了修改,在main文件夹里新建了main.c 、smar

ESP32使用Smartconfig和Airkiss配网方式连接无线路由器

1. ESP32的配网方式 1.1 前言 ESP32模块在实际使用时,可能需要连接不同的网络,如果将无线的 ssid 和 key 预先固定好,就回存在很大的局限性;所以我们引入了“空中配网技术”,比如smartconfig,airkiss,蓝牙辅助配网等等。 Smartconfig与Airkiss 是目前使用比较广泛的空中配网技术,smartconfig 需要专用的 app 才能实现,air

通过ESP32读取I2C温湿度传感器项目:协议与代码实例

简介 在本项目中,我们将使用ESP32开发板读取I2C温湿度传感器的数据。我们将详细介绍I2C协议,并提供图文并茂的代码实例,帮助你快速上手。 项目流程 选择硬件:ESP32开发板、I2C温湿度传感器(如DHT12、HTU21D、SHT30等)、连接线和面包板。了解I2C协议:I2C(Inter-Integrated Circuit)是一种常用的串行通信协议,适用于短距离通信。硬

03_ESP32+MicroPython 连接WIFI

注意事项: 1.WIFI 名字写错会报错“OSError: Wifi Internal Error” 2.WIFI不要使用5G频率,否则运行报错,要使用2.4G频率。 3.运行代码前,请将WiFi连接信息替换为你自己的WiFi配置。 from machine import Pin, SPIimport timeimport networkimport machinedef do_co

02_ESP32+MicroPython 点亮LED灯

书接第1篇《01_ESP32 MicroPython开发环境搭建_eps32开发板-CSDN博客》 想要让一个引脚输出高电平,只需要找到对应的GPIO然后通过on()或者value(1)操作就可以,同理如果想要输出低电平让LED灯灭,只需要调用off()或者value(0)就行。 一、点亮LED灯 ESP32上有1颗蓝色的LED灯,对应GPIO灯脚为2,编写测试代码: from machi

ESP32 WS2812B灯带 代码

#include "Adafruit_NeoPixel.h" //直接在库中搜索 大约第四个就是Adafruit_NeoPixel WS2812B(17, 22, NEO_GRB + NEO_KHZ800); //(灯总数,使用引脚,WS2812B一般都是800这个参数不用动)void setup() {WS2812B.begin(); // 初始化WS2812B.cle

ESP32-C3模组上跑通NVS(8)

接前一篇文章:ESP32-C3模组上跑通NVS(7) 上一回讲解了乐鑫技术支持提供的例程代码中的主函数app_main()。主函数在调用nvs_flash_init_partition函数,进行了test分区的初始化之后,接下来调用了save_blob_test函数。save_blob_test函数在同文件中,代码如下: esp_err_t save_blob_test(uint32_t

【源码+硬件说明+接线】Arduino-ESP32 http访问播放网络mp3音乐并获取获取远程服务器文件并存SD卡

前言 最近跟浩楠哥接了一个外包,不得不说人总得逼自己一把就可以学到很多东西,这次收获不小,就把一部分困扰我一段时间的部分放出来给大家看看,避免大家踩我相同的坑 1. 硬件准备 1.1 Esp32Wroom 主控使用esp32Wroom,我具备蓝牙,wifi,低功耗蓝牙功能,配合Arduino库作为开发上手非常简单,只需了解部分知识即可上手。 1.2 MAX98357音频放大器模

ESP32-C3开发之旅 软件篇 1 Arduino加载第三方库

Arduino集成开发环境或Arduino软件(IDE)连接到Arduino板以上传程序并与之通信。使用Arduino软件编写的程序称为草图。 一、离线库使用 1.项目 加载库 添加.ZIP库 2.选择Zip库文件 3.查看加载库结果 文件 -示例 -ArduinoJson

ESP32-C3开发之旅 基础篇⑤ ESP32-C3 I2C通信

一、I2C简介 I2C协议涉及使用两条线路来发送和接收数据:Arduino控制器板定期脉冲的串行时钟引脚(SCL)和串行数据引脚(SDA),用于在两个器件之间发送数据。当时钟线从低电平变为高电平(称为时钟脉冲的上升沿)时,一个信息位(将按顺序形成特定器件的地址和命令或数据)通过SDA线从电路板传输到I2C器件。当这些信息被逐位发送时,被调用的设备执行请求,并在需要时使用控制器在SCL上仍然生成的

ESP32-C3开发之旅 基础篇④ ESP32-C3与EEPROM

一、简介 EEPROM(Electrically Erasable Programmable Read-Only Memory),电可擦可编程只读存储器——一种掉电后数据不丢失的存储芯片。 二、原理 EEPROM库在Arduino中经常用于存储设定数据。当然基于Arduino的ESP32-C3也不例外。     写入操作是通过commit将flash eeprom地址的4K 存储内容删除后才

ESP32-C3开发之旅 基础篇② 如何安装ESP32-C3的Arduino VSCODE开发环境

一、前期准备 1.硬件 淘宝链接 2.软件 1.Arduino:https://www.arduino.cc/en/software 下载后一路下一步安装即可。 2.VSCode下载 官网下载链接:https://code.visualstudio.com/Download 官网下载速度非常慢,如下图所示 解决方法: 右击上图链接,复制下载链接后,将链接中前面的 https://

ESP32-C3开发之旅 基础篇① 走进ESP32-C3的世界

一、简介(直接在官网抄的) 1.ESP32-C3 搭载 RISC-V 32 位单核处理器,时钟频率高达 160 MHz,内置 400 KB SRAM,集成了 2.4 GHz Wi-Fi 和支持长距离的 Bluetooth 5 (LE),具有行业领先的射频性能和低功耗。它具有 22 个可编程 GPIO 管脚,支持 ADC、SPI、UART、I2C、I2S、RMT、TWAI 和 PWM。点此查看 E

Arduino-ESP32的CAN波特率设置为1M代码,不用改底层。

前面调CAN的时候,发现CAN的实际的波特率是设置的波特率的一半。然后还去看手册,推公式,改底层库的代码。后面发现不用这么麻烦,换一下使用的库和配置函数就行。使用CAN.h头文件的配置函数就会出现CAN的实际的波特率是设置的波特率的一半这个问题。 使用CAN.h头文件包含的库的函数配置,CAN实际波特率是配置波特率的一半 #include <CAN.h>#define CAN_TX

打造智能家居:用ESP32轻松实现无线控制与环境监测

ESP32是一款集成了Wi-Fi和蓝牙功能的微控制器,广泛应用于物联网项目。它由Espressif Systems公司开发,具有强大的处理能力和丰富的外设接口。下面我们将详细介绍ESP32的基础功能和引脚功能,并通过具体的实例项目展示其应用。 主要功能 双核处理器:两个Xtensa LX6处理器,主频高达240MHz。无线通信:集成2.4GHz Wi-Fi和蓝牙,支持802.11

ESP-Mesh-Lite自组网方案,乐鑫ESP32无线联网应用,启明云端乐鑫代理商

随着物联网技术的飞速发展,智能交互生活逐渐成为现代生活的一部分。乐鑫以其ESP-Mesh-Lite网络技术,为智能设备领域带来了革命性的变革。 ESP-Mesh是基于Wi-Fi协议自主研发的无线Mesh组网方案,通过ESP32系列SoC的高性能处理能力和丰富的通信接口,实现了设备间的自组织、自愈合网络连接。 ESP32性能稳定,工作温度范围达到–40°C到+125°C。集成的自校准电路实现了动

ESP32 BLE学习(1) — GAP和GATT回调函数作用

前言 (1)学习本文之前,需要先了解的基础知识:ESP32 BLE学习(0) — 基础架构 (2)该部分只是对GAP和GATT回调函数进行简单的介绍,因为这两个回调函数中参数太多,个人认为没必要全部进行讲解。因此只有当我认为需要使用的时候,才会讲解对应的内容。 回调函数作用介绍 (1)在学习蓝牙基础架构的时候,我们知道GAP主要用来进行广播,扫描和发起连接等。而GATT用来规范属性(

MicroPython+ESP32 C3开发上云

传感器PinI/O状态D412输出1开0关D513输出1开0关 概述 MicroPython是python3编程语言的精简实现,能够在资源非常有限的硬件上运行,如MCU微控制器Micropython的网络功能和计算功能很强大,有非常多的库可以使用,它为嵌入式开发带来了一种新的编程方式和思维模式。嵌入式工程师不需要每次从最底层开始构建系统,可以直接从经过验证的硬件系统和软件架构开始设计,把重

LVGL刷屏优化(基于ESP32)

主要参考资料: 乐鑫ESP-IDF官方手册SPI Flash and External SPI RAM Configuration: https://docs.espressif.com/projects/esp-idf/zh_CN/release-v5.0/esp32s3/api-guides/flash_psram_config.html 目录 驱动和端口优化RAM与PSRAMF

ESP32 BLE学习(0) — 基础架构

前言 (1)学习本文之前,需要先了解一下蓝牙的基本概念:BLE学习笔记(0.0) —— 基础概念(0) (2) 学习一款芯片的蓝牙肯定需要先简单了解一下该芯片的体系结构,因此本文将会简单的介绍ESP32的蓝牙结构。 (3)因为乐鑫目前主推的是BLE低功耗蓝牙技术,因此我本人也主要侧重讲解BLE部分。 ESP32蓝牙系统介绍 蓝牙堆栈 (1)ESP-IDF 目前支持两个主机堆栈,Bl

ESP32-NOW-类 -发送端和接收端的程序

ESP32-NOW-类 -发送端-持续发送-不考虑接收端是否收到-避免程序因接收端没有返回信息而意外停止发送。 import networkimport espnowimport timeclass esp_now_rs(object): # 定义一个ESP-NOW通信类def __init__(self): # 初始化方法self.sta = network.WLAN(networ