- 博客(52)
- 资源 (1)
- 收藏
- 关注
原创 基于Luma LCD驱动的树莓派SPI显示屏电阻触摸屏校准方法
本文介绍了将 2.8 英寸树莓派 SPI 电阻触摸屏显示屏连接树莓派 Zero 2W 作为外接显示屏的过程。因安装无头树莓派系统且官方驱动不如 Luma LCD 方便,选择 Luma LCD 作驱动。给出了产品主要参数、接口定义。提供了校准电阻触摸屏的 python 代码,运行后生成校准参数文件。还展示了绘制触摸点的代码,测试发现触摸数据不受屏幕旋转角度(rotate)影响,且方向与 rotate=3 时显示坐标系一致。函数 map_touch_to_screen () 可在屏幕旋转时返回触摸坐标。
2025-04-24 12:28:23
952
原创 修改ESP32CAM的示例CameraWebServer里的camera_index.h的方法
本文默认已掌握对 ESP32CAM 烧录及访问,介绍其访问界面生成原理,解释 camera_index.h 与常见 html 不同之处,详细阐述修改 html 界面的方法,包括转换、编辑、再转换等步骤,还展示了修改后的界面 。
2025-04-11 17:31:42
783
原创 ESP32-CAM在PlatformIO IDE里实现OTA的几个小TIPS
在用PlatformIO IDE实现ESP32 CAM的OTA时,有以下小技巧
2025-03-27 19:08:44
315
原创 在树莓派上如何使用 Vosk检测唤醒词
Vosk 是一个轻量级的开源语音识别工具包,能在树莓派上高效运行。Vosk 本身主要是用于语音识别,不过可以借助它来实现简单的唤醒词检测功能。按照以上步骤操作,你就可以在树莓派上使用 Vosk 进行语音识别了。如果你想实现实时语音识别,可以结合。首先,你需要更新系统软件包列表,并且安装一些必要的依赖库。Vosk 支持多种语言,你需要根据自己的需求下载对应的语言模型。下载适合树莓派的模型。例如,若要进行中文唤醒词检测,可下载中文模型。是 Python 开发所需的头文件,则是用于音频输入输出的库。
2025-03-21 22:46:52
910
原创 如何在电脑上使用 Jupyter Notebook 通过 SSH 远程连接树莓派Zero
有无数种方式通过SSH远程连接树莓派,但对于树莓派Zero 2W这种硬件资源有限的板子,因为内存有限Pycharm干脆不能通过SSH连接树莓派Zero 2W。VScode通过SSH连接时,也会因为资源有限时常断线。因此,我们就要用轻量级的编辑器Jupyter Notebook来实现远程连接。
2025-03-14 14:06:24
572
原创 使用Flask和OpenCV 实现树莓派与客户端的视频流传输与显示
文章聚焦计算机视觉和物联网领域,详细介绍利用picamera2库、Flask 框架以及 OpenCV 库,实现树莓派与客户端间视频流传输与显示的方法。首先阐述前期硬件与软件准备工作,涵盖树莓派和客户端电脑。接着给出树莓派端作为视频流服务器的代码及操作步骤,包括摄像头配置、代码编写与运行等。最后说明客户端电脑通过 Python 代码及浏览器接收视频流的方式,包含代码实现、操作流程以及浏览器兼容性问题处理等内容 。
2025-03-14 00:23:41
1058
原创 ESP32重要库示例详解(四):获取NTP时间之time库
本文介绍了如何使用Arduino的Time库和WiFi库实现精确时间管理与NTP同步。通过一个示例项目,展示了如何配置WiFi连接、设置NTP服务器参数,以及获取和显示本地时间。在项目中,设备连接到指定的WiFi网络后,使用configTime()函数同步阿里云NTP服务器的时间。主循环中,每秒更新并打印一次时间。这个方法适用于需要时间同步的物联网应用,如智能设备或自动控制系统,提高了项目的准确性和实用性。
2024-05-14 17:10:53
2427
原创 ESP32重要库示例详解(三):按键之avdweb_Switch库
avdweb_Switch库简化了Arduino中处理按钮和开关的事件。在Arduino IDE或PlatformIO中安装库后,将按钮、切换开关和蜂鸣器连接到相应引脚。库支持事件驱动,如按下、释放、长按、双击等,内置防抖功能,提供灵活的回调函数。示例代码展示了如何创建Switch对象并处理各种事件。该库适用于智能家居、教育、游戏和艺术装置等场景,简化了交互设计。
2024-05-14 00:30:29
1428
原创 ESP32重要库示例详解(二):定时器之Ticker/TickTwo库
在Arduino开发中,定时器用于按特定间隔执行任务,本文讲解如何使用Ticker库管理多个定时器。在Arduino IDE中,ESP32自带Ticker位于特定路径,而自装版本可能引发冲突。解决方法包括删除自带Ticker或使用TickTwo库。PlatformIO IDE的Ticker位置不同,但不存在名称冲突问题。示例代码创建五个Ticker对象,展示了如何调整间隔时间和处理冲突
2024-05-13 16:31:42
1770
原创 ESP32重要库示例详解(一):EEPROM之Preferences库
ESP32的EEPROM模拟功能利用闪存空间,方便地模拟传统EEPROM,提供安全、高效的存储方案。需要注意的是,EEPROM 具有一定的擦写寿命限制,在使用时需合理规划以避免过度擦写导致的寿命问题。当将前面的代码烧录到ESP32后,你会发现无论你断电,还是重新烧录上述代码,counter的值都会一起累加。库,我们可以方便地进行数据的读写。集成在芯片内部:作为 ESP32 微控制器的一部分,使用较为方便,无需额外的硬件。再重新烧录前面的重启次数统计的代码,counter的内容就会重新从零开始。
2024-05-11 19:07:07
2910
原创 ESP32引脚入门指南(七):从理论到实践(IIC)
本文介绍了ESP32的IIC总线特性,包括主机与从机模式、多功能引脚、通信速率和从机寻址。通过IIC,ESP32可与外围设备如传感器和OLED屏幕进行通信。示例代码展示了如何使用Arduino IDE和Adafruit_SSD1306库驱动SSD1306 OLED屏幕,实现文本显示,同时提醒注意引脚配置、设备地址和硬件连接。
2024-05-11 12:42:03
4266
原创 ESP32引脚入门指南(六):从理论到实践(UART)
UART 是一种全双工通信协议,允许数据同时在两个方向上传输。在ESP32中,UART0引脚连接到USB到串行转换器,用于烧录和调试。因此,不建议使用UART0引脚作其它用途。TX (发送):通常使用GPIO1(UART0_TXD)或GPIO3(UART0_TXD备用)RX (接收):通常使用GPIO3(UART0_RXD)或GPIO1(UART0_RXD备用)ESP32开发板上,UART1引脚是为集成闪存芯片保留的。TX (发送):GPIO9(UART1_TXD)
2024-05-10 18:32:53
4214
原创 ESP32引脚入门指南(五):从理论到实践(SPI)
ESP32 微控制器提供HSPI和VSPI两个独立SPI接口,用于高速串行通信。这两个接口不是SPI的不同形式,而是具有不同默认引脚的SPI主机接口。HSPI和VSPI的性能主要取决于配置参数、硬件设计和从设备能力,而非接口名称。使用时,注意选择无冲突的引脚,保持主从设备时序一致,以及正确管理片选信号。这两个接口为并行通信提供了灵活性,选择哪个取决于硬件布局和应用需求。
2024-05-10 17:00:44
4865
原创 ESP32引脚入门指南(四):从理论到实践(PWM)
ESP32作为多功能微控制器,其内置的LEDC模块支持16个可配置PWM通道,适用于LED调光、电机控制等。本文指南通过Arduino示例,详细介绍如何在ESP32的GPIO 32上实施PWM控制,调整LED亮度。内容涵盖硬件准备、软件设置、代码解析及注意事项,特别强调了限流电阻的计算与选择,确保安全高效的应用实现。掌握ESP32的PWM功能,将极大拓展你的物联网项目设计能力。
2024-05-10 14:09:16
6661
原创 ESP32引脚入门指南(三):从理论到实践(Touch Pin)
ESP32集成了多达10个(或更多,依据具体型号)可配置的Touch引脚(如下图),能够感知轻微的电容变化,从而实现非机械式的触摸控制。这些引脚可以配置为检测触摸事件,非常适合于构建低功耗、无按键的用户界面。ESP32的Touch Pin功能为开发者提供了强大的触控接口,简化了人机交互设计。通过本文的指引,你已掌握基本的触控实现方法。下一步,不妨将此技术应用于创意项目中,如智能家居控制面板、交互式艺术装置等,让设备更加智能化、人性化。
2024-05-09 23:38:00
1626
原创 ESP32引脚入门指南(二):从理论到实践(DAC)
探索ESP32的DAC功能:ESP32微控制器集成两个12位DAC通道,常用于模拟电压输出。在Arduino IDE中轻松实现,只需定义DAC引脚(如#define DAC_PIN 25),初始化串口,然后在loop()函数中利用dacWrite()逐步输出0至3.3V电压。注意电压精度受限于8位分辨率,实际应用中可能需考虑负载效应和噪声抑制。动手实践,从理论走进ESP32 DAC的奇妙世界,提升项目控制灵活性。分享你的发现,加入开发者社群,共促进步。
2024-05-09 23:16:22
2045
1
原创 基于FreeRTOS的ESP32环境监测系统:利用Arduino框架实现SD卡数据记录与FTP服务器集成(二)---记录文件管理
在我的上篇文章中我把所有的温湿度数据都写到一份CSV文件中,这种会造成该文件越来越大,给系统读写带来压力,还会有一次读写错误后,整份纪录丢失的风险。因此,我将记录文件根据尺寸大小进行拆分。
2024-04-28 15:41:14
1309
原创 基于FreeRTOS的ESP32环境监测系统:利用Arduino框架实现SD卡数据记录与FTP服务器集成(一)
ESP32项目基于Arduino,集成FreeRTOS实现实时任务调度。创建多个任务(如环境监测、CSV记录写入与读取)并设置优先级,确保高效并发处理。采用互斥锁保护SD卡、环境数据等共享资源,防止数据竞态。利用定时器触发周期性环境数据采集。结合FreeRTOS任务管理与Arduino编程便利性,构建稳定、高效的环境监测系统,实现数据实时采集、存储、远程访问与本地显示。
2024-04-26 23:23:03
1498
原创 ESP32环境下基于SD卡与FTP实现温湿度数据采集与存储
本篇文章将介绍如何利用ESP32开发板结合SD卡与FTP服务器功能,实现温湿度数据的实时采集、存储与远程访问。
2024-04-24 12:57:08
1392
1
原创 ESP32与SD卡交互实现:文件读写实战与初始化详解及引脚定义
本代码实现ESP32与SD卡的交互,包括定义SPI引脚、创建自定义SPI类实例、编写WriteFile与ReadFile函数进行文件读写。setup函数初始化串口、SPI、SD卡,向“/test.txt”写入“myfirstmessage”,读取并打印其内容。loop函数留空待扩展。
2024-04-22 16:54:17
5691
1
原创 ESP32引脚入门指南(一):从理论到实践(ADC)---用ESP32的ADC引脚,结合分压电路测量电压
该代码基于ESP32(Arduino库)实现ADC(模拟数字转换器)数据采集。它配置ADC参数、获取校准特性,循环采样并计算平均值,将ADC读数转换为电压,考虑分压电阻影响,计算实际电压值,最后通过串口定期输出测量结果。
2024-04-19 00:32:44
3127
2
原创 在Arduino给自己的SSD1306 OLED显示定制Logo或者图片
我在使用Arduino上的SSD1306显示屏时,基本都用使用Adafruit的SSD1306库,但是Adafruit的开机logo实在没特色(如下图),如果在开机时,让自己的项目上显示自己的定制logo,甚至是照片(如果你自认为很帅),有点小酷吧。通过阅读本文件,你将能自己设计简易Logo,并在你的OLED屏上显示出来。
2024-01-31 16:36:47
2777
原创 Ubuntu apt update提示:GPG 缺少公钥解决方法
提示:GPG 缺少公钥以及404 Not Found,如下面所示,有mirror.bwbot.org 和ppa.launchpadcontent.net两个源出现问题。无意间在“软件和更新”里的“其它软件”的选项卡里发现了这两个源的地址。我试过之后依然无法解决我的问题。好多网友用后面的方法解决。将其去掉勾选, 重启.
2024-01-25 00:23:01
1983
原创 树莓派,mediapipe,Picamera2利用舵机云台追踪人手(PID控制)
当人手移动时,摄像头通过控制两个伺服电机(分别是偏航和俯仰)把大拇指指尖放到视界的中心位置,本文采用了PID控制伺服电机。
2023-12-25 23:35:28
1461
原创 树莓派安装mediapipe方法
MediaPipe 解决方案可跨多个平台使用。每个解决方案都包含一个或多个模型,您也可以为某些解决方案自定义模型。以下列表显示了每个受支持平台可用的解决方案以及您是否可以使用 Model Maker 来自定义模型:现在在树莓派上安装mediapipe, python可以支持几乎全部解决方案。
2023-12-24 18:28:56
3206
4
原创 树莓派,opencv,Picamera2利用舵机云台追踪人脸(PID控制)
当人脸移动时,摄像头通过控制两个伺服电机(分别是偏航和俯仰)把该人脸放到视界的中心位置,本文采用了PID控制伺服电机。
2023-12-22 00:44:32
3222
4
原创 树莓派,opencv,Picamera2利用舵机云台追踪特定颜色对象(PID控制)
当物体移动时,摄像头通过PID控制两个伺服电机(分别是偏航和俯仰)把该物体放到视界的中心位置,在这里追踪的是一支黄色的铅笔。
2023-12-21 16:41:42
1357
5
原创 树莓派,opencv,Picamera2利用舵机云台追踪人脸
当人脸移动时,摄像头通过控制两个伺服电机(分别是偏航和俯仰)把该人脸放到视界的中心位置。(备注:没有采用PID控制伺服电机)
2023-12-11 15:43:50
1557
原创 树莓派,opencv,Picamera2利用舵机云台追踪特定颜色对象
当物体移动时,摄像头通过控制两个伺服电机(分别是偏航和俯仰)把该物体放到视界的中心位置,我在这里追踪的是一支红色的铅笔。
2023-12-08 17:01:13
2018
原创 用numpy和PIL生成马赛克
其实生成马赛克的方法有很多种,最简单的方法是用Opencv来生成,用Opencv生成马赛克的方法会在文末列出,只有几行代码。以下是实现的代码,重要的位置用中文注释。
2023-03-23 18:52:46
385
原创 Picamera2初体验(四):延时摄影
通过使用Picamera2的set_controls()设置帧率,和capture_request()方法保存图像,来实现延时摄影的效果,具体细节见下面的代码和注释
2023-02-27 17:05:20
957
原创 Picamera2初体验(三):视频叠加时间戳文本
图像内容如下,可以通过调整cv2.putText内的参数灵活设置文字内容。通过导入OpenCV,将时间戳叠加到图像上,并保存图像。
2023-02-27 15:51:09
621
原创 Picamera2初体验(二):使用摄像头拍摄照片和视频
正如我们在上面看到的,Picamera2 具有一些高级且非常方便的功能,可用于拍照和录制视频。使用 Picamera2 时,安装其他包通常很有用。为了方便起见,我们在这里列出一些常见的。
2023-02-27 11:27:08
3723
原创 Picamera2初体验(一):简介
Picamera2 是一个 Python 库,可以方便地访问树莓派的相机系统。它适用于使用专用的扁平线直接连接到树莓派CSI连接器上的相机
2023-02-27 11:26:06
2950
3
原创 Windows里配置WSL2、ROS2、VScode
Windows里配置WSL2、ROS2、VScode,实现用Windows下的VSCode对WSL2里Ubuntn系统中的ROS2开发
2022-10-22 20:03:24
1395
原创 用手机通过蓝牙控制Processing中的坦克移动
通过App Inventor2开发一款手机控制程序,点击这个手机程序上的按键后,通过蓝牙发送命令给连接到Arduino的蓝牙模块,Arduino再将接收到的命令通过串口发送给Processing,来实现对Processing里的一个小坦克的运动控制。...
2022-06-17 19:17:06
844
原创 Arduino与Processing串口通信(split函数)
把Arduino产生的随机坐标,通过串口发送给processing,然后画出对应点
2022-06-05 11:56:56
1066
App inventor2通过蓝牙控制Arduino Uno LED开关
2023-02-23
蓝牙控制App inventor2源文件
2022-06-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人