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

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

3天内不再提示

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

ZLG致远电子 2023-12-21 08:24 次阅读

本篇文章介绍一下AWTK 开源智能串口屏方案的基本原理和实际使用效果,包括主要特点、应用场景、工作原理以及简单的Demo演示。

引言:AWTK-HMI是基于AWTK与AWTK-MVVM开发的低代码智能串口屏方案,本系列文章介绍如何从零开发HMI程序,包括搭建开发环境、创建HMI运行时工程、修改应用界面以及开发MCU程序。

AWTK开源智能串口屏方案简介

AWTK 开源智能串口屏方案(Gitee仓库地址:gitee.com/zlgopen/awtk-hmi),仓库包含了MCU端工程(含PC模拟器)、MCU SDK、HMI端工程(含PC模拟器)以及多个串口屏应用示例,并配有说明文档。

其中HMI端工程(又称为运行时)运行在串口屏硬件上,负责界面显示和人机交互,用户可替换里面的资源文件切换为不同的应用。MCU端工程则是用户自己的主控程序,通过调用MCU SDK的API,可以与HMI端通过串口或网口通信。MCU可以主动获取、设置串口屏的变量值,或接收串口屏的按键事件,实现双向交互。

5d7cc85e-9f97-11ee-9788-92fbcf53809c.png

图1 MCU端与串口屏端连接方式

1. 主要特点

1.1 HMI端

  • 开放源码,免费商用,从底层到应用程序全程可控;
  • 基于AWTK和AWTK-MVVM实现强大的 GUI 功能;
  • 强大的界面设计器 AWStudio,拖拽式开发所见即所得;
  • 界面设计与绑定数据(变量)简单,无需编写任何代码;
  • 支持通过串口更新UI资源,无需重新编译工程;
  • 支持在PC上模拟运行。

1.2 MCU端

  • 提供MCU SDK与HMI端通信,使用简单无需了解通信协议;
  • 只需使用三组函数:获取变量、设置变量、监视事件;
  • 无需指定物理地址,变量可用中文名;
  • 支持串口和TCP通信;
  • 提供MCU模拟器模拟与串口屏的交互。

2. 应用场景

本方案假设有两类用户:串口屏厂商与普通用户。厂商把HMI端工程(运行时)烧写固化到串口屏硬件上;用户买到串口屏后,通过AWStudio开发自己的界面应用并把生成的资源文件替换到串口屏上,再开发自己的主控MCU程序,最后通过MCU SDK控制串口屏。

5d8083fe-9f97-11ee-9788-92fbcf53809c.png

图2使用AWStudio开发界面应用3. 工作原理

串口屏HMI工程实际上是一个AWTK+MVVM的程序(运行时),这个程序可以加载res文件夹的UI资源文件(UI-XML、字体、图片等),并显示在屏幕上。由于使用MVVM框架,界面上的可变内容可以绑定到特定的变量名。

串口屏作为通信服务端启动,而MCU端程序使用我们封装好的通信协议(MCU SDK),作为通信客户端与串口屏连接,之后就可以直接通过变量名进行交互。

5d8e345e-9f97-11ee-9788-92fbcf53809c.png图3工作原理后期用户如果想更新串口屏上的应用,直接用AWStudio设计新界面,打包替换res文件夹的资源文件然后重启串口屏即可,无需重新编译HMI工程。

Demo演示

下面使用PC上的MCU模拟器和串口屏模拟程序来对AWTK-HMI的一些功能进行演示。

1. MCU获取串口屏事件

用户在串口屏上改变界面数据时,会自动将事件通知MCU端,如下图所示:

5d953614-9f97-11ee-9788-92fbcf53809c.gif

图 4 串口屏界面改变自动通知MCU

2. MCU设置串口屏变量属性

在MCU中输入属性名称、属性类型和值再点击“设置属性”按钮即可看到串口屏界面中对应的属性改变,如下图所示:

5d993f2a-9f97-11ee-9788-92fbcf53809c.gif图5 MCU修改数据自动更新串口屏界面

3. 串口屏实机效果

下面是串口屏在实际板子上的运行效果,包括使用MCU操控串口屏界面以及手动操作串口屏界面两种方式:

5d9d646a-9f97-11ee-9788-92fbcf53809c.gif图 6 串口屏实际上板演示

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

    关注

    146

    文章

    16017

    浏览量

    343627
  • 开源
    +关注

    关注

    3

    文章

    2985

    浏览量

    41718
  • 串口屏
    +关注

    关注

    8

    文章

    473

    浏览量

    36617
  • awtk
    +关注

    关注

    0

    文章

    23

    浏览量

    169
收藏 人收藏

    评论

    相关推荐

    智能鱼缸全开源方案

    量,换水时间,照明等,来优化鱼生存环境,更科学的喂养。2.本文编写目的本文主要通过对目前市场上的鱼缸控制设备的应用现状的分析,我们提出了一种智能鱼缸控制系统的设计方案,解决了传统鱼缸饲养及照料的困难
    发表于 04-14 10:34

    智能灯带案例开源方案

    注:为助力各行业智能化发展,开发快每周将发布一篇全开源方案,即将发布的有:智能灯带、共享单车、智能咖啡机、
    发表于 04-17 10:02

    介绍AWTK

    ZLG 开源 GUI 引擎 AWTK 1.6 发布一、介绍AWTK全称 Toolkit AnyWhere,是ZLG开发的开源 GUI 引擎,
    发表于 08-20 08:09

    AWTK的寓意

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

    介绍AWTK

    ZLG开源GUI引擎AWTK发布1.1版本一、介绍AWTK全称Toolkit AnyWhere,是ZLG开发的开源GUI引擎,旨在为嵌入式系
    发表于 08-20 08:18

    基于AWTK推出的ZMP110x串口屏应用方案

    串口屏广泛应用于工业自动化、智能家电、医疗设备、共享设备等各个显示领域。立功科技基于AWTK推出的ZMP110x串口屏应用方案,真正实现秒开
    发表于 07-25 17:16 1037次阅读

    AWTK 开源智能串口方案

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

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

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

    AWTK 串口屏开发(4) - 数据采集

    数据采用是一个常用的功能。在AWTK开源串口屏中,内置数据采样模型,只需设计用户界面即可实现采样数据的显示和管理。1.功能数据采集是一个常用的功能,MCU定时采集数据(如环保设备定时采样空气
    的头像 发表于 12-30 08:24 158次阅读
    <b class='flag-5'>AWTK</b> <b class='flag-5'>串口</b>屏开发(4) - 数据采集

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

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

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

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

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

    本篇文章介绍一下AWTK开源智能串口方案串口屏端
    的头像 发表于 01-18 08:24 294次阅读
    【<b class='flag-5'>AWTK</b><b class='flag-5'>开源</b><b class='flag-5'>智能</b><b class='flag-5'>串口</b>屏<b class='flag-5'>方案</b>】HMI端程序移植编译及运行

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

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

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

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

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

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