0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

AWTK 开源串口屏开发(14) - 界面重用

ZLG致远电子 2024-03-23 08:23 次阅读

AWTK串口屏支持同一个界面绑定不同的数据,本文以家居控制为例,介绍一下界面重用的方法。在家居控制应用中,我们演示了空调和咖啡机界面。现在我们来想一想,如果有多个空调怎么办呢?当然最直观的方法,就是把界面再拷贝一份。但是如果界面有多份,维护是一件麻烦的事情。今天我来介绍一下界面重用的问题。


1. 功能

用同一个空调界面实现两台空调的设置。

有两台空调

a027045a-e8ab-11ee-9118-92fbcf53809c.png

  • 客厅空调

a02f2752-e8ab-11ee-9118-92fbcf53809c.png

  • 卧室空调

a03319ac-e8ab-11ee-9118-92fbcf53809c.png

2. 创建项目

从模板创建项目,将 hmi/template_app 拷贝 hmi/ui_reuse 即可。

第一个项目最好不要放到其它目录,因为放到其它目录需要修改配置文件中的路径,等熟悉之后再考虑放到其它目录。路径中也不要中文和空格,避免不必要的麻烦。

3. 制作界面

界面重用 demo_home2 的界面,这里不再细说。

4. 添加绑定规则

4.1 空调界面

空调界面除了空调_位置之外,其它的变量都是一样的,所以我们只需要添加空调_位置的绑定规则即可。

绑定属性

绑定规则

说明

v-data:value

{空调_位置}

4.2 主窗口

4.2.1 客厅空调

绑定属性

绑定规则

说明

v-data:value

{navigate, Args=air_win?prefix=living_room}

变量要用英文大括号括起来。

和之前的不同的是,我们加了参数prefix=living_room,表示获取 living_room 下面的数据。

4.2.2 卧室空调

绑定属性绑定规则说明
v-data:value{navigate, Args=air_win?prefix=bed_room}

变量要用英文大括号括起来。

和之前的不同的是,我们加了参数prefix=bed_room,表示获取 living_room 下面的数据。


5. 初始化数据

修改资源文件 design/default/data/default_model.json, 将其内容改为:

