自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 资源 (1)
  • 收藏
  • 关注

原创 XL9555芯片

ESP32的“超级管家”、“引脚扩展器”、“IO口倍增器”。核心能力:用2根线(I²C)换16根新线!每根新线都能自由变身成“控制者”(输出)或“观察者”(输入)。在3.3V(ESP32)和5V(很多外设)世界之间架起安全沟通的桥梁(电平转换)。当你的ESP32项目需要连接一大堆按钮、LED、传感器、继电器,而ESP32自己的引脚不够用时,或者需要连接5V设备时,XL9555就是你的救星!

2025-08-17 13:04:15 777

原创 RTC之神奇小闹钟

独立工作的。

2025-08-17 12:13:03 1058

原创 正点原子esp32s3在0.96寸oled屏幕上显示时间

之前实现了0.96寸的oled屏幕的显示实验,但是只是显示几个字没啥意思,总想着做点什么吧,今晚正好有空,就尝试一下从网络同步时间到oled上显示出来实时的时间吧。现在来重构原来的代码,将OLED功能封装到oled.h和oled.cpp中,原来的引脚设置不变,通过传参的方式传入。然后,我们要让时间在0.96寸的oled上显示出来,这时,我们就可以用到前面做的oled实验了。1. 创建oled.h:声明OLED类,包含初始化、显示时间等方法。2. 创建oled.cpp:实现OLED类的方法。

2025-08-17 11:51:57 513

原创 正点原子esp32s3探测土壤湿度

使用:正点原子ATK_DNESP32S3 V1.3。

2025-08-10 13:33:54 209

原创 IIC总线时序图

写数据时,主设备是“说”的人(控制 SDA 发数据),从设备是“听”的人(读取 SDA 数据)。读数据时,正好相反,从设备“说”(控制 SDA 发数据),主设备“听”(读取 SDA 数据)。总线进行数据传送时,时钟信号为高电平期间,数据线上的数据必须保持稳定,只有在 时钟线上的信号为低电平期间,数据线上的高电平或低电平状态才允许变化。总线上所有小弟都在听,核对这个地址是不是自己的。SCL 开始有规律地“跳动”(高->低->高->低...),SDA 在 SCL 低电平时变化,在 SCL 高电平时保持稳定。

2025-08-10 13:30:10 826

原创 正点原子esp32s3连0.96寸oled屏幕

就可以正常运行了。

2025-08-04 14:45:00 554

原创 UART 和 USB 的区别

本人是初学者,非常愿意与大家交流。想象一下,和。

2025-08-04 14:15:00 389

原创 上拉电阻和下拉电阻

本人是初学者,在看正点原子的KEY实验(基于esp32s3)时,里面有涉及到了上拉电阻及下拉电阻的概念,还是做个小结吧。咱们先总结一下,加强理解,后面再附上原文档对比。想象一下ESP32的一个引脚(比如GPIO13),它像一个小开关,可以检测电压是高(接近3.3V)还是低(接近0V)。但是,,它就不知道自己是高还是低,会变得非常“敏感”,容易受到周围电磁干扰的影响,导致状态乱跳(高-低-高-低...)。这就像一根断线的风筝在天上乱飘,你不知道它要飞向哪里。它们的作用就是,避免它“悬空”乱跳。

2025-08-04 14:00:00 2257

原创 GPIO交换矩阵和IO_MUX

想象芯片内部的外设(如 UART、SPI)需要快速进出“城市”(芯片外部)。:按键本可接任意输入引脚(如 GPIO5),中断信号通过 GPIO 矩阵路由到中断控制器。:查手册用默认 IO_MUX 引脚(如 SPI 的 CLK 用 GPIO36)。,能把任意外设的“车”(信号),灵活调度到任意 GPIO “路口”(引脚)。高速信号必须走直达!通常GPIO 34~39 是“单行道”,只能输入(如接按键)。信号不绕路,延迟极低,适合高速通信(如 USB、SD 卡)。搞定,引脚随便选(避开 34~39 输出)。

2025-08-03 17:41:11 742

原创 ESP32 I2C设备地址解析

