2082|6

337

帖子

2

TA的资源

纯净的硅(初级)

楼主
 

【平头哥Sipeed LicheeRV 86 Panel测评】- 7 基于waft的家居控制应用 [复制链接]

  本帖最后由 我爱下载 于 2022-5-2 14:13 编辑

基于WAFT的家居控制

——测试项目

    项目测试的硬件基于平头哥LeechRV 86开发板,采用waft系统完成软件开发,项目采用客户端-服务器模式架构。

    项目以waft示例程序横向列表Demo为基础,开发了两种类型画面,建立了5个场景,分别为天气预报展示画面、厨房监视控制画面、卧室监视控制画面、客厅监视控制画面、门廊监视控制画面。

    项目建立一个基于python的服务器,用来为设备提供数据和服务支持。

1、服务器建立

为了便于后面画面的描述,这里首先介绍一下简易服务器。

服务器采用Python建立了支持CGI的简易服务器,服务器支持提供文件和执行CGI脚本程序。

    服务器下面包含三个目录和一个服务器启动文件,分别为文件夹cgi-bin、ico、img和pywebserver.py文件。

    img文件夹中存放了主画面所需的图片文件。

    ico文件夹中存放了开发板中显示的一些图标文件。

cgi-bin文件夹中存放了CGI脚本程序。

2、画面开发

项目采用waft开发平台,基于横向列表示例程序为基础,开发了三种类型画面。利用这三种类型画面开发了一个主画面和5个场景实例。

2.1 第一种画面类型:主画面,横向列表画面

主画面采用横向列表Demo为基础,横向列表为纯Waft开发的示例,共设计了5个场景实例,分别为天气预报、厨房、客厅、门廊、卧室。屏幕包含标题“WAFT 家居控制”,下面对应5个图标,分别代表5个场景,这5个图标支持通过服务器上传,只需要按照规则修改服务器目录下相关的图标即可,路径为webserver根目录/img。画面支持左右滑动选择不同的场景,用过点击场景图片,进入到相关场景的细节描述。

2.2 第二种画面类型:天气预报画面

通过在主画面点击“天气预报”场景图片,进入到天气预报显示子画面,画面显示的信息按照20秒间隔(时间可以在程序中调整)刷新显示画面的内容信息。

    画面内容如下图所示,包含标题和显示内容。

    天气预报子画面采用Waft-UI技术设计完成,包含标题“天气预报”,标题采用waft-ui中nav-bar控件实现,具有向上级画面和向下级画面索引的功能。

天气显示内容包含城市,日期,星期,天气情况图标,温度和湿度显示,风力和风向,紫外线等级,空气质量。数据的刷新来源于建立的服务器,服务器会定时的向数据源请求数据,并记录到数据库或文件中,为了简化,我这里直接存储到文件中。

 

2.3 第三种画面类型:监视控制画面

其它几个画面,包括厨房、客厅、门廊、卧室,通过在主画面点击相应的场景图片进入。由于这几个画面类型相同,所以这里以“门廊”画面为例说明,通过在主画面点击“门廊”场景图片,进入到门廊显示和控制子画面,画面显示的信息按照20秒间隔(时间可以在程序中调整)刷新显示画面的内容信息。

画面内容如下图所示,包含标题和显示内容。

    门廊显示和控制子画面采用Waft-UI技术设计完成,包含标题,标题采用waft-ui中nav-bar控件实现,具有向上级画面和向下级画面索引的功能。

    显示和控制内容包括灯光显示状态和控制按钮,温度和湿度数字显示及图标显示。画面采用的waft-ui控件如下所示。   

    "x-nav-bar": "waft-ui/assembly/nav-bar/nav-bar",

    "x-toast": "waft-ui/assembly/toast/toast",

    "x-overlay": "waft-ui/assembly/overlay/overlay",

    "x-card": "waft-ui/assembly/card/card",

    "x-dialog": "waft-ui/assembly/dialog/dialog",

    "x-button": "waft-ui/assembly/button/button",

    "x-image": "waft-ui/assembly/image/image"

画面中的灯光控制状态发送到服务器,服务器会将该命令转发给相应的灯光控制模块,并且将灯光控制模块上送的灯光状态和控制状态反馈到画面上来。

画面按照20秒间隔向服务器请求温湿度数据信息,这些信息是服务器定时获取的相应场景环境参数监视模块上送的信息,并存储到数据库或文件中。

灯光控制为关闭状态效果图:

灯光控制为打开状态效果图:

 

3、实测效果

3.1 服务器运行画面:

 

3.2 演示视频


 

4、目前开发中遇到的问题

现在的waft系统对于json相关特性的支持还有待完善,例如关于UTF-8类型的中文到GBK类型中文字符串的转换,还需要提供合适的接口函数。

 

源码: src.zip (18.97 KB, 下载次数: 4)

最新回复

想請教師兄需要甚麽開發軟件?  详情 回复 发表于 2022-6-8 17:21
点赞 关注
 
 

回复
举报

155

帖子

1

TA的资源

一粒金砂(高级)

沙发
 

Waft搞成这么炫的效果,真棒!

 
 
 

回复

291

帖子

5

TA的资源

纯净的硅(中级)

板凳
 

不错不错

 
 
 

回复

7047

帖子

11

TA的资源

版主

4
 
UI做得很好呀,是自己设计的,还是有成品的UI?

点评

横向列表是系统提供的demo,里面的子界面都是自己搞得了  详情 回复 发表于 2022-5-3 16:19
 
 
 

回复

337

帖子

2

TA的资源

纯净的硅(初级)

5
 
本帖最后由 我爱下载 于 2022-5-3 16:21 编辑
lugl4313820 发表于 2022-5-3 07:35 UI做得很好呀,是自己设计的,还是有成品的UI?

这个UI是别人设计好的,我只是拿来用

 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

6
 
想請教師兄需要甚麽開發軟件?

点评

这个是基于平头哥Lichee RV 86 Panel硬件的,软件采用waft  详情 回复 发表于 2022-6-9 09:30
 
 
 

回复

337

帖子

2

TA的资源

纯净的硅(初级)

7
 
Lung4444 发表于 2022-6-8 17:21 想請教師兄需要甚麽開發軟件?

这个是基于平头哥Lichee RV 86 Panel硬件的,软件采用waft

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表