【平头哥RVB2601创意应用开发】lite led controler
项目背景
为了克服目前工业照明系统,成本高、功能单一的问题,本次计划使用 RVB2601 开发一套新一代低成本的智能工业用照明控制器,可以实现灯具控制、语音播报灯具状态,实现作业提醒的功能。
作品简介
该作品作为一款轻量级的照明系统,和受控灯具之间使用 Lora 无线通讯技术,图形化人际交互功能开发使用 GuiLite 组件,控制器具体主要实现如下功能:
- 通过 TCP 链接阿里云,支持通过部署在阿里云的 http 服务在网页端远程控制照明灯具亮度等级、状态显示、模式切换功能
- 支持通过 sx1262 Lora 模块获取当前照明灯具的亮度等级,工作状态,以及系统的能耗信息到 OLED 显示
- 支持通过按键配合 OLED 显示屏在本地修改照明灯具的工作模式和亮度等级
- 相关对灯具的控制动作同步通过喇叭播放提示信息
系统框图
lite led controler 的系统框图为:
各部分功能说明
核心部分分别是网络通讯已经图形显示,分别在两个线程中。
- 网络线程实时接收部署在阿里云平台的数据报文,解析对应的指令完成对灯具的控制以及系统上报。
- 屏幕线程在后台维护 GuiLite 的相关资源,保证其它线程可以完成对图形的状态更新
作品源码
该项目源码分布在两个仓库:
- https://gitee.com/iysheng/lite_led_controler
- https://gitee.com/iysheng/ch2601_webplayer_demo
代码开发过程中使用 git 托管.提交记录:
视频演示
视频演示 bilibli 链接地址:RVB 2601 轻量级照明控制器
项目总结
该作品将 wifi 通信、语音播放、和实际灯具控制相结合,实现了一款轻量级的照明控制系统,实现了如下功能:
- 跟随系统状态,实现动态语音播报,包括网络连接、灯具控制,欢迎提示
- 通过 socket 直接响应部署在阿里云平台的 web 服务,完成对灯具的单个控制和整体控制
目前还未实现的功能:
- 将控灯动作通过 LoRa 发送出去
该项目使用的关键组件:
-
GuiLite:轻量级图形库
- lwip: 轻量级 socket 服务
开发该项目主要做的工作:
- 通过提交工单完成在 Linux 的开发环境(编译、烧录)搭建](http://bbs.eeworld.com.cn/thread-1202786-1-1.html)
- 使用硬件 spi 模块替换之前 oled 使用的模拟 spi 优化oled 显示驱动,同时完成 GuiLite 图形库组件的移植
- 使用 xxd 将 mp3 音频转为数组嵌入到系统中,关联系统控制灯具以及网络连接时对音频的播放
本帖最后由 iysheng 于 2022-6-5 15:22 编辑