嵌入式职场
在Matlab、Python、C/C++和Go等多种编程语言方面都有丰富的经验,专注于智能优化算法、工业人机交互界面设计、物联网、服务端开发等众多领域。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【ESP32-S3】第19篇 LCD的 MCU 接口和 SPI 接口详解
当D/CX信号拉低时,接口上的输入数据被认为是command地址信息。当D/CX信号拉高时,接口上的数据是SRAM数据或command 参数信息。当D/CX信号拉低时,接口上的输入数据被认为是command地址信息。目前最常用的连接模式,主要用于单片机领域里,因此得名MCU接口,现在很多中低端的手机,或手表有在使用,价格较为便宜。当然还有其他接口,比如LVDS接口、DSI接口、EDP接口、RGB接口、MIPI接口等,其中很多接口并不常用,有些安排下篇文章分享,所以在这里就不在详述。原创 2025-01-17 13:49:51 · 456 阅读 · 0 评论 -
【ESP32-S3】第18篇 配置工程常用命令
这样做会导致在每个终端会话中都激活 IDF 虚拟环境(包括无需使用 ESP-IDF 的会话)。这违背了使用虚拟环境的目的,还可能影响其他软件的使用。运行以上命令可以编译应用程序和所有 ESP-IDF 组件,接着生成引导加载程序、分区表和应用程序二进制文件。此时,就可以在启动日志和诊断日志之后,看到打印的 “Hello world!ESP-IDF 支持擦除 flash。现在,请将 ESP32-S3 开发板连接到 PC,并查看开发板使用的串口。擦除 flash 需要一段时间,在擦除过程中,请勿断开设备连接。原创 2025-01-07 11:27:11 · 183 阅读 · 0 评论 -
【ESP32-S3】第17篇 ESP 系列芯片和模组
ESP32-S3-DevKitM-1 是一款入门级开发板,搭载的是 Wi-Fi+蓝牙 LE 模组 ESP32-S3-MINI-1 或 ESP32-S3-MINI-1U,该款模组因小尺寸而得名。通常能够加速产品的上市速度,因为预先集成了无线功能(如Wi-Fi、蓝牙)并具备相关认证。: ESP32-S3-DevKitM-1 是一款入门级开发板,可以用来烧录和体验 IDF 中的 examples。ESP32-S3-DevKitM-1 - ESP32-S3 - — esp-dev-kits latest 文档。原创 2024-12-23 16:03:14 · 198 阅读 · 0 评论 -
【ESP32】第16篇 详解初始化 Wi-Fi 模块函数
【ESP32】第16篇 详解初始化 Wi-Fi 模块函数。原创 2024-11-11 09:31:17 · 163 阅读 · 0 评论 -
【ESP32】第15篇 OTA(Over-The-Air)升级
OTA 功能启动后,向当前未用于启动的 OTA 应用分区写入新的应用固件镜像。要运行 OTA 机制,需配置设备的分区表,该分区表至少包括两个 OTA 应用程序分区(即 OTA0 和 OTA1)和一个 OTA 数据分区。步骤 3:固件升级成功,OTA Data 分区已更新,并指示 OTA 1 现在是活动分区。下次启动时,固件将从此分区启动。步骤 0:OTA 0 为活动固件,该信息储存在 OTA Data 分区(如图所示)。步骤 1:固件升级开始,识别并擦除非活动分区,新的固件将写入 OTA 1 分区。原创 2024-11-01 14:22:06 · 437 阅读 · 0 评论 -
【ESP32】第14篇 ESP-Bluedroid 接口说明
esp_err_t esp_ble_gattc_open(esp_gatt_if_t gattc_if, esp_bd_addr_t remote_bda, esp_ble_addr_type_t remote_addr_type, bool is_direct):打开连接。esp_err_t esp_ble_gap_read_rssi(esp_bd_addr_t remote_addr):读取RSSI信号强度,结果通过 ESP_GAP_BLE_READ_RSSI_COMPLETE_EVT 事件触发返回。原创 2024-11-01 14:11:25 · 160 阅读 · 0 评论 -
【ESP32】第13篇 ESP-NimBLE 实用技巧与案例
conn_handle, 连接句柄,用于确定访问哪一个 GATT 服务器;cb,自定义的收到响应时调用回调函数,主服务发现回调函数;cb_arg, 自定义的回调函数参数。原创 2024-11-01 14:09:52 · 671 阅读 · 0 评论 -
【ESP32】第12篇 Bluetooth LE 协议软件架构
应用层即以 Bluetooth LE 为底层通信技术所构建的应用,依赖于主机层向上提供的 API 接口。原创 2024-11-01 13:39:23 · 96 阅读 · 0 评论 -
【ESP32】第11篇 解决***ERROR*** A stack overflow in task Tmr Svc has been detected.
A stack overflow in task Tmr Svc has been detected” 这个错误消息表示 FreeRTOS 的定时器服务任务(Timer Service Task)发生了堆栈溢出。定时器服务任务的堆栈大小可能设置得不够大。如果你在定时器的回调函数中执行了复杂的操作,使用了大量的局部变量或递归调用,这可能会导致堆栈溢出。虽然错误提示是关于定时器服务任务,但其他任务如果使用了过多的堆栈,也可能间接影响到定时器服务任务。原创 2024-11-01 11:01:04 · 446 阅读 · 0 评论 -
【ESP32】第10篇 GATT 客户端多连接示例演练(一主多从)
本文档介绍了 ESP32 的多连接 BLE GATT 客户端示例。在此实现中,单个 ESP32 作为 GATT 客户端同时连接到三个不同的 GATT 服务器。此设置说明了 ESP32 设备的用例,该设备以某种方式运行,以便从不同的 BLE 传感器接收数据。IDF为每个BLE服务创建一个单独的配置文件,应用配置文件以ID号单独定义。原创 2024-10-25 10:23:50 · 188 阅读 · 0 评论 -
【ESP32】第9篇 认识蓝牙 GATT 协议
ATT 的全称是属性协议 (Attribute Protocol, ATT),定义了一种称为属性 (Attribute) 的基本数据结构,以及基于服务器/客户端架构的数据访问方式。GATT 的全称是通用属性规范 (Generic Attribute Profile),在 ATT 的基础上,定义了以下三个概念特征数据 (Characteristic)服务 (Service)规范 (Profile)特征数据和服务都是以属性为基本数据结构的复合数据结构。一个特征数据往往由两个以上的属性描述,包括。原创 2024-10-24 15:02:15 · 141 阅读 · 0 评论 -
【ESP32】第8篇 使用 OpenSSL 生成 RSA 密钥对并对固件进行签名
使用 OpenSSL 生成 RSA 密钥对并对固件进行签名的过程可以分为几个步骤。以下是详细的说明,包括生成密钥对、对固件进行签名以及验证签名的步骤。原创 2024-10-17 14:54:44 · 221 阅读 · 0 评论 -
【ESP32】第7篇 使用 app_update 组件提供的原生API 升级 OTA
【ESP32】第7篇 使用 app_update 组件提供的原生API 升级 OTA。原创 2024-10-15 13:34:18 · 170 阅读 · 0 评论 -
【ESP32】第6篇 要使用 Python 的 http.server 模块构建一个 HTTPS 服务器
要使用 Python 的模块构建一个 HTTPS 服务器,需要使用ssl模块为 HTTP 服务器添加 SSL/TLS 支持。原创 2024-10-14 11:31:23 · 163 阅读 · 0 评论 -
【ESP32】第5篇 提供的日志信息分析ESP32成功连接到了Wi-Fi网络
从你提供的日志信息来看,ESP32成功连接到了Wi-Fi网络。通过这些信息,你可以确认ESP32已经正常连接到Wi-Fi网络,并获得了有效的IP地址。设备成功获取到IPv4地址(192.168.118.75),子网掩码和网关信息。日志显示设备状态从初始化状态变为认证、关联,然后进入运行状态。成功连接到Wi-Fi网络,并显示了相关信息如信道和BSSID。设备检测到密码长度符合WPA2标准,自动调整连接模式。设备开始尝试连接到名为“fjf”的Wi-Fi网络。设备也成功获取到一个链接本地的IPv6地址。原创 2024-10-14 11:13:42 · 261 阅读 · 0 评论 -
【ESP32】第4篇 OTA 流程概览 与 OTA 数据分区
工厂启动设置下,OTA 数据分区中应没有数据(所有字节擦写成 0xFF)。如果分区表中没有工厂应用程序,则启动第一个可用的 OTA 分区(通常是。OTA 数据分区的容量是 2 个 flash 扇区的大小(0x2000 字节),防止写入时电源故障引发问题。OTA 功能启动后,向当前未用于启动的 OTA 应用分区写入新的应用固件镜像。镜像验证后,OTA 数据分区更新,指定在下一次启动时使用该镜像。第一次 OTA 升级后,OTA 数据分区更新,指定下一次启动哪个 OTA 应用程序分区。原创 2024-10-14 09:49:15 · 226 阅读 · 0 评论 -
【ESP32】第3篇 Single factory app, no OTA 与 Factory app, two OTA definitions 的含义
分区表中定义了三个应用程序分区,这三个分区的类型都被设置为 “app”,但具体 app 类型不同。其中,位于 0x10000 偏移地址处的为出厂应用程序 (factory),其余两个为 OTA 应用程序(ota_0,ota_1)。新增了一个名为 “otadata” 的数据分区,用于保存 OTA 升级时需要的数据。flash 的 0x10000 (64 KB) 偏移地址处存放一个标记为 "factory" 的二进制应用程序,且启动加载器将默认加载这个应用程序。原创 2024-10-14 09:42:43 · 425 阅读 · 0 评论 -
【ESP32】第2篇 ESP32分区表概述
分区表的长度为 0xC00 字节,最多可以保存 95 条分区表条目。MD5 校验和附加在分区表之后,用于在运行时验证分区表的完整性。每片 ESP32 的 flash 可以包含多个应用程序,以及多种不同类型的数据(例如校准数据、文件系统数据、参数存储数据等)。分区表中的每个条目都包括以下几个部分:Name(标签)、Type(app、data 等)、SubType 以及在 flash 中的偏移量(分区的加载地址)。在以上两种选项中,出厂应用程序均将被烧录至 flash 的 0x10000 偏移地址处。原创 2024-10-14 09:35:30 · 298 阅读 · 0 评论 -
【ESP32】第1篇 设置 idf.py 为全局命令
要确保的 alias 在每个新的终端会话中有效,可以将其添加到。注意:要使用自己电脑esp-idf目录。原创 2024-10-14 09:07:52 · 292 阅读 · 0 评论