![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ESP32开发
文章平均质量分 91
书中倦客
这个作者很懒,什么都没留下…
展开
-
sntp 校时问题
1、背景由于项目中的数据对时间比较敏感,目前常常出现校时问题,导致时间偏差,出现曲线数据丢失和曲线数据重复等问题。因此对sntp源码进行深入分析。要了解SNTP,首先需要了解NTP协议。SNTP是NTP的子集,简化了NTP的许多算法和步骤,得到了效率,但时间的精度不如NTP,可是对于民用时间来说足够了,大概最多差距几秒的样子。NTP(Network Time Protocol,网络时间协议)是由RFC 1305定义的时间同步协议,用来在分布式时间服务器和客户端之间进行时间同步。NTP基于UDP报原创 2022-02-08 14:27:48 · 2857 阅读 · 0 评论 -
ESP32 关于LOGGING
1、背景今天有点时间,因此对ESP32 的日志输出做一次学习。1.1 资料https://docs.espressif.com/projects/esp-idf/zh_CN/v3.3/api-reference/system/log.html?highlight=Logging%20to%20Hosthttps://www.cnblogs.com/jiangmitiao/p/97...原创 2020-04-24 16:43:04 · 3164 阅读 · 0 评论 -
ESP32 关于HTTPS的使用
1、背景最近因为公司项目的原因,接触到关于HTTPS方面的东西,新东西有必要记录一下。由于涉及公司的事,不公开。对于公开的部分,会另外成文。1.1 参考资料注:网络上资源很多,关键还是要静下心来。理解证书和证书链(三)https://blog.csdn.net/junwua/article/details/80506631理解证书和证书链https://blog.csd...原创 2020-04-17 15:42:26 · 3937 阅读 · 6 评论 -
ESP32 存储系统及Flash,进而考虑HTTP升级文件
1、背景由于做的下载文件速度过慢,而OTA Demo的下载速度很快,应该有必要了解两者的差距。1、OTA只有一个Get请求,而我的1K接1K的请求,速度就慢了2、两片Flash的问题。1.1 资料ESP32技术参考手册ESP32系列芯片技术规格书2、ESP32 存储系统2.1 存储系统简介地址0x4000_0000以下的部分属于数据总线的地址范围;地址0...原创 2019-02-27 15:35:20 · 6804 阅读 · 0 评论 -
ESP_OTA
1、背景由于项目驱动研究OTA升级固件,确定所用模组ESP32-WROVER-B, 存储资源4M Flash 8M PRAM,集成芯片类型ESP32-D0WD。1.1参考资料第二十章 ESP32的空中升级(OTA) https://blog.csdn.net/qq_24550925/article/details/85857351ESP-IDF https://docs.espre...原创 2019-02-26 14:45:54 · 701 阅读 · 0 评论 -
从ADF看蓝牙服务---BT Sink
1、背景初始连接时蓝牙打印信息如下[2019-03-01 16:40:06.600]# RECV ASCII>ITER[0m[0;31mE (15045) BLUETOOTH_EXAMPLE: [ * ] Action command error: src_type:1048585, source:0x3ffe18dc cmd:1, data:0x0, data_len:0[0...原创 2019-03-07 12:48:05 · 2617 阅读 · 0 评论 -
ESP32 BLE读写发送----续
1、背景ESP32 BLE应用理解GATT这篇文章是在是太长了,东西也太杂了,不对的对的夹杂在其中。因此新开一个续章。以问题为节2.问题节2.1esp_ble_gatts_send_response/*************************************打印记录如下***********************************************...原创 2019-02-14 14:12:38 · 7677 阅读 · 1 评论 -
ESP32 启动时间过长分析
1、问题描述正常启动:1555ms[2019-03-14 15:42:29.183]# RECV ASCII>ets Jun 8 2016 00:22:57rst:0x1 (POWERON_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT)configsip: 0, SPIWP:0xeeclk_drv:0x00,q_drv:0x00,d_dr...原创 2019-03-15 11:04:14 · 2563 阅读 · 3 评论 -
ESP32 ADF pipeline切换时遇到问题---音频没有放出
1、问题描述成功切换的LOG[2019-03-13 14:48:06.736]# RECV ASCII>[0;32mI (5181) STAGEFRIGHTMP3_DECODER: MP3 decodig done[0m[0;32mI (5181) STAGEFRIGHTMP3_DECODER: Closed[0m[0;32mI (5231) AUDIO_ELEMENT: I...原创 2019-03-13 18:17:32 · 2119 阅读 · 1 评论 -
ESP32 网络HTTP数据流API使用浅析
1、背景写的HTTP数据流下载不好用,特别在网速慢,任务多、中断切换频繁,出现下载中断,任务出错等等问题。1.1 参考资料2、常用API浅析ESP-IDF对HTTP/S请求的API封装实在是太好了,单看一些API的说明,很难理清它的运行逻辑。因此还是阅读源码最能理解。常用的API有esp_http_client_init()、esp_http_client_perform...原创 2019-04-24 15:52:40 · 7264 阅读 · 12 评论 -
从ESP32 源码学习事件处理函数用法
1、背景在ESP32中存在很多的回调,并且实现的都比较优美,因此有必要在这方面向她好好学习,向代码开发者致敬。我下面开始我的胡扯,有问题请大家指出,谢谢。2、结构接下去我们学习一下它的逻辑结构以及内含的面向对象的编程思想。(当然这纯属我在写的时候瞎扯的)。以HTTP数据流为例分析,这个选择是因为目前刚好对这一段熟悉,贪方便而已。2.1 看看句柄相关的结构体以及初始化言归...原创 2019-04-25 10:56:39 · 2071 阅读 · 2 评论 -
从ESP32看ES8388低功耗音频芯片
1、ES8388 简介ES8388是一种高性能、低功耗、低成本的音频编解码器。它由两路ADC,2通道DAC,话筒放大器、耳机放大器、数字音效、模拟混合和增益功能。ES8388采用先进的多位Δ∑调制技术实现数字与模拟之间的数据转换。多比特Δ∑调制器使器件对时钟抖动和低带外噪声的灵敏度低。它应用于:MID,MP3, MP4, PMP,无线音频,数码相机,摄像机,GPS领域,蓝牙,便携式音频设备...原创 2019-02-20 11:20:17 · 26487 阅读 · 13 评论 -
ESP32设备SPI主设备驱动
1、背景目前,由于要存放本地音乐,芯片内部的Flash大小不够,所以要用到外部SPI Flash。暂时选择芯片W25Q127.因此有必要研究一下ESP32的SPI外设。1.1 参考文献ESP-IDF编程指南https://docs.espressif.com/projects/esp-idf/zh_CN/latest/index.htmlESP32 学习笔记(八)SPI - SP...原创 2019-01-09 11:26:28 · 19206 阅读 · 13 评论 -
ESP32 生成dump文件-----看见我
步骤1:进入工程编译后的build目录,通过objdump生成静态分析文件$ xtensa-eps32-elf-objdump –S ESP32_HTTPDownloader.elf > debug.txt步骤2 vim dubug.txt 进入debug文件步骤3 输入Backtrace的各个地址,注意从后向前找,就是从上层到底层找问题出在spi_flash_write...原创 2019-01-11 11:10:14 · 992 阅读 · 0 评论 -
ESP32 定时器理解
1、背景我想了解在一个任务中启动一个定时器,这个定时器的归属问题。我在定时器里调用wifiBits = xEventGroupWaitBits(wifi_event_group, ST_ALLBITS, false, false, portMAX_DELAY);这个太不明智了。...原创 2018-12-19 09:33:06 · 1646 阅读 · 0 评论 -
FreeRTOS事件标志组的学习
1、背景由于在搞ESP32的WIFI部分时,出现"wifi: Haven't to connect to a suitable AP now"的异常。分析完WIFI流程后,去除事件组后,正常运行,因此需要分析一下事件组哪里学习不到位。事件组的存在,影响我想达到的目标。// wifiBits = xEventGroupWaitBits(wifi_event_group, ST_ALLB...原创 2018-12-19 09:31:00 · 1634 阅读 · 0 评论 -
由"wifi: Haven't to connect to a suitable AP now"引出的关于ESP32 WIFI模块状态变化认识
目录1、背景1.1 参考资料2、ESP32 连接WIFI热点流程3、流程中各函数源码分析3.1 void tcpip_adapter_init(void)3.2 esp_err_t esp_event_loop_init(system_event_cb_t cb, void *ctx);3.2.1仔细看esp_event_loop_init的源码3.2.1.1继...原创 2018-12-18 14:23:08 · 1380 阅读 · 0 评论 -
ESP32 广播流程
参考资料蓝牙4.0BLE抓包(二) – 广播包解析 https://www.cnblogs.com/aikm/p/5022502.html蓝牙4.0BLE抓包(三) – 扫描请求和扫描响应 https://www.cnblogs.com/aikm/p/5144209.html蜗窝科技之蓝牙系列文章一分钟读懂低功耗蓝牙(BLE)连接数据包 http://www.viewtool.co...原创 2018-12-15 16:29:51 · 5196 阅读 · 0 评论 -
蓝牙基础知识整理
1、背景上一次蓝牙过的比较匆忙,这次下定决心要把蓝牙的基础知识和应用搞清楚。1.1 参考资料蓝牙版本发展概述 http://blog.sina.com.cn/s/blog_d2db96110102xnj6.html深入浅出低功耗蓝牙(BLE)协议栈 https://blog.csdn.net/shunfa888/article/details/80140475BLE 协议系列之...原创 2018-12-20 19:40:36 · 23830 阅读 · 3 评论 -
ESP32 开发Eclipse开发环境配置
目录1、背景1.1 参考文献2、Eclipse 开发环境(C/C++版)配置过程2.1 首先你必须有eclipse运行的环境2.2 下载安装eclipse2.3 导入hello-world工程2.4 配置工程2.5 编译结果呈现2.6 如何用make flash 下载文件 和使用 make monitor 查看运行结果1、背景Window下,ESP-ID...原创 2018-12-03 21:41:01 · 2967 阅读 · 2 评论 -
在windows下搭建ESP32开发环境从失败到成功
目录1、背景:1.1参考资料2、各种坑2.1git clone --recursive https://github.com/espressif/esp-idf.git 过程2.1.1下载过程中卡住不动的有没有,等待时间太长,怎么破2.1.2网速不行,下载太慢的有没有2.2 下载完了,开始make menuconfig 成功了,接着make3、成功的一次记...原创 2018-12-02 22:48:10 · 14360 阅读 · 0 评论 -
ESP32 喂狗
1、背景下载大文件时,碰到喂狗问题。因此需要对任务喂狗事情做一些了解。1.1 参考资料ESP32 任务看门狗(TaskWDT)组件与用户任务监控https://blog.csdn.net/abc517789065/article/details/80169825ESP32 官方手册https://docs.espressif.com/projects/esp-idf/zh_...原创 2019-02-28 15:56:56 · 3204 阅读 · 2 评论 -
ESP32 系统架构+KConfig+component.mk
1、背景事情搞到一半,又回头搞这些东西,基础没打牢固,只能回头看看。1.1 资料Kconfigs详解-文件的基本要素**** https://www.cnblogs.com/jiangzhaowei/p/7528099.html2、整体架构 3、Makefile 和component.mk 4、Kconfig 和 Kconfig.projbuild分布在各...原创 2019-02-15 16:04:26 · 5046 阅读 · 0 评论 -
关于esp32的系统初始化启动过程及设计学习方法
1、背景有必要对ESP32启动过程做一个了解,下面就是从http://www.cnblogs.com/noticeable/p/7456868.html拷贝过来的。2、ESP32 初始化过程简介对于esp32,其开发程序中有且只能有一个app_main函数,该函数是用户程序的入口,这在没有调用FreeRTOS的系统中相当于函数main,但其实在app_main之前,系统还有一段初始化的...转载 2019-02-14 22:41:06 · 3045 阅读 · 5 评论 -
ESP32 双核平衡问题
1、背景ESP32 是一块拥有双核微控制器,因此如何充分利用这个双核资源值得探讨一下,之前已经对这方面有一定的接触。参考资料ESP-IDF FreeRTOS SMP Changeshttps://docs.espressif.com/projects/esp-idf/zh_CN/latest/api-guides/freertos-smp.htmlESP-IDF源码双核实时系...原创 2019-02-14 17:22:31 · 5822 阅读 · 2 评论 -
ATT Protocol 属性协议
1、背景接触了,就必须留下点痕迹。1.1 参考资料Bluetooth ATT介绍 https://www.cnblogs.com/hzl6255/p/4141505.htmlble v4.22、啥是ATTATT Protocol,是用于发现、读、写peer对端设备的协议(针对BLE设备)。ATT允许设备作为服务端提供拥有关联值的属性集,让作为客户端的设备来发现、读、写...原创 2019-02-01 22:30:35 · 1267 阅读 · 0 评论 -
从play_mp3例程出发理解ESP32-ADF的使用方法
1、背景最近在搞ESP32的音乐播放,对ESP32软件体系之一ADF开始学习。记录些东西。水平有限,求路过者不吝赐教。1.1 参考资料ADF文档https://docs.espressif.com/projects/esp-adf/en/latest/get-started/index.html2、play_mp3例程出发理解ADF的一般步骤和概念音频播放的一般流程:获取音频...原创 2019-01-15 14:26:07 · 8212 阅读 · 7 评论