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

1. 功能

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

变量名数据类型功能说明
温度整数温度。范围 (0-100) 摄氏度

2. 创建项目

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

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

3. 制作界面

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

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

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

在这里插入图片描述

3. 添加绑定规则

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

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

  • 无需编译,直接运行
  • 简单,通常只有一行。
  • 易懂,声明式的语法。

4. 初始化数据

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

{
  "温度":25
}

注意:

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

  • 重新打包资源才能生效。

5. 编译运行

运行 bin 目录下的 demo 程序,拖动滑动条上的滑块,滑动条的数据也会跟随改变。

在这里插入图片描述

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

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

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

在这里插入图片描述

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

在这里插入图片描述

7. 注意

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/231721.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

物奇平台CLI MIC切换对应ADC关系

是否需要申请加入数字音频系统研究开发交流答疑群(课题组)?可加我微信hezkz17, 本群提供音频技术答疑服务,群赠送语音信号处理降噪算法,蓝牙耳机音频,DSP音频项目核心开发资料, 物奇平台CLI MIC切换对应ADC关系 1 发送CLI指令…

tqdm详细教程,实现tqdm进度条完美设计;解决进度条多行一直刷新的问题;如何使得滚动条不上下滚动(保持一行内滚动)

一、tqdm简介 tqdm是一个python进度条库,可以在 Python长循环中添加一个进度提示信息。 二、3种使用方法 1.tqdm(range)-自动更新 import time from tqdm import range# 自动更新 for i in tqdm(range(10)): # 共可以更新10次进度条time. Sleep(0.5) # 每次更新间…

leetcode系列:反转链表的形象表示

反转链表是一道比较简单的题,主要考察的是对链表数据结构的理解和双指针应用,比较容易出错的地方是指针的移动顺序。在练习的过程中想到了一个比较形象的表示方法,于是记录下来。 # Definition for singly-linked list. # class ListNode: #…

高效便捷的淘宝商品详情关键词搜索API接口

联讯数据可以介绍一些高效便捷的淘宝商品详情关键词搜索API接口。 以下是一些可以考虑使用的API接口: 阿里云搜索引擎API:阿里云搜索引擎API是一个基于云计算技术的搜索引擎,提供商品详情关键词搜索功能。它支持中文搜索,并且具…

听GPT 讲Rust源代码--src/tools(12)

File: rust/src/tools/rust-analyzer/crates/rust-analyzer/src/config.rs 在Rust源代码中,rust/src/tools/rust-analyzer/crates/rust-analyzer/src/config.rs文件的作用是定义和解析rust-analyzer的配置文件。该文件包含了各种配置项的数据结构和枚举类型&#xf…

Mysql、Oracle安全项检查表及操作脚本

软件开发全资料获取:点我获取 Mysql检查表 Oracle检查表

基于微群机器人的二次开发

请求URL: http://域名地址/modifyGroupName 请求方式: POST 请求头Headers: Content-Type:application/jsonAuthorization:login接口返回 参数: 参数名必选类型说明wId是String登录实例标识chatRoom…

vue3自定义路由栈pinia+vue-router来实现

我们知道vue-router使用push跳转可以通过浏览器的返回箭头,就能回到上一页,是因为它有路由栈,每次跳转都会存放(记录)当前路由的相关信息。 根据这个思路我们利用piniavue-router 来自定义路由栈。 说下项目中 自定义…

前端知识(九)------------JavaScript底层知识

1.事件循环机制 在实际的编码过程中小伙伴们不知道有没有遇到过这样的问题,我们都知道js是单线程的。而且是一门解释型语言。那么正常来讲执行代码的顺序就是自上而下一句一句执行对吧 但是有的时候我们发现返回的结果并不是自上而下执行的。我们先写了一段代码 …

国产化软件突围!怿星科技eStation产品荣获2023铃轩奖“前瞻优秀奖”

