- 博客(242)
- 收藏
- 关注
原创 Linux驱动入门——设备树详解
随着ARM芯片的流行,内核中针对这些ARM板保存有大量的、没有技术含量的文件。于是,Linux内核开始引入设备树。设备树并不是重新发明出来的,在Linux内核中其他平台如PowerPC,早就使用设备树来描述硬件了。
2025-04-02 22:46:34
792
1
原创 Linux应用 / 驱动程序崩溃调试
我们在使用 Linux 操作系统做项目的时候,当项目比较复杂,工程比较多的时候,编译运行程序很多时候会出现 bug。这个 bug 可能在运行时立马出现,导致段错误,也可能运行时直接导致程序崩溃,也可能在运行一段时间后程序崩溃,有时候遇到这种莫名其妙的错误会导致我们无从下手。那么我们就需要使用调试工具或者方法来快速定位问题,通过调试,开发者可以快速定位和修复问题,减少开发和测试的时间,提高开发效率。
2025-03-17 21:33:02
799
1
原创 基于STM32的火灾报警设备(阿里云平台)
需要实物的可以私信博主或者在文章最下方添加好友。项目实物图:项目演示视频:基于STM32的火灾报警系统(阿里云平台)
2025-03-14 11:37:47
923
1
原创 基于STM32的智慧农业大棚(阿里云平台)
需要实物的可以私信博主或者在文章最下方添加好友。最近帮别人做了个毕设,具体功能如下:1、按键:按键一:切换菜单按键二:切换选项按键三:+-或调节风扇 | 水泵 | 灯光按键四:确认 | 连接阿里云平台2、液晶屏幕显示:菜单1:主界面显示空气温湿度,土壤湿度,光照强度,检测是否超过或低于临界值菜单2:临界值调节菜单3:风扇手动开关菜单4:灯光手动开关菜单5:水泵手动开关菜单6:阿里云连接菜单界面3、土壤湿度、空气温湿度、光照强度高于或低于临界值,蜂鸣器就会响。
2025-03-14 00:15:00
1078
原创 基于STM32的家庭/室外环境监测系统(单片机毕设)
基于STM32的家庭/室外环境监测系统(单片机毕设)主控为stm32f103c8t6。使用DHT11温湿度传感器和MQ-2烟雾传感器,读取并实时刷新在0.96寸OLED屏幕上,同时通过蓝牙模块HC-05使用串口通信将数据上传到上位机(自制蓝牙APP)。可手动控制蜂鸣器以及电机作为报警器和风扇;在自动预警模式下,监测到温度高出设定的阈值后打开风扇降温;当监测到烟雾浓度高出设定阈值后将关闭风扇防止火情蔓延,并开启蜂鸣器报警,上位机同步更新报警状态。
2025-03-05 16:48:04
929
1
原创 基于 RK3568 / IMX6ULL / STM32MP157 的智能车载系统
基于 RK3568 / IMX6ULL / STM32MP157 的智能车载系统完整代码该项目的源代码适用于韦东山老师的开发板,使用韦东山老师的 RK3568 ,IMX6ULL,STM32MP157 开发板可以直接运行代码复刻,其它开发板需要自行移植,原理都一样。该项目通过上位机 QT 界面实现简易车载系统,能够进行 GPS 定位,天气预报,音乐播放,视频播放,环境监测等功能。
2025-03-03 19:29:53
997
2
原创 将QT移植到RK3568开发板
在这里使用的是韦东山老师的RK3568开发板,接下来我将演示如何移植QT程序到该开发板。我们需要先搭建开发环境,编译 rk3568 Linux SDK资源包。SDK包含了开发rk3568平台所需的各种软件组件、源代码、工具、库、文档以及示例代码等。这些资源旨在帮助开发人员基于rk3568芯片进行高效的软件开发、系统定制以及应用程序开发。下面将进行的操作皆在 Ubuntu20.04 上执行。
2025-03-01 12:48:15
1438
3
原创 基于 IMX6ULL 的环境监测自主调控系统
基于 IMX6ULL 的环境监测自主调控系统完整代码该项目的源代码适用于韦东山老师提供的出厂镜像,使用韦东山老师的 IMX6ULL 开发板可以直接运行代码复刻,其它开发板需要自行移植。作者在去年实习期间做了与 Linux 相关的项目,在这里我用韦东山老师的 IMX6ULL 开发板把用到的关键技术展现出来,主要用到 Linux 驱动,QT界面设计,JsonRPC 前后台分离。该项目主要使用 JsonRPC 把程序拆分为前台QT和后台APP,实现远程数据采集,设备控制和设备自动化运行等功能。
2025-02-24 23:59:44
1048
原创 Linux 驱动入门(8)—— SPI驱动
常见示例:引脚含义DO(MOSI)SPI主控用来发出数据,SPI从设备用来接收数据DI(MISO)SPI主控用来发出数据,SPI从设备用来接收数据SCKSerial Clock,时钟CSChip Select,芯片选择引脚数模转换器 (DAC) 是一种与模数转换器功能相反的器件,可以将数字形式的数据转换为相应的模拟电压信号。通用 DAC 模块是 12 位字转换器,带有两个支持立体声音频的输出通道。
2025-02-24 08:00:00
1097
原创 Linux 驱动入门(7)—— I2C驱动
I2C在硬件上的接法如下所示,主控芯片引出两条线SCL,SDA线,在一条I2C总线上可以接很多I2C设备,我们还会放一个上拉电阻(放一个上拉电阻的原因在后面有说到)。怎么通过I2C传输数据,我们需要把数据从主设备发送到从设备上去,也需要把数据从从设备传送到主设备上去,数据涉及到双向传输。举例:设备地址为 0x50 的EEPROM,要读取它里面存储地址为 0x10 的一个字节,应该构造几个i2c_msg?当它就绪后,就可以不再驱动三极管,这是上拉电阻把SCL变为高电平,其他设备就可以继续使用I2C总线了。
2025-02-23 08:00:00
1046
原创 Linux 驱动入门(6)—— IRDA(红外遥控模块)驱动
红外遥控被广泛应用于家用电器、工业控制和智能仪器系统中,像我们熟知的有电视机盒子遥控器、空调遥控器。红外遥控器系统分为发送端和接收端,如图下图所示:发送端就是红外遥控器,上面有许多按键,当我们按下遥控器按键时,遥控器内部电路会进行编码和调制,再通过红外发射头,将信号以肉眼不可见的红外线发射出去。红外线线虽然肉眼不可见,但可以通过手机摄像头看到,常用该方法检查遥控器是否正常工作。
2025-02-22 21:30:37
1051
原创 Linux 驱动入门(5)—— DHT11(温湿度传感器)驱动
DHT11 是一款可测量温度和湿度的传感器。比如市面上一些空气加湿器,会测量空气中湿度,再根据测量结果决定是否继续加湿。DHT11 数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,具有超小体积、极低功耗的特点,使用单根总线与主机进行双向的串行数据传输。DHT11测量温度的精度为±2℃,检测范围为-20℃-60℃。湿度的精度为±5%RH,检测范围为5%RH-95%RH,常用于对精度和实时性要求不高的温湿度测量场合。
2025-02-22 20:24:38
749
原创 QT项目——音乐播放器
音乐播放器完整代码本项目主要涉及 Qt 界面设计、文件与目录操作、图像处理与绘制、多媒体播放功能、Qt 信号与槽等的应用,通过扫描指定目录下的 MP3 歌曲文件以及对应的 LRC 歌词文件,将歌曲添加到播放列表显示,进行歌曲的操作,包括曲目切换、循环播放、播放/暂停等操作,同时通过图像处理技术,实现专辑封面的加载、缩放以及添加圆角效果等展示功能,增强界面交互性与视觉体验。
2025-02-20 14:55:33
1701
原创 QT项目——天气预报
本项目主要涉及 Qt 界面设计、HTTP 通信、JSON 数据解析、自定义控件绘制温湿度曲线、Qt 信号与槽等的应用,通过调用天气预报API解析 JSON 数据获取未来七天的温湿度、风力强度、天气状态等信息,最后显示在Qt UI界面。
2025-02-20 03:00:00
1447
原创 使用JsonRPC实现前后台独立开发与通信
JSON(JavaScript Object Notation,JavaScript 对象表示法)是基于 ECMAScript 的一个子集设计的,是一种开放标准的文件格式和数据交换格式,它易于人阅读和编写,同时也易于机器解析和生成。我们主要通过服务器和客户端进行通信,在服务器中,我们注册客户端用到的函数,通过接收客户端的 RPC 请求,以 JSON 格式返回客户端需要的 RPC 结果,这样子我们就可以将前后台分离出来。这样,前台、后台程序可以分别独立开发,降低相互之间的依赖。
2025-02-19 10:00:00
1051
原创 网络通信和网络编程应用示例
所有的数据传输,都有三个要素:源、目的、长度。怎么表示源跟目的呢?如下图:所以,在网络传输中需要使用“IP和端口”来表示源或目的。domain 是网络程序所在的主机采用的通讯协族(AF_UNIX 和 AF_INET 等)。AF_UNIX 只能够用于单一的 Unix 系统进程间通信,而 AF_INET 是针对 Internet 的,因而可以允许远程通信使用。type 是网络程序所采用的通讯协议(SOCK_STREAM,SOCK_DGRAM 等)。
2025-02-19 00:03:55
705
原创 QT项目——网络调试助手
网络调试助手用 QT 模拟网络调试助手的服务器和客户端,可以进行数据收发。服务器:private:// 获取文本编辑器的光标位置,并将其存储在cursor变量中。// 创建一个QTextCharFormat对象,用于设置文本格式。// 使用setForeground方法设置文本的前景色为传入的颜色。// 将格式化后的字符格式应用到光标上。// 使用insertText方法在光标位置插入传入的字符串str。
2025-01-31 16:59:52
1552
1
原创 QT项目——串口调试助手
QT_串口调试助手支持选择串口,波特率,数据位,校验位,停止位,流控支持发送和接收数据支持发送新行和自动换行支持清空和保存接收的数据支持定时或循环发送特定文本支持保存,载入和重置文本private:// 定时器按钮处理// 创建指针列表// 定时器按钮处理// 遍历按钮和文本i <= 9;i++){if(btn){// 将信号发送者转换为QPushButton// 获得对应按钮的行编辑器和复选框名称if(btn){
2025-01-27 11:54:43
970
3
原创 基于STM32的智能晾衣杆(单片机毕设)
按键结合液晶屏幕并通过按键设置光照强度和湿度阈值,实现按键切换功能。通过光敏传感器采集当前的光照强度,显示到显示屏上面。通过DHT11传感器采集温湿度,显示到显示屏上面。液晶屏显示功能提醒词、系统的状态、已设置的参数等。如果湿度大于设置阈值,蜂鸣器提醒可能下雨。当湿度小于阈值并且光强大于阈值,也就是天晴,自动打开晾衣杆(LED)。语音播报模块进行对应语音的播报。联网,可以在手机app中查看环境状态以及手动控制。实物图:视频演示:基于STM32的智能晾衣杆二、硬件实现。
2024-12-05 14:00:00
1520
1
原创 基于STM32的火灾报警系统(单片机毕设)
该项目实现内容如下:系统以STM32微控制器为核心,通过集成多种火灾探测传感器、通信模块和报警装置,构建了一个完整的火灾报警系统。系统架构主要包括以下几个部分:- **主控芯片**:STM32F103系列微控制器,负责处理所有逻辑和控制任务。- **火灾探测传感器**:包括烟雾传感器、火焰传感器、温度传感器等,用于实时监测楼宇内的火灾隐患。- **通信模块**:通过Wi-Fi或以太网等通信方式,实现系统与云端服务器或本地监控中心的数据交互。
2024-12-05 04:15:00
4730
原创 基于STM32的智能电子称(单片机毕设)
需要实物的可以私信博主或者在文章最下方添加好友。目录一、项目介绍和演示视频二、硬件实现1. 硬件资料2. PCB图以及原理图三、软件实现1. 源码框架1、各模块初始化2、初始化模块状态3、检测蓝牙模块是否发送消息4、扫描按键5、检测是否超出电子称的最大重量6、刷新重量,并时刻根据商品类型刷新价格来显示在oled上7、根据按下的键值或者蓝牙模块发来的命令,进行对应事件的处理2. 源码示例实现内容如下:本设计采用单片机作为主控制芯片,通过按键和微型屏幕来实现人机交互。同时可以通过无线通讯模块来实现信息的传递。
2024-12-04 23:48:03
1440
原创 基于FreeRTOS+STM32的多功能手表(单片机毕设)
多功能手环项目,包括多级菜单、温湿度显示、闹钟设置、手电筒功能、日历显示、设置菜单。源码都在资源包里面,下载即可烧录,需要的自行下载即可!
2024-12-04 18:24:03
1445
原创 基于STM32的智能家居语音系统(单片机毕设)
基于STM32构建的智能家居语音控制系统,采用ESP8266(01s)作为关键的WiFi模块。这一系统通过机智云开发平台实现与ESP8266的高效通信,遵循平台规范的协议,确保数据的可靠传输。系统支持WIFI_AIRLINK_MODE,实现一键智能配网,简化用户的设置过程。通过专用的手机APP,用户可以实时监测家中的环境参数,包括温度、湿度、气体浓度和光照强度等。此外,用户还可以便捷地控制家中的灯光与风扇开关,将智能家居的便捷性与舒适性完美结合,提升了现代居住空间的智能化体验。
2024-12-03 11:32:50
3581
3
原创 基于STM32的智能存储物流柜(单片机毕设)
目录一、项目简介和视频演示二、硬件实现1. 具体功能2. 硬件框图和原理图3. 主控部分4. 驱动模块4.1 SG90 180°舵机4.2 LED发光二极管4.3 语音播报模块JQ8900-16P5. 显示模块5.1 0.96寸OLED屏幕5.2 2.8寸TFTLCD屏幕6. 输入模块6.1 4x4矩阵按键6.2 触摸模块三、软件实现1. 上位机2. 软件流程介绍2.1 工程文件夹介绍2.2 程序实现流程。
2024-12-03 10:17:52
2622
原创 QT项目——记事本
支持文本创建,打开,保存,关闭的功能UI样式美化添加打开快捷键,添加保存快捷底部显示行列号及文本字符编码Ctrl加鼠标滚轮支持字体放大缩小MainWindows还是WidgetMainWindow:这是一个包含完整菜单栏、工具栏和状态栏的主窗口应用程序框架。它适合于更复杂的应用程序,需要这些额外的用户界面元素来提供丰富的功能和交互。Widget:这通常是一个简单的窗口,没有内置的菜单栏、工具栏或状态栏。它适合于更简单或专用的应用程序,不需要复杂的用户界面组件。Widget w。
2024-12-02 15:47:32
718
1
原创 自定义控件 QPaint 使用示例
QPainter 是 Qt 库中用于在屏幕上进行绘画的类。它提供了各种绘制功能,比如画线、画图形、画文本等。初始化 QPainter:首先,您需要一个 QPaintDevice ,比如一个 QWidget 或 QPixmap ,然后使用它来初始化 QPainter 对象。// 假设在 QWidget 的子类中设置画笔和画刷:您可以设置画笔(用于描边)和画刷(用于填充)的颜色、样式等。// 设置画笔颜色为蓝色// 设置画刷颜色为黄色。
2024-10-28 20:10:38
1187
2
原创 QT 事件 Event 应用
众所周知Qt是一个基于C++的框架,主要用来开发带窗口的应用程序(不带窗口的也行,但不是主流)。我们使用的基于窗口的应用程序都是基于事件,其目的主要是用来实现回调(因为只有这样程序的效率才是最高的)。所以在Qt框架内部为我们提供了一些列的事件处理机制,当窗口事件产生之后,事件会经过:事件派发 -> 事件过滤->事件分发->事件处理几个阶段。
2024-09-16 18:21:35
1120
2
原创 在Linux开发板上使用MQTT
可以观看b站韦东山老师的课程,全网第一!!!参考资料:kawaii-mqtt源码:GitHub - longtengmcu/kawaii-mqtt: 基于socket API的MQTT客户端,以极少的资源实现qos2服务质量,并且实现mbedtls支持,此仓库是专门为RT-Thread做的软件包,原始仓库位于:https://github.com/jiejieTop/mqttclient博客你不得不看的图文并茂的MQTT协议通信过程!!!MQTT协议简介及协议原理mqttclient设计与实现方式。
2024-08-23 09:22:03
1608
2
原创 V4L2应用程序开发
该项目是韦东山老师Linux入门基础课程的项目,在这里我用的是IMX6ULL开发板。韦东山老师十多年前就录了这个Linux相机项目课程了,他有一句话说得很好,悦己之作,方能悦人,以至于韦东山老师的课程质量永远是嵌入式顶流的存在,虽说该项目可能已经烂大街,但是放到现在还是秒杀众多培训机构,经典永不过时,韦老师的视频值得大家学习!
2024-08-19 15:49:32
1449
1
原创 Linux 驱动入门(4)—— SR04(超声波)驱动
在这里主要记录学习韦东山老师Linux驱动课程的笔记,韦东山老师的驱动课程讲的非常好,想要学习驱动的小伙伴可以去b站学习他的课程。超声波测距模块是利用超声波来测距。模块先发送超声波,然后接收反射回 来的超声波,由反射经历的时间和声音的传播速度340m/s,计算得出距离。SR04 是一款常见的超声波传感器,模块自动发送 8 个 40KHz 的方波,自动检测是否有信号返回,用户只需提供一个触发信号,随后检测回响信号的时间长短即可。
2024-08-16 00:30:00
1004
1
原创 Linux 驱动入门(3)—— SR501(人体红外模块)驱动
人体都有恒定的体温,一般在 37 度,所以会发出特定波长 10uM 左右的红外线,被动式红外探头就是靠探测人体发射的 10uM 左右的红外线而进行工作的。人体发射的 10uM 左右的红外线通过菲泥尔滤光片增强后聚集到红外感应源上。红外感应源通常采用热释电元件,这种元件在接收到人体红外辐射温度发生变化时就会失去电荷平衡,向外释放电荷,后续电路经检测处理后就能产生报警信号。人体红外模块是一种能够检测人或动物发射的红外线而输出电信号的传感器。广泛应用于各种自动化控制装置中。
2024-08-15 00:00:00
1065
1
原创 Linux 驱动入门(2)—— LED驱动
在这里主要记录学习韦东山老师Linux驱动课程的笔记,韦东山老师的驱动课程讲的非常好,想要学习驱动的小伙伴可以去b站学习他的课程。
2024-08-13 10:32:36
1445
1
原创 Linux 驱动入门(1)—— hello驱动
在这里主要记录学习韦东山老师Linux驱动课程的笔记,韦东山老师的驱动课程讲的非常好,想要学习驱动的小伙伴可以去b站学习他的课程。
2024-08-12 15:43:27
972
1
原创 将QT移植到IMX6ULL_Mini开发板
在这里使用的是韦东山老师的IMX6ULL_Mini开发板,接下来我将演示如何移植QT程序到该开发板。
2024-07-22 09:25:53
1555
3
原创 LVGL——基础对象
座标父对象子对象主要风格属性,例如点击启用、拖动启用等。在面向对象的思想中,它是继承 LVGL 中所有其他对象的基类。这尤其有助于减少代码重复。基础对象的功能也可以与其他小部件一起使用。例如 lv_obj_set_width(slider,100)基础对象可以直接用作简单的小部件。然后就是矩形。//创建一个对象//创建一个基础对象//lv_obj_create函数展开return obj;//lv_label_create函数展开return obj;
2024-07-18 00:00:00
1089
1
原创 LVGL初识
LVGL是由Gabor Kiss-Vámosi于2016年创建的一个开源项目,目前由来自世界各地的志愿者共同维护和开发。LVGL是用C语言编写的,遵循MIT协议,可以自由地使用和修改。LVGL支持多种操作系统,例如Linux、Windows、RTOS等,也可以在开发板上运行。LVGL还支持多种显示器驱动器和触摸屏驱动器,可以与不同大小和分辨率的显示器兼容。
2024-07-15 09:40:22
1996
1
原创 量产工具一一业务系统(六)
量产工具一一显示系统(一)-优快云博客量产工具一一输入系统(二)-优快云博客量产工具一一文字系统(三)-优快云博客量产工具一一UI系统(四)-优快云博客量产工具一一页面系统(五)-优快云博客接下来我们来实现业务系统框架,也就是把前面所实现的系统框架全部整合到一起实现功能。
2024-07-10 00:00:00
1166
1
原创 量产工具一一页面系统(五)
量产工具一一显示系统(一)-优快云博客量产工具一一输入系统(二)-优快云博客量产工具一一文字系统(三)-优快云博客量产工具一一UI系统(四)-优快云博客接下来我们来实现页面系统框架。
2024-07-08 00:00:00
547
1
基于STM32火灾报警器-阿里云版本,包含代码,ESP8266烧录固件,具体介绍看我的博客
2025-03-11
基于STM32F103的阿里云智能农业灌溉系统,包含代码和ESP8266烧录固件,具体看我博客介绍
2025-03-11
基于STM32的家庭/室外环境监测系统(单片机毕设),包含源码,讲解视频,蓝牙APP,原理图,具体介绍可看我博客
2025-03-05
基于 RK3568 / IMX6ULL / STM32MP157 的智能车载系统,具体可看我的博客介绍
2025-03-03
QT项目-天气预报完整代码,文章解析:https://blog.youkuaiyun.com/m0-74712453/article/details/144778215
2025-02-20
在线教学平台,集成Scratch、ScratchJr、Python教学工具 包含课程、班级、作业、权限、赛事、社区等
2025-01-26
面向MCU的小型前后台系统 此项目的设计思想是:功能模块与硬件高度解耦,提高代码模块的可复用性;不使用复杂的数据结构和语法以提高不同硬件平台和编译器之间的兼容性,实现工程在不同MCU之间的快速移植;提
2025-01-26
前端性能分析和报告工具,能够分析网站的资源构建性能和页面性能
2025-01-26
lilishop电商商城系统 商城移动端,使用Uniapp开发,可编译为所有移动终端项目及各小程序 java商城基于SpringBoot 开源商城,更有微服务商城、商城中台、SAAS商城
2025-01-26
基于 Cocos Creator 3.x 版本开发的游戏框架,此项目为 Oops Framework 教程项目,如果使用框架制作游戏项目可下载 oops-game-kit 游戏项目模板开发
2025-01-26
一个精简的基于SSM框架开发的酒店后台管理系统,适用课程Demo或毕业设计,简单易读迅速上手
2025-01-26
java免费MIT开源商城,小程序、公众号管理,采用Java+spring boot3+vue3+element-plus开发;uniapp多端覆盖、微信支付宝、多页面拖拽装修、多语言
2025-01-26
ZL503-STM8S005开源设计的多功能空气检测仪(甲醛、PM2.5、温湿度检测).zip
2024-12-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人