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

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

3天内不再提示

AWTK 串口屏开发(1) - Hello World

ZLG致远电子 2023-12-08 15:52 次阅读

本文以一个简单的温度设置程序为例,介绍 AWTK 串口屏的开发流程和 MVVM 数据绑定的基本方法。

功能

这个例子很简单,制作一个调节温度的界面。在这里例子中,模型(也就是数据)里只有一个温度变量

变量名

数据类型

功能说明

温度

整数

温度。范围 (0-100) 摄氏度


创建项目

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

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

制作界面

用 AWStudio 打开上面 hello_world 目录下的 project.json 文件。里面有一个空的窗口,在上面加入下面的控件:

  • 静态文本
  • 环形进度条
  • 滑动条

并调节位置和大 小,做出类似下面的界面。

bb81c7fe-959e-11ee-9788-92fbcf53809c.png

添加绑定规则

1. 将环形进度条绑定到温度变量。添加自定义的属性v-data:value,将值设置为{温度},如下图所示:

v-data:value 表示控件的值,后面会经常用到,建议记住它。

bb86b192-959e-11ee-9788-92fbcf53809c.png

2. 将滑动条绑定到温度变量。添加自定义的属性v-data:value,将值设置为{温度},如下图所示:

bba90742-959e-11ee-9788-92fbcf53809c.png

3. 指定窗口的模型为 default。如下图所示:

bbb35972-959e-11ee-9788-92fbcf53809c.png

严格的意义上说,绑定规则也是一种代码,不过相比于 C 语言,它有下面的优势:

无需编译,直接运行

简单,通常只有一行。

易懂,声明式的语法。

初始化数据

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

{ "温度":25}

注意:

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

重新打包资源才能生效。

编译运行

运行 bin 目录下的 demo 程序,拖动滑动条上的滑块,滑动条的数据也会跟随改变。bbbeed32-959e-11ee-9788-92fbcf53809c.png

使用 MCU 模拟器与之进行交互

运行 mcu/simulator 目录下的 mcu_sim 程序,连接到 Localhost:2233。

拖动滑动条上的滑块,会看到模拟器上收到了对应的事件;

在模拟器中设置变量温度的数据,HMI 端的界面也会自动更新。

bbc395ee-959e-11ee-9788-92fbcf53809c.png

注意

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

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

    关注

    117

    文章

    3792

    浏览量

    81184
  • 串口屏
    +关注

    关注

    8

    文章

    535

    浏览量

    37480
  • awtk
    +关注

    关注

    0

    文章

    44

    浏览量

    237
收藏 人收藏

    评论

    相关推荐

    使用MCUXpresso for VS Code插件开发Zephyr的hello world

    本期来到Zephyr实战经验演练,小编带着大家一起使用MCUXpresso for VS Code插件来开发一个属于Zephyr的hello world
    的头像 发表于 01-03 09:21 467次阅读
    使用MCUXpresso for VS Code插件<b class='flag-5'>开发</b>Zephyr的<b class='flag-5'>hello</b> <b class='flag-5'>world</b>

    鸿蒙OpenHarmony【标准系统编写“Hello World”程序】 (基于RK3568开发板)

    编写“Hello World”程序 下方将展示如何在单板上运行第一个应用程序,其中包括新建应用程序、编译、烧写、运行等步骤,最终输出“Hello World!”。 前提条件 已参考[创
    的头像 发表于 04-24 17:32 854次阅读
    鸿蒙OpenHarmony【标准系统编写“<b class='flag-5'>Hello</b> <b class='flag-5'>World</b>”程序】 (基于RK3568<b class='flag-5'>开发</b>板)

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

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

    AWTK 开源串口开发(15) - 通过 MODBUS 访问远程数据

    AWTK串口内置MODBUSClient模型,支持用MODBUS协议从远程设备获取数据。不用编写代码即可实现对远程设备数据的显示和修改。在AWTK
    的头像 发表于 03-30 08:23 429次阅读
    <b class='flag-5'>AWTK</b> 开源<b class='flag-5'>串口</b><b class='flag-5'>屏</b><b class='flag-5'>开发</b>(15) - 通过 MODBUS 访问远程数据

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

    AWTK串口支持同一个界面绑定不同的数据,本文以家居控制为例,介绍一下界面重用的方法。在家居控制应用中,我们演示了空调和咖啡机界面。现在我们来想一想,如果有多个空调怎么办呢?当然最直观的方法,就是
    的头像 发表于 03-23 08:23 382次阅读
    <b class='flag-5'>AWTK</b> 开源<b class='flag-5'>串口</b><b class='flag-5'>屏</b><b class='flag-5'>开发</b>(14) - 界面重用

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

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

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

    传统的的串口中,开发一个记事本应用,即使可能,也是非常麻烦的事情。在AWTK串口中,内置文件
    的头像 发表于 03-09 08:23 368次阅读
    <b class='flag-5'>AWTK</b> 开源<b class='flag-5'>串口</b><b class='flag-5'>屏</b><b class='flag-5'>开发</b>(12) - 记事本应用

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

    AWTK串口内置了XML/JSON/INI等各种数据文件的模型,并支持用HTTP/HTTPS从网络获取数据。不用编写一行代码,即可实现天气预报、股票行情、航班查询和快递查询等功能。天气预报是一个很
    的头像 发表于 03-05 08:24 414次阅读
    <b class='flag-5'>AWTK</b> 开源<b class='flag-5'>串口</b><b class='flag-5'>屏</b><b class='flag-5'>开发</b>(11) - 天气预报

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

    本篇文章将介绍如何使用AWStudio设计串口端的UI界面和添加绑定规则,以及怎么将资源文件上传到串口端。引言:AWTK-HMI是基于
    的头像 发表于 02-22 08:24 751次阅读
    【<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>

    用于EK-RA8D1 MIPI LCD显示器的GUIX Hello World

    电子发烧友网站提供《用于EK-RA8D1 MIPI LCD显示器的GUIX Hello World.pdf》资料免费下载
    发表于 02-20 09:48 0次下载
    用于EK-RA8D<b class='flag-5'>1</b> MIPI LCD显示器的GUIX <b class='flag-5'>Hello</b> <b class='flag-5'>World</b>

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

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

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

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

    AWTK 开源串口开发(7) - 屏幕保护

    现在的屏幕其实并不需要屏幕保护程序来“保护”,不过屏幕保护程序会衍生一些其它用途。比如,保护隐私、数据安全和显示广告等等。本文介绍一下在AWTK串口中,实现屏幕保护程序的方法。现代屏幕其实并不需要
    的头像 发表于 01-20 08:24 361次阅读
    <b class='flag-5'>AWTK</b> 开源<b class='flag-5'>串口</b><b class='flag-5'>屏</b><b class='flag-5'>开发</b>(7) - 屏幕保护

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

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

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

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