11月11日,2023中国汽车供应链峰会暨第八届铃轩奖颁奖典礼在江苏省昆山市举行。怿星科技凭借eStation产品,荣获2023铃轩奖“前瞻智能座舱类优秀奖”,怿星CEO潘凯受邀出席铃轩奖晚会并代表领奖。 2023铃轩奖“前瞻智能座舱类优秀奖” 铃轩奖&a…

Unity使用打成图集的Sprite作为模型贴图使用的问题

大家好,我是阿赵。   有时候用Unity引擎做项目的时候,会遇到这样的需求,美术做了一些模型或者特效,然后策划想在游戏运行的时候,读取一些游戏图标放在特效或者模型上面当做贴图使用。   这个需求实现起来很简单&am…

SAP UI5 walkthrough step6 Modules

在SAPUI5 中,资源通常用作Modules,这个我们将用Message Toast 来实现告警功能 修改controller.js webapp/controller/App.controller.js sap.ui.define(["sap/ui/core/mvc/Controller","sap/m/MessageToast" ], (Controller, Mes…

Qt优秀开源项目之十九:跨平台记事本Notes

官网:https://www.get-notes.com github:https://github.com/nuttyartist/notes 一.特性 1.完全基于Qt和C 2.完全开源和跨平台(Linux、macOS、Windows) 3.运行速度快,界面美如画 4.支持Markdown 5.支持使用嵌套文件夹…

几种排序的实现

直接插入排序 直接插入排序是一种简单的插入排序法,其基本思想是: 把待排序的记录按其关键码值的大小逐个插入到一个已经排好序的有序序列中,直到所有的记录插入完为止,得到一个新的有序序列 。 实际中我们玩扑克牌时&#xff…

51单片机独立按键以及矩阵按键的使用以及其原理--独立按键 K1 控制 D1 指示灯亮灭以及数码管显示矩阵按键 S1-S16 按下后键值 0-F

IO 的使用–按键 本文主要涉及8051单片机按键的使用,包括独立按键以及矩阵按键的使用以及其原理,其中代码实例包括: 1.独立按键 K1 控制 D1 指示灯亮灭 2.通过数码管显示矩阵按键 S1-S16 按下后键值 0-F 文章目录 IO 的使用--按键一、按键消抖二、独立按…

Vue项目中实现浏览器标签页名字的动态修改

修改router/index.js文件 路由条目下面添加meta属性 meta:{title:DevOps运维平台 }示例 使用Vue的全局守卫函数beforeEach,在路由切换前动态修改浏览器标签页名字 router.beforeEach((to,from,next) > {document.title to.meta.titlenext() })

高项备考葵花宝典-项目进度管理输入、输出、工具和技术(上,很详细考试必过)

项目进度管理的目标是使项目按时完成。有效的进度管理是项目管理成功的关键之一,进度问题在项目生命周期内引起的冲突最多。 小型项目中,定义活动、排列活动顺序、估算活动持续时间及制定进度模型形成进度计划等过程的联系非常密切,可以视为一…

MX6ULL学习笔记 (八) platform 设备驱动实验

前言: 什么是 Linux 下的 platform 设备驱动 Linux下的字符设备驱动一般都比较简单,只是对IO进行简单的读写操作。但是I2C、SPI、LCD、USB等外设的驱动就比较复杂了,需要考虑到驱动的可重用性,以避免内核中存在大量重复代码&…

玩转大数据13: 数据伦理与合规性探讨

1. 引言 随着科技的飞速发展,数据已经成为了现代社会的宝贵资产。然而,数据的收集、处理和利用也带来了一系列的伦理和合规性问题。数据伦理和合规性不仅关乎个人隐私和权益的保护,还涉及到企业的商业利益和社会责任。因此,数据…

Go语言深度优先搜索(DFS)

Go 语言代码段实现了深度优先搜索(DFS)算法,该算法用于遍历图数据结构。以下是代码的主要要点和执行流程的总结: 深度优先搜索函数 (DFS): 接收图的邻接表 (map[int][]int)、访问记录 (map[int]bool) 和当前节点作为参数。将当前…