{ "coffee": { "咖啡_开关": false, "咖啡_类型": 1, //类型 (0: 卡布奇诺;1: 拿铁;2: 美式;3: 意式) "咖啡_温度": 60, //温度(0-100) "咖啡_口味": 1, //口味 (0: 浓郁;1: 丝滑;2: 清淡;3: 平衡;4: 温和) "咖啡_热奶": 1, //热奶 (0: 少量;1: 较少;2: 较多;3: 大量) "咖啡_奶泡": 1, //奶泡 (0: 少量;1: 较少;2: 较多;3: 大量) "咖啡_水量": 150, //水量 (50-350ml) "咖啡_剩余时间": 200, //单位秒,格式化为 分钟:秒 "咖啡_开始制作": false }, "bed_room":{ "空调_开关": false, "空调_位置":"卧室", "空调_模式": 3, //空调模式 (0: 制冷;1: 制热;2: 送风;3: 除湿;4: 自动 "空调_风速": 3, //空调风速 (0: 自动;1: 低速;2: 中速;3: 高速) "空调_垂直风向": 1, //垂直风向 (0: 自动;1:上;2:中;3:下) "空调_水平风向": 1, //水平风向 (0: 自动;1:左;2:中;3:右) "空调_温度": 25, //温度(0-40) }, "living_room":{ "空调_开关": false, "空调_位置":"客厅", "空调_模式": 3, //空调模式 (0: 制冷;1: 制热;2: 送风;3: 除湿;4: 自动 "空调_风速": 3, //空调风速 (0: 自动;1: 低速;2: 中速;3: 高速) "空调_垂直风向": 1, //垂直风向 (0: 自动;1:上;2:中;3:下) "空调_水平风向": 1, //水平风向 (0: 自动;1:左;2:中;3:右) "空调_温度": 25, //温度(0-40) }}

之前我们介绍的数据只有一级,现在我们的数据有两级,所以我们需要加上 prefix 参数,来访问 prefix 参数下的数据。

注意:

如果文件内容有中文(非 ASCII 字符),一定要保存为 UTF-8 格式。

重新打包资源才能生效。


6. 数据持久化


7. 编译运行

a03c8456-e8ab-11ee-9118-92fbcf53809c.gif

8. 注意

本项目并没有编写界面相关的代码,AWStudio 在 src/pages 目录下生成了一些代码框架,这些代码并没有用到,可以删除也可以不用管它,但是不能加入编译。

  • 完整示例请参考:demo_home2。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开源
    +关注

    关注

    3

    文章

    2989

    浏览量

    41720
  • 串口屏
    +关注

    关注

    8

    文章

    473

    浏览量

    36619
  • awtk
    +关注

    关注

    0

    文章

    24

    浏览量

    169
收藏 人收藏

    评论

    相关推荐

    AWTK的寓意

    一、介绍AWTK全称Toolkit AnyWhere,是ZLG开发开源GUI引擎,旨在为嵌入式系统、WEB、各种小程序、手机和PC打造的通用GUI引擎,为用户提供一个功能强大、高效可靠、简单易用
    发表于 08-20 08:12

    AWTK 开源智能串口屏方案

    AWTK开源智能串口屏方案发布,旨在解决传统串口屏诸多痛点,为用户提供更开放、更易用、更强大的开源串口
    的头像 发表于 12-02 08:24 465次阅读
    <b class='flag-5'>AWTK</b> <b class='flag-5'>开源</b>智能<b class='flag-5'>串口</b>屏方案

    ​【AWTK开源智能串口屏方案】方案介绍和工作原理

    串口屏方案,本系列文章介绍如何从零开发HMI程序,包括搭建开发环境、创建HMI运行时工程、修改应用界面以及开发MCU程序。
    的头像 发表于 12-21 08:24 405次阅读
    ​【<b class='flag-5'>AWTK</b><b class='flag-5'>开源</b>智能<b class='flag-5'>串口</b>屏方案】方案介绍和工作原理

    AWTK 串口开发(3) - 告警信息

    告警信息是一个常用的功能。在AWTK开源串口屏中,内置告警信息模型,只需设计用户界面即可实现告警信息的显示和管理。1.功能告警信息是一个常用的功能,MCU在设备异常时,会发送告警信息到
    的头像 发表于 12-23 08:24 180次阅读
    <b class='flag-5'>AWTK</b> <b class='flag-5'>串口</b>屏<b class='flag-5'>开发</b>(3) - 告警信息

    AWTK 串口开发(5) - MCU端 SDK 用法

    AWTK开源智能串口屏,不但开放了串口屏端全部源码,还提供了MCU端SDK,大大加快MCU软件的开发。本介绍一下MCU端SDK在不同平台上的
    的头像 发表于 01-06 08:24 160次阅读
    <b class='flag-5'>AWTK</b> <b class='flag-5'>串口</b>屏<b class='flag-5'>开发</b>(5) - MCU端 SDK 用法

    AWTK 开源串口开发(6) - 定时器的用法

    定时器是个常用的功能,AWTK串口屏提供了丰富的定时器函数,用于定时器的启动、停止、暂停、恢复、修改和重置等功能,本文以计时器的例子来介绍定时器的基本用法。定时器也是一个常用的功能,在AWTK
    的头像 发表于 01-13 08:24 164次阅读
    <b class='flag-5'>AWTK</b> <b class='flag-5'>开源</b><b class='flag-5'>串口</b>屏<b class='flag-5'>开发</b>(6) - 定时器的用法

    AWTK开源智能串口屏方案】HMI端程序移植编译及运行

    -HMI是基于AWTKAWTK-MVVM开发的低代码智能串口屏方案,本系列文章介绍如何从零开发HMI程序,包括搭建
    的头像 发表于 01-18 08:24 295次阅读
    【<b class='flag-5'>AWTK</b><b class='flag-5'>开源</b>智能<b class='flag-5'>串口</b>屏方案】HMI端程序移植编译及运行

    AWTK 开源串口开发(9) - 用户和权限管理

    AWTK串口屏中,内置用户管理和权限控制的模型,无需编码即可实现登录、登出、修改密码、权限控制、创建用户、删除用户等功能,本文介绍一下用户管理和权限控制的基本用法。用户管理和权限控制是一个常用
    的头像 发表于 02-19 12:10 189次阅读
    <b class='flag-5'>AWTK</b> <b class='flag-5'>开源</b><b class='flag-5'>串口</b>屏<b class='flag-5'>开发</b>(9) - 用户和权限管理

    AWTK开源智能串口屏方案】MCU SDK使用与编译运行

    的低代码智能串口屏方案,本系列文章介绍如何从零开发HMI程序,包括搭建开发环境、创建HMI运行时工程、修改应用界面以及开发MCU程序。MCU
    的头像 发表于 02-19 12:11 404次阅读
    【<b class='flag-5'>AWTK</b><b class='flag-5'>开源</b>智能<b class='flag-5'>串口</b>屏方案】MCU SDK使用与编译运行

    AWTK开源智能串口屏方案】设计UI界面并上传到串口

    本篇文章将介绍如何使用AWStudio设计串口屏端的UI界面和添加绑定规则,以及怎么将资源文件上传到串口屏端。引言:AWTK-HMI是基于AWTK
    的头像 发表于 02-22 08:24 207次阅读
    【<b class='flag-5'>AWTK</b><b class='flag-5'>开源</b>智能<b class='flag-5'>串口</b>屏方案】设计UI<b class='flag-5'>界面</b>并上传到<b class='flag-5'>串口</b>屏

    AWTK 开源串口开发(11) - 天气预报

    是一个很常用的功能,在很多设备上都有这个功能。实现天气预报的功能,不能说很难但是也绝不简单,首先需要从网上获取数据,再解析数据,最后更新到界面上。在AWTK串口屏中,内置
    的头像 发表于 03-05 08:24 116次阅读
    <b class='flag-5'>AWTK</b> <b class='flag-5'>开源</b><b class='flag-5'>串口</b>屏<b class='flag-5'>开发</b>(11) - 天气预报

    AWTK 开源串口开发(12) - 记事本应用

    。在传统的的串口屏中,开发一个记事本应用,即使可能,也是非常麻烦的事情。在AWTK串口屏中,内置文件模型和文件选择对话框,实现一个简单的记事本,不需要编写代码,设计好界
    的头像 发表于 03-09 08:23 116次阅读
    <b class='flag-5'>AWTK</b> <b class='flag-5'>开源</b><b class='flag-5'>串口</b>屏<b class='flag-5'>开发</b>(12) - 记事本应用

    AWTK 开源串口开发(13) - 计算器应用

    计算器是一个常见的应用程序,在AWTK串口屏中,利用fscript表达式计算函数,无需编写一行传统的代码,即可实现一个简单的计算器应用程序。1.功能计算器是一个很常见的应用,比如在电子秤中,可能
    的头像 发表于 03-16 08:23 138次阅读
    <b class='flag-5'>AWTK</b> <b class='flag-5'>开源</b><b class='flag-5'>串口</b>屏<b class='flag-5'>开发</b>(13) - 计算器应用

    AWTK 开源串口开发(16) - 提供 MODBUS 服务

    AWTK串口屏内置MODBUS从站模型,不用编写一行代码即可让串口屏提供MODBUS服务,让远程设备通过MODBUS协议访问串口屏上的数据。1.功能让
    的头像 发表于 04-13 08:24 84次阅读
    <b class='flag-5'>AWTK</b> <b class='flag-5'>开源</b><b class='flag-5'>串口</b>屏<b class='flag-5'>开发</b>(16) - 提供 MODBUS 服务

    【插针机HMI开发】用AWTK开发人机界面

    插针机中有两个重要的部件HMI和PLC,HMI提供用户操作和界面显示,而PLC则控制电机的运动逻辑。致远电子的ZTP800和AWTK-HMI解决方案可以快速开发插针机或其他设备的HMI界面
    的头像 发表于 04-19 08:23 80次阅读
    【插针机HMI<b class='flag-5'>开发</b>】用<b class='flag-5'>AWTK</b><b class='flag-5'>开发人机界面</b>