
【RT-Thread作品展示】智能路灯电路设计
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
本项目基于RTOS RT-Thread开发,旨在设计一款高效智能路灯系统。通过优化电路设计,实现自动调节亮度、远程监控及故障预警等功能,提升城市照明管理水平和能源利用效率。
【RT-Thread作品秀】智能路灯
作者:杨满意
概述:
目前大多数的路灯采用定时功能控制开关灯时间,但四季更替导致日出日落的时间不同,若使用统一时间定时开闭灯,则会造成不必要的电力浪费。通过无线网络和根据日出日落时间来动态调节路灯开关状态的方式可以实现灵活、精准地节能管理。
开发环境:
硬件:art-pi
RT-Thread版本:V 4.0.3
开发工具及版本:MDK 5.27
RT-Thread使用情况概述:
内核部分:
调度器,信号量,消息队列。
1. 调度器用于创建多个线程来实现不同的任务;
2. 信号量用来同步不同线程的执行过程;
3. 消息队列则实现了各线程间数据传递的功能。
组件部分:SPI框架、Sensor框架及SAL套接字抽象层。
1. SPI框架被用以驱动温度传感器,提高了代码可重用性;
2. Sensor框架为上层提供统一的操作接口,简化了底层驱动开发的难度;
3.SAL套接字抽象层完成对不同网络协议栈或实现接口的封装,并向开发者提供了标准的BSD Socket API。
软件包部分:Webclient、paho_mqtt、Onenet、cJSON及at_device等。
1. Webclient提供设备与HTTP Server的基本通讯功能;
2.pahomqtt基于Eclipse paho-mqtt源码设计,实现MQTT客户端程序;
3.Onenet使RT-Thread设备能够方便地连接OneNet平台,并完成数据的发送接收、注册控制等功能;
4.cJSON是C语言实现的轻量级解析JSON格式软件包;
5.at_device支持多种AT指令集设备。
硬件框架与软件框架说明:
首先初始化硬件,通过WiFi模块接入路由器并连接到OneNET服务器。根据工作模式(手动或自动)来决定路灯开关状态:如果是手动控制,则接收来自OneNet平台的远程命令;在自动模式下则依据预设地理坐标数据计算日出/落时间,并结合实时钟信息进行判断。
软件模块说明:
1. onenet_mqtt_init_entry负责初始化onenet_mqtt,成功后释放信号量通知其他线程可以开始上传数据;
2.onenet_upload_data_entry通过获取到的信号量和邮箱中的内存地址来发送数据至OneNET云平台及上位机;
3. led_entry从实时时钟读取时间并转换为时间戳,判断工作模式是否需要开关灯。
演示效果代码已在附件中提供。比赛感悟:
陆游曾言:“纸上得来终觉浅,绝知此事要躬行。”此诗句完美地表达了我在此次比赛中获得的收获与体会。
首次接触RT-Thread平台,在此前已熟悉FreeRTOS的情况下,发现两者在多线程调度、信号量管理等方面存在相似之处。值得一提的是rtthread官方生态系统的完善性令人印象深刻,各种插件集成度高,使得开发者能够更加专注于核心功能开发而无需过多关注底层细节。
感谢主办方提供这样一个机会让我接触并学习RT-Thread这一优秀平台,这为未来的项目提供了更多可能性与选择空间。
全部评论 (0)


