一款基于AB32VG1的桌面智能坞小工具

项目简介:

我基于这个开发板制作了一款桌面小工具,它是一个小巧、功能丰富、具有实用价值的桌面物联网"控制中枢"。可以实现: 精灵播放音乐时内部有一颗呼吸灯的效果; 精灵可以通过OLED显示当前音乐名字、播放状态; 精灵可以自动连接到MQTT服务器,实现网络交互; 精灵可以通过红外遥控,实现音乐切换和暂停播放; 精灵可以通过手机连接热点配网,配置联网信息,连接 WIFI; 精灵连接有功放模块实现播放TF卡中的音乐; 精灵连接有一个RGB彩灯,在一个精致小夜灯中实现彩虹灯的效果; 精灵连接有一个灯管,实现联网控制灯管,冬天再也不用下床关灯了; 精灵配有自主设计的微信小程序端应用,通过MQTT服务器来实现和精灵的交互。

硬件说明:

整个作品各项内容均由我一人完成,涉及的技术栈有:电路图、PCB 设计,基于RT-Thread Studio 编程,MQTT服务器端搭建,数据包收发的对接,微信小程序的编写等。通过这个作品,大大提高了我对于一个产品从设计到落地的整个过程,产品版本迭代重要性的认知。

PCB的3D图:

软件说明:

软件主要分为几个线程

  • 播放器线程:挂载sd卡、载入dfs文件系统,并搜索sd 卡中的音乐文件,检测接收队列来响应上一曲、下一曲、暂停、播放等消息

  • 红外接收线程:检测红外信号

  • 串口线程:连接到ESP-01S 实现网络交互

  • OLED线程:对当前的播放状态和文件名进行显示

  • 呼吸灯、RGB彩灯线程:控制呼吸灯和rgb彩灯

代码树:

几个硬件设备都是分模块编写、耦合度较低,也较容易理解代码的用途。 整个软件的流程如下,主要是分为几个线程,通过RT-Thread来实现多线程的交互。网络端使用MQTT服务器来实现人机交互。

流程图:

MQTT.fx和微信小程序交互:

微信小程序:

代码开源地址 :gitee.com/pomin-163/d...

演示效果:

相关推荐
凤山老林6 分钟前
授权模型只会RBAC?深入 ABAC 授权模型,实现权限判断做成策略引擎
大数据·数据库·算法
geovindu9 分钟前
sql:SQL Views and Materialized Views using mysql 9.0
大数据·数据库·数据仓库·sql·mysql·数据库开发·数据库架构
梦影_23 分钟前
MySQL进阶教程(二)—— 储存过程与触发器(下)
开发语言·数据库·后端·sql·mysql·oracle·数据库开发
工业涂料百问27 分钟前
陶瓷涂料的光泽度怎么检测?20°、60°、85° 三个角度怎么选
数据库
海绵宝宝转agent31 分钟前
2026-10-21学习笔记
笔记·学习·算法
科创致远36 分钟前
ESOP 电子作业指导书车间无纸化实战评测
大数据·数据库·人工智能·制造
xiaomuzuirenzhen41 分钟前
2027车企数字化岗位项目准备:从SQL数据建模到库存分析看板
大数据·数据库·sql
Dxy123931021642 分钟前
ShardingSphere 自定义分片算法:BINARY(16) UUIDv7 哈希分片实现
算法·哈希算法
zzu123zsw1 小时前
业务拆分后的治理深水区:解构企业级微服务六大核心设计模式与高可用落真实践
微服务·设计模式·架构·高可用·微服务架构设计
鸽芷咕1 小时前
从环境搭建到敬礼动作:启元 Q1 SDK 全流程实战与 8 个实测坑排查手册
数据库·ai·机器人·sdk·启元q1