引言:AWTK-HMI是基于AWTK与AWTK-MVVM开发的低代码智能串口屏方案,本系列文章介绍如何从零开发HMI程序,包括搭建开发环境、创建HMI运行时工程、修改应用界面以及开发MCU程序。
其中HMI端工程(又称为运行时)运行在串口屏硬件上,负责界面显示和人机交互,用户可替换里面的资源文件切换为不同的应用。MCU端工程则是用户自己的主控程序,通过调用MCU SDK的API,可以与HMI端通过串口或网口通信。MCU可以主动获取、设置串口屏的变量值,或接收串口屏的按键事件,实现双向交互。
图 1 MCU端与串口屏端连接方式
1. 主要特点
本方案假设有两类用户:串口屏厂商与普通用户。厂商把HMI端工程(运行时)烧写固化到串口屏硬件上;用户买到串口屏后,通过AWStudio开发自己的界面应用并把生成的资源文件替换到串口屏上,再开发自己的主控MCU程序,最后通过MCU SDK控制串口屏。
串口屏HMI工程实际上是一个AWTK+MVVM的程序(运行时),这个程序可以加载res文件夹的UI资源文件(UI-XML、字体、图片等),并显示在屏幕上。由于使用MVVM框架,界面上的可变内容可以绑定到特定的变量名。
串口屏作为通信服务端启动,而MCU端程序使用我们封装好的通信协议(MCU SDK),作为通信客户端与串口屏连接,之后就可以直接通过变量名进行交互。
用户在串口屏上改变界面数据时,会自动将事件通知MCU端,如下图所示:
在MCU中输入属性名称、属性类型和值再点击“设置属性”按钮即可看到串口屏界面中对应的属性改变,如下图所示:
下面是串口屏在实际板子上的运行效果,包括使用MCU操控串口屏界面以及手动操作串口屏界面两种方式:
更多往期文章,请点击“ 阅读原文 ”。