本人是初学者,非常愿意与各位交流。最近在看IIC操作设备地址时,觉得那些资料都挺枯燥的,还是记录一下比较简单的描述吧。这里主要讲解的为:“表达式 ” 的具体含义。通俗讲,表达式 是用于生成I2C设备的8位读操作地址。不过,为了便于记忆,可以打个比方:想象你住在一个叫 I2C小区 的公寓楼里:这栋楼有 128户人家(对应I2C的7位地址,0~127)。你家门牌号是 0x20(十六进制,相当于十进制32号房)。你(ESP32):想找邻居拿东西(读数据)或送东西(写数据)。快递柜(I2C设备):在你邻居家门口(

2025-08-03 00:34:47 356

原创 esp32s3 + ov2640,给摄像头加上拍照功能,存储到sd卡

现在的目标是添加一张sd卡(其实是手机上用的tf卡),没有现成的,就从玩具中拆了一张出来,一看才128M,这也太小了,玩具厂可真会节省成本^_^!就直接在main.cpp上添加代码了,实际项目中的话,最好还是拆出来,这样代码比较清晰。功能上,就添加了sd卡的读写功能,还在页面上添加了一个查看sd卡中存储的照片的功能。不过页面刷了一会才出来,需要耐心等几秒钟。

2025-07-31 18:55:32 925

原创 IIC与SPI通信协议对比

特点IIC (电话会议)SPI (私聊小灶)线数少 (2根:SDA, SCL)多 (通常4根:MOSI, MISO, SCLK, CS/SS)点名方式喊地址 (广播+应答)拉专线 (CS/SS 物理选择)数据通道1根线来回用 (半双工)2根独立线 (全双工,可同时收/发)速度较慢很快设备扩展容易 (地址区分),但总线负载有限费线 (每加一设备多一根CS线)复杂度协议稍复杂 (地址、应答)硬件连线稍多,协议相对直接典型应用传感器、小存储器、低速控制。

2025-07-31 12:53:22 944

原创 esp32s3 通过wifi查看正点原子摄像头

话说上次买的摄像头,不知道为啥,刚玩了半小时就报错探测不到摄像头了,一阵折腾还是不行,但是没了摄像头,还有好多实验没办法往下做了,咬咬牙又花了118大洋买了一个正点原子的ov2640摄像头(这是真的贵啊,都可以买3个其它厂家的同款摄像头了^_^!),再搭配正点原子的esp32s3板,这回总该行了吧。没想到,原来的代码一通跑下来,仍然报错未探测到摄像头,算了,基于正点原子的例程改一下,结果发现又可以顺利跑起来了。实验过程依然是通过wifi访问开发板上开的web服务来查看摄像头。摄像头模块:ov2640。

2025-07-31 12:52:08 541

原创 esp32中的看门狗

把 ESP32 的看门狗想象成一个定时闹钟。你(程序)必须定期去按一下这个闹钟(喂狗),证明你还清醒着在工作。如果你忘记按或者按得太晚(程序卡死),闹钟就会大声响起(触发重启),强制整个系统从头开始运行,从而摆脱卡死的状态。它是让你的 ESP32 项目变得更可靠、更健壮的重要工具!

2025-07-27 17:10:19 689

原创 esp32中的中断

想象一下,如果没有中断,ESP32 想知道按钮有没有被按下,它必须不停地、一遍又一遍地去检查那个按钮引脚的状态(这叫“轮询”)。中断让 ESP32 可以专心做自己的事(比如计算、控制设备),只有当“门铃”响了(重要事件发生),它才立刻去处理。:物理按钮在按下或松开时,金属触点会快速弹跳几次,导致引脚电平在短时间内多次快速变化(高-低-高-低),这会让 ESP32 误以为按了很多次。这告诉编译器:“这个变量随时可能被意外改变(被中断),别做优化,每次都要老老实实去内存里读它的最新值”。

2025-07-27 17:09:03 778

原创 ESP32中的定时器

CPU 在等待定时器到期时可以继续执行loop()中的其他任务(打印消息、读传感器、连WiFi等),程序响应更灵敏。硬件定时比软件循环 (millis()) 或delay()更精确稳定(尤其间隔很短时)。4 个定时器可以独立工作,实现多个不同周期的定时任务(比如一个 LED 每秒闪,另一个每 2 秒闪,一个传感器每 5 秒读一次)。让硬件去做计时的脏活累活,解放 CPU。

2025-07-27 17:07:32 638

原创 正点原子 esp32s3通过网页查看摄像头实时监控

通过网页实时查看监控画面。

2025-07-20 23:13:37 454

原创 使用手机控制继电器实现电机的启停

通过物联网控置电机的转动。

2025-07-20 15:36:18 224

原创 使用vscode编译烧录esp01s,实现网络控制esp01s板载的灯

强烈推荐,弄了很久才实现完整流程的,通过物联网控制外围设备之初始实现。

2025-07-20 14:00:20 965

原创 正点原子 esp32s3通过继电器控置电机的转停

1. 最开始使用的是TONGLING的继电器模块,但是继电器一通电就吸合一次,然后始终无法按代码的预期切换,搞得很懵,后来又花了3块钱淘了这个松乐的继电器,继续做实验才成功;2. 使用这个松乐的继电器,开始做实验时也没有按照代码预期实现2秒切换,后来跳线帽跳到高电平触发后,实现现象才正常,搞得也有点懵。主板选择对应主板,这里由于没有找到正点原子对应的主板,我自已导入了一个。目标:通过对继电器进行间隔2秒的高低电平切换,控置电机的转停。继电器:SONGLE SRD-05VDC-SL-C。

2025-07-18 00:49:23 310

原创 正点原子 esp32s3通过HC-SR501检测人体运动

目标:通过HC-SR501检测到有人体运动后,点亮led灯,并且在Serial Monitor打印出检测信息。主板选择对应主板,这里由于没有找到正点原子对应的主板,我自已导入了一个。这里的代码都是最基础的代码了,实在没有什么好讲解的,就不再说明了。开发板使用:正点原子ATK_DNESP32S3 V1.3。本人是新手,刚开始接触esp32板,希望能与大家交流。在VS Code新建工程,工程命名为:wifi。

2025-07-13 14:30:00 399

原创 正点原子 esp32s3使用手机控制led灯的开关

让 ESP32S3 变成一个 WiFi热点,并通过网页实现 LED 灯的远程控制。

2025-07-12 20:49:00 1046

原创 正点原子esp32s3控制超声波进行测距

主板选择对应主板,这里由于没有找到正点原子对应的主板,我自已导入了一个。在VS Code新建工程,工程命名为:ultrasonic。开发板使用:正点原子ATK_DNESP32S3 V1.3。本人是新手,刚开始接触esp32板,希望能与大家交流。Frameword选择arduino。超声波传感器:HC-SR04。

2025-07-12 18:30:35 305

原创 正点原子esp32s3控制28BYJ-48步进电机

这是因为该步进电机(28BYJ-48)的驱动顺序需要按照特定的相序(通常为8拍方式:A-AB-B-BC-C-CD-D-DA)才能正确旋转。然而,这里使用的顺序是`GPIO4(IN1), GPIO5(IN3), GPIO6(IN2), GPIO7(IN4)`,这可能是为了适应某种特定的驱动板接线。它需要一个像ULN2003这样的驱动器IC来控制电机,所以实验中28BYJ-48步进电机通常带有一个基于ULN2003的驱动板。- 构造函数参数: - `stepsPerRevolution`:电机每转一圈的步数。

2025-07-12 01:09:16 748

原创 es term&match 在text&keyword查询的

此时, "你" 在text_col字段的倒排索引中可以命中倒排索引( ["hello", "world", "你", "好", "世", "界"])中的关键词 "你",所以返回该条记录。2)text_col字段在写入记录时,被分词为 ["hello", "world", "你", "好", "世", "界"]进入倒排索引中,并且,顺序是固定的;2) text字段会被分词,所以text_col字段的倒排索引为 ["hello", "world", "你", "好", "世", "界"]

