嵌入式技术论坛
直播中

张杰

7年用户 1258经验值
私信 关注
[经验]

怎样去设计一种基于rt-thread带有显示时间和天气预报功能的桌面小盒子

摘要

这个桌面小盒子是之前的东西,一直放着没有整理好。最近有空了就把他整理整理。
小盒子主要用来显示时间和天气预报,功能比较简单,其实还有很多可以玩的,懒得弄,所以就把最简单的整理出来。
软件是基于rt-thread, UI采用lvgl。

功能主要分为两个部分

第一部分--功能

功能部分主要分为两个部分,一个是NTP获取实时时间,一个是天气等信息。
NTP比较简单,RTT提供了相关API。代码如下:




第二部分--UI

UI方面我使用了LVGL,这个开始比较方便的UI框架,可移植性搞。网上的教程也比较多。
由于rt-thread的LVGL软件包比较旧,而且有些东西没有移植好,所以我自己根据我的平台重新移植一份。
根据LVGL移植流程,需要对接porting下源文件的API回调。主要包含,disp(显示)、indev(输入设备,如触摸,按键)、fs(文件系统)。而本项目只对接disp(显示)、fs(文件系统, 读取SD卡的图片资源)

其中fs的代码,文件系统我对接的dfs_posix的接口,因为我只使用读文件操作,所以直接对接部分接口,代码如下:





这个盒子的UI设计比较简单,主要实现在main_tab_hander中实现,会先调用同步一下时间和天气信息。然后创建了一个task,来更新页面信息。





效果:
一个简单的桌面小工具:
放在桌面,和PM2.5来实时监测工作环境。

更多回帖

发帖
×
20
完善资料,
赚取积分