聚丰项目 > 蓝牙MESH智能LED调光
基于中科蓝讯 AB32VG1开发板和涂鸦智能的蓝牙MESH模块BT3L模组组成的智能LED调光。 它可以实现: 1、通过开发板上的按键长按进入蓝牙模块配网; 2、手机APP进行配网后可以对LED进行开关和调光,以及场景设置和定时开关; 3、同时可以通过开发板上的按键对LED进行控制,短按可以开关LED、长按对LED进行调光操作,并且按键操作后LED变化状态可以在手机AP上看到,后面可以搭配网关实现按键调节LED上传至蓝牙网关并且同步该组内所有LED跟随变化; 4、可以通过ADC检测LED的工作状态,检测LED工作不正常可以进行关断操作并上传至蓝牙网关,手机APP可以查看;
h1654155920.2009
分享h1654155920.2009
团队成员
周伟 软件工程师
RT-Thread使用情况概述:
整个方案涉及的技术有:蓝牙模块选型,RT-Thread 程序。蓝牙模块使用涂鸦智能的蓝牙MESH模块,通过串口自定义开发搭配中科蓝讯 AB32VG1开发板实现,LED使用板子自带的RGB灯,本来想弄个小功率的升压调光的小功率LED,由于时间紧张就用板载的RGB灯来实现了。通过这个作品,让我从无到有了解了RT-Thread ,第一次接触RT-Thread 碰到许多问题,好在多一一解决了。
内核部分:使用了线程、信号量、互斥量、定时器
设备驱动:
GPIO/PWM/ADC/UART/BLE 等
中科蓝讯 AB32VG1开发板通过串口连接涂鸦的蓝牙MESH模块,通过按键和串口接收的数据调节PWM占空比去控制LED的亮度,ADC检测通过跳线去模拟检测LED工作状态;
这个作品里软件模块划分的比较清晰,按键检测、串口、LED驱动、ADC检测和协议解析各个模块均独立为一个单独文件,逻辑比较清晰。
软件流程框图:
软件功能文件图:
此作品功能是一个一个堆叠上去的,首先涂鸦模块的串口协议官方有现成的,通过串口助手与蓝牙模块进行调试后再调试程序会省很多事,第一步是保证串口功能的正常,通过官方指导文件的帮助一步一步配置串口,串口功能调试成功后就移入蓝牙模块的协议解析,配置好串口接收和发送基本上就能正常和蓝牙模块通讯了。再就是配置PWM来驱动LED灯,按照官方文档进行配置即可,主要是做好蓝牙模块接收数据和PWM占空比的函数接口转换,弄好之后就能通过蓝牙模块控制LED的亮度了。按键调节和ADC检测都按照PWM的配置方式一样,做好和PWM占空比数据转换就能全部实现了。
代码地址:https://gitee.com/zhouwei00/rt.git
本作品作为智能家居控制还是挺不错的,但由于时间紧张,而且手头没有蓝牙网关,多个LED的联动控制暂未实现。