2023-10-08 11:11:58 1002 1

原创 记一次flink故障排错过程

cdh 集群 scm server节点出故障后,恢复集群过程中,同时flink版本由1.14.0升级到1.14.4,然而在启动过程中报了很多错,记一次排错过程。

2022-03-26 23:18:30 4471

原创 空间距离排序导致的异常

mysql 5.7.30 geometry 字段一次通过st_distance_sphere执行附近的人搜索没有数据返回,排查异常的过程

2022-03-20 17:23:50 3429

原创 Flink 之 sql client 调用 python udf

这里主要描述的是通过sql client来调用 python udf,以达到在sql client中使用自定义函数的目的

2022-03-20 00:03:07 967

原创 python 之 *args 和 **kwargs的区别

python 之 *args 和 **kwargs的区别

2022-03-15 00:49:51 1492

原创 mysql 事务嵌套

通过对mysql事务进行测试,还原了事务嵌套带来的后果,同时,引申出了利用savepoint来实现对事务进行部分提交的特性。

2022-03-13 23:44:55 4419

原创 cdh6.3.1集成flink1.14.0

整理了cdh6.3.1集成flink1.14.0的过程

2022-03-13 17:37:35 3060 3

原创 flink 之 checkpoint 测试

模拟flink checkpoint的恢复过程,包含了从checkpoint的设置,python脚本,及模拟job出现异常后从checkpoint恢复的过程。

2022-03-13 15:55:23 1711

原创 从一个实例分析order by 优化

MySQL在高并发下索引的选择,及出现全表扫描的现象分析

2022-03-13 12:53:12 680

原创 flink hop window测试

从实例的角度来测试一遍hop window(滑动窗口),这里使用了官方文档中窗口函数的表结构及数据,从实际操作来看滑动窗口何时开启关闭,以及watermark对窗口的作用。

2022-03-02 17:30:39 2102

原创 CDH集成Flink之sql client使用

CDH集成Flink之后,sql client 使用过程中出现拒绝连接的问题处理。

2022-03-01 11:56:36 1807

原创 Flink 双流 inner join 测试

Flink 双流 inner join 测试

2022-03-01 10:58:11 243

原创 tumble window的一个测试实例

Flink 滚动窗口(TUMBLE)示例,里面涉及了 python脚本、提交yarn作业、kafka生产数据、window、watermark等。

2022-02-18 23:31:11 1080

原创 Elasticsearch 更新之update_by_query

Elasticsearch 更新字段值之update_by_query

2022-02-16 17:06:26 4656

cdh6.3.1 FLINK_ON_YARN-1.14.0.jar

CDH6.3.1集成安装flink on yarn服务(通过parcel制作生成的csd文件) 文件名:FLINK_ON_YARN-1.14.0.jar 相关信息如下: 1. flink版本号:1.14.0 2. 系统版本:CentOS7.7 3. CDH版本:6.3.1 4. 扩展版本号:BIN-SCALA_2.11

2022-02-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除