- 博客(33)
- 收藏
- 关注
原创 AI可靠吗
我问deepseek,ESP32S3比ESP32有哪些提高和改进,它告诉我S3支持wifi4的两个频段2.4G和5G,还煞有介事的告诉我应该如何利用此5G频段,并给出了一些API片段。我印象里似乎S3还是只支持2.4G频段(wifi4标准确实是可以支持2.4G和5G频段的,虽然5G是可选),但又懒得去查阅手册,于是上手一试。于是我去质问了deepseek,它又告诉我确实是只支持2.4G。于是乎上官网一看,确实只支持2.4G。AI已经进化到像人类一样狡猾狡猾的了。不支持,无法连接AP。
2025-08-22 15:44:21
112
原创 ESP32和ESP32-S3区别(备忘)
均支持**2.4GHz Wi-Fi 4(802.11b/g/n)**和**蓝牙**(ESP32-S3支持蓝牙5.0,ESP32为4.2/5.0取决于型号)。- 闪存:支持**Octal SPI(8线)外接存储**,最大**1GB**(如ESP32-S3-WROOM-1U-N16R8)。- 增强安全功能:**数字签名加密(RSA/AES/SHA)**、**安全启动**、**Flash加密**。- ESP32-S3新增对**ESP-NOW**(乐鑫无线协议)和**Matter**(智能家居标准)的支持。
2025-08-18 15:16:15
1698
原创 ESP32 蓝牙对OTA更新的影响及解决方案
/ 使用BLE而非经典蓝牙。5. **使用ESP32-S2**:如果需要稳定OTA,考虑使用不支持蓝牙的ESP32-S2系列。3. **使用有线串口更新**:对于关键更新,考虑使用串口而非OTA。4. **处理优先级**:蓝牙任务可能抢占WiFi任务的CPU时间。1. **强制关闭蓝牙**:在OTA开始前确保蓝牙完全关闭。2. **带宽占用**:蓝牙活动会占用WiFi所需的带宽。
2025-08-16 09:20:34
446
原创 ESP32上碰到的双核问题
ESP32(ESP32-S3)具备双核,其上移植的arduino框架也默认支持双核任务,也就是两个不同任务可以同时运行而不需要使用vTaskDelay出让cpu。1,xTaskCreateUniversal 带coreID的任务创建函数,可指定core(xTaskCreatePinnedToCore函数也可)taskDISABLE_INTERRUPTS();只能关闭当前core的中断!不同的core可以同时运行程序,但是内存空间还是共享的。2,获取当前环境所在的core的ID。
2025-08-15 09:29:23
204
原创 arduino网页书写的几种方式
如果网站比较复杂,例如多个文件分开,包括js,css和image图片等,直接嵌入代码就不太合适了,此时可以用esp32的文件系统来存储。还有个方法就是使用字符串可以用引号连写的方法,写一个函数动态生成网页,这个似乎比较实用!尤其是需要在网页中嵌入一些变量。结论:用文件来存储网页有一个最大的问题就是升级问题,代码可通过ota升级,网页文件似乎还没找到比较好的方法升级了!1,使用文件系统spiffs来存储网页。使用c++的 R""语法来引用!因此就需要将文件上传到目标板上。2,嵌入代码中,又分为三种方式。
2025-08-13 12:37:33
172
原创 ESP32小总结
这样的话,既可以用arduino的开发环境以及库,又可以使用esp-idf的库函数,同时还可以直接用freertos!可以反其道而行之,将arduino仅作为esp-idf的一个封装库,直接使用freertos来开发!arduino:对ESP-IDF做了一层封装,再加上高质量的arduino库,比较香,但是单线程结构有点麻烦。但是,可以直接调用ESP-IDF库,可以直接使用freertos。micropython:非专业选手首选,库相对少,运行速度慢(尤其是时序相关的控制不太行)
2025-08-11 22:10:37
452
原创 ESP32的bluetooth蓝牙
要注意经典蓝牙(classic)和BLE并不兼容。ESP32S3仅支持BLE模式!2,手机调试软件,BLE调试助手。简单实现收和发功能。1,简单的使用直接参考arduino上BLE_uart这个例子即可。目前可以让板子发送一些基本调试信息和做一些简单的设置。
2025-08-09 18:21:09
280
原创 ESP32的arduino之实现(备忘)
从而可以理解arduino的运行流程,也就可以理解如何在arduino中使用freertos了。从官方提供的代码中可以了解arduino支持包是如何在esp32平台上实现的。注:c++编译,且会被c代码调用。所以要加extern "c"//堆栈大小默认8192,8K。3,setup和loop回调入口。
2025-08-08 16:48:37
197
原创 ESP32之自动配网实战
或者用小程序 巴法 选择smartconfig协议即可!(可工作 但胜在无需安装 成功率似乎低一些)blufi,用蓝牙配网,有一篇文档(arduino没有专门库,需要调用esp-idf)手机端,可以用espressif的app,选择ESPTOUCH即可(感觉更稳定!smartconfig,有一个audino example,但是发现。发现只有ESPTOUCH能成功,airkiss和v2都不行!AP配网,板子作为AP有配置网页 连接上去后填入ap信息。2,自动配网(smartconfig)
2025-07-30 16:52:36
348
原创 ESP32的mDNS总结
关键点:需要MDNS.addService("http", "tcp", 80);否则无法被检测工具检测到(linux上avahi-browse,windows上Bonjour browser)(linux可通过avahi browse,windows通过bonjure browser工具来探测设备名称。开启后,可以直接通过本地域名来访问,无需查看ip地址,方便调试和使用!(域名.local)后续:可以增加通过网页更改mDNS名字的功能。
2025-07-29 20:28:55
449
原创 HUB08 LED点阵屏幕干货总结(大结局)
问题1:此专用驱动芯片应该进行了电流保护,无法实现单行常亮显示,现象就是打开行信号后,输入列信号,理论上应该是该行LED按照列信号保持显示状态,但实际只是显示了很短一个时间就熄灭,应该是做了电流保护(datasheet并未提及)。问题2:列信号使能OE的打开时机是非常关键的,网上有部分文章是保持一直使能(OE=L)这是不对的。一行的显示:先发出64个CLK上升沿,打出一行64个bit数据。整屏幕显示:通过一个译码器依次控制16个行驱动信号,每行显示按上面规则进行。折腾了几天,告一段落,软硬件总结如下。
2025-07-25 15:43:36
1399
原创 HUB点阵LED控制(ESP32+arduino)
为了搞这个点阵LED,弄了一大堆这玩意。第三排 网络获取天气预报。SNTP获取网络对时。第二排本地温度和适度。
2025-07-24 16:35:18
303
原创 ESP32驱动LED点阵的若干问题
问题1:micropython下ESP32的IO口翻转速度过慢,导致刷新频率无法升上去。要达到理想显示效果,需要用arduino来实现。问题2:点阵屏的显示原理的理解,尤其是对刷新的控制。
2025-07-18 12:29:37
220
原创 ESP32的GPIO分配总结
Strapping 管脚(控制启动模式)Strapping 管脚(控制启动模式)ESP32的管脚分配也是相当复杂。Strapping 管脚;Strapping 管脚;TXD(调试串口,固定)RXD(调试串口,固定)Strapping 管脚。总结一下常用的注意事项。
2025-07-13 20:46:52
784
原创 ESP32网页跨域问题CORS
在esp32上实现网页服务器还有一种方法就是使用本地网页来展现数据,局部通过ajax来从esp32板子获取数据,这样能够简化esp32网络服务器的实现。注意:此网页为本地文件,并非esp32返回的html。
2025-07-12 20:43:36
213
原创 ESP32+micropython结合AJAX自动刷新页面
html {<p>"></i></p><p>"></i></p><script>});</script>
2025-07-08 22:42:00
505
原创 micropython的调试问题
micropython目前还没有单步调试的功能,受资源所限。网上有些文章乱写的。还得是串口print和点灯调试。
2025-07-07 14:47:18
192
原创 NRF24L01+
RX_PW_RX寄存器静态设置数据包长度(发送端必须保持一致),这样收到这么多个数据就会产生中断。还有个是动态模式(需要设置寄存器),数据包长度包含在数据包中。RF channel Frequency,是相对2.4Ghz的屏带(也是发送和接收需要一致)注意NRF24L01 和 NRF24L01+ 是不同的,正点原子用的NRF24L01+动态的好处就是不需要把短的数据包也当作最长的数据包来发送。RXADDR是自己的地址,用来匹配收到的包里面的地址的。TXADDR是接收方的地址(数据包不带自己的地址的)。
2025-07-05 17:56:27
221
原创 python的正则表达式用法
search.group() or search.group(0)就是匹配的结果,至于group1和group2是什么这个是正则的范畴了。正则匹配返回的是匹配的完整的字符串,并不是关键字搜索(匹配pattern的字符串,pattern的意思就是符合这个规则)注意search是返回第一个匹配(记住group和多个匹配没啥关系的)这个要好好理解,返回所有能够匹配pattern的部分!另外一种形式是先编译正则。
2025-07-05 13:18:45
185
原创 Linux的环境变量
export:把一个变量变作环境变量。export不加参数的时候,显示哪些变量被导出成了用户变量,一个shell自己的变量可以通过export “导出”变成一个用户变量。注意理解,所有的变量都是shell定义的变量,只不过有些被导出为环境变量,可以理解为多了一个环境属性。set:显示所有本地定义的shell变量(包括被导出的环境变量)(export 显示出来的都会带 declare -x)env:显示所有的环境变量。
2025-07-01 09:01:22
310
原创 STM32串口输出调试信息的方法
* USER CODE BEGIN 0 */(文件开始处)/* USER CODE BEGIN 1 */ 文件尾。
2025-06-26 15:34:03
272
原创 odrive软件的版本
0.4.0 通信方面引入一个fibre 变复杂了(节点还是手工生成的),cpp程序开始变多了。(sensorless我看到变成独立文件了)0.5.0开始支持spi的encoder,as5047之类。0.5.1据说之后的版本control loop开始变化。python tool开始使用pip安装形式。0.5.2开始应该是大修改了。odrive软件的版本。
2025-06-25 15:07:40
842
原创 Ubuntu如何查看系统发行版本
1、命令uname -a(发行版的版本不一定看得到)5、命令cat /proc/version (可以看到操作系统的发行版号和操作系统版本。,有些系统不一定安装)一定要带 -a 参数。4、命令 cat /etc/issue (和uname -a差不多,看不出来啥)可以查看Linux版本信息及类型。3、命令lsb_release。可以查看Linux内核的信息。2、命令uname -v。可以查看发行版本信息。
2025-06-23 16:49:26
257
原创 STM32仿真器之对比篇
一个非常麻烦的问题就是,支持flash断点,会导致更改flash(虽然优点是无穷断点),在和gdb配合调试的时候发现问题很多,不得不改回stlink。提供很多附加功能,例如flash烧写,stm32解锁,gdb server非常有用!gdb调试的时候,断点超过硬件断点数量会提示出错(但不提示说断点不够,晕死。(最早买的一款,配合4.92上位机软件)后买的一家的两款,用6.32或者6.8都可以。(更改flash插入断点,有时会不成功,反而影响程序运行)2,jlink,功能强大,可能速度也快(未对比)
2025-06-23 15:36:00
307
原创 ESC电调之电机发声原理研究
和频率相关,duty是个固定值。频率高的时候,导通时间很短,也就是短路时间很短,不会有问题。频率降低后,等于是超过电感充电时间后,相当于短路的意思(结合buck电路看看)注意这段代码只是设置了AF模式,并没有设置AFSEL,因为在peripheral.c里面void MX_TIM1_Init(void)已经设置过了。在上面代码中,发声进行了换相,具体原因不知!是不是换相的话声音在空间上也有变化,效果会更丰富一点。因为要发声,频率是有要求的,比较低。pwm端口均配置为输出口,并输出低电平,就是浮空相。
2025-06-22 12:41:58
425
原创 编译betaflight的步骤
make configs 这一步会从github下载板子的config文件。make arm_sdk_install 安装工具。
2025-06-21 10:47:35
243
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