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

news2025/2/2 1:00:14

在 AWTK 串口屏中,内置了 MODBUS Client 的模型,支持用 MODBUS 协议从远程设备获取数据。不用编写一行代码即可实现对远程设备数据的显示和修改。

1. 功能

不用编写代码,实现对远程设备数据的显示和修改。

2. 创建项目

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

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

3. 制作界面

用 AWStudio 打开上面 modbus_client_input_registers 目录下的 project.json 文件。里面有一个空的窗口,做出类似下面的界面。

在这里插入图片描述

4. 添加绑定规则

4.1 URL

绑定属性绑定规则说明
v-data:value{url}url 表示远程设备的 URL

4.2 连接状态

绑定属性绑定规则说明
v-data:value{connected ? ‘connected’ : ‘no connection’}connected 表示当前是否连接

4.3 湿度

绑定属性绑定规则说明
v-data:value{湿度}湿度 在配置文件中定义,参考后面的配置

4.4 温度

绑定属性绑定规则说明
v-data:value{温度}温度 在配置文件中定义,参考后面的配置

4.5 窗口模型

  • 指定窗口的模型为
绑定属性绑定规则说明
v-modelmodbus_client(name=modbus_demo)配置文件名对应于 modbus_demo.json

modbus_client 是内置的模型,name 是配置文件的名称,不需要加后缀。

5. 配置文件

配置文件路径 design/default/data/modbus_demo.json

{
  "url":"tcp://localhost:502",
  "channels" : [
    {
      "update_interval" : 3000,
      "name" : "read_input_registers",
      "access_type" : 4,
      "read" : {
        "offset" : 0,
        "length" : 4
      }
    }
  ],
  "variables": {
    "温度": "read_input_registers.word[0]",
    "湿度": "read_input_registers.word[1]"
  }
}
  • url: 远程设备的 URL
  • update_interval: 更新间隔,单位毫秒
  • channels: 通道列表
    • name: 通道名称
    • access_type: 访问类型
    • read: 读取配置
      • offset: 偏移
      • length: 长度
  • variables: 变量列表
    • 温度: 映射到 modbus 通道的 word[0]
    • 湿度: 映射到 modbus 通道的 word[1]

6. 描述需要持久化的数据

7. 编译运行

运行 bin 目录下的 demo 程序:

在这里插入图片描述

点击 Update 按钮,可以手工刷新数据

8. 注意

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

  • 完整示例请参考:demo_modbus_client_input_registers

  • 使用TCP协议时,如果使用modbus slave工具配套测试,需要将unit id设置为255

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【生活】相机/图像各参数

文章目录 专业模式图片编辑-滤镜实体滤镜软件模拟滤镜 图片编辑-增强曝光亮度对比度饱和度自然饱和度色温色调高光阴影HSL色调分离褪色颗粒锐化晕影清晰度暗角 参考 专业模式 第一个参数WB是白平衡,调节色彩的。 第二个是对焦F,近距离拍摄物体&#xf…

67、yolov8目标检测和旋转目标检测算法部署Atlas 200I DK A2开发板上

基本思想:需求部署yolov8目标检测和旋转目标检测算法部署atlas 200dk 开发板上 一、转换模型 链接: https://pan.baidu.com/s/1hJPX2QvybI4AGgeJKO6QgQ?pwdq2s5 提取码: q2s5 from ultralytics import YOLO# Load a model model YOLO("yolov8s.yaml")…

夏季水域安全管理,AI智能识别算法防溺水视频监控方案

随着夏季的到来,不少人为了一时的痛快凉爽就私自下水游泳,特别是在野外池塘,由于长期无人监管,极易发生人员溺亡事件,如何对池塘水域进行全天候无人值守智能监管,并实现发生人员闯入就立即告警?…

网安播报 | GitHub遭遇严重的供应链“投毒”攻击,影响GG平台

1、GitHub遭遇严重的供应链“投毒”攻击,影响GG平台 多年来,威胁行为者一直在使用多种策略、技术和程序 (TTP),包括劫持 GitHub账户、分发恶意 Python 包、使用虚假的 Python 基础设施以及社会工程进行攻击&#xff0c…

Django屏蔽Server响应头信息

一、背景 最近我们被安全部门的漏洞扫描工具扫出了一个服务端口的漏洞。这个服务本身是一个Django启动的web服务,并且除了登录页面,其它页面或者接口都需要进行登录授权才能进行访问。 漏洞扫描信息和提示修复信息如下: 自然这些漏洞如何修复&#xff0c…

物理寻址和功能寻址,服务器不同的应答策略和NRC回复策略

1:功能寻址,服务器应答与NRC回复策略 详细策略上,又分为服务有子功能,和不存在子功能。 1.1功能寻址,存在子功能 存在子功能的情况下,又分为supress postive response (即子功能字节的bit7&a…

Ollama+WebUI+AnythingLLM,构建安全可靠的个人/企业知识库

ChatGPT狂飙160天,世界已经不是之前的样子。 新建了人工智能中文站https://ai.weoknow.com 每天给大家更新可用的国内可用chatGPT资源 ​ 发布在https://it.weoknow.com 我有一名AI助手,名字叫"老六"。为什么呢?是因为它有时候会…

Java运算符-三元运算符,这你必须得会!

哈喽,各位小伙伴们,你们好呀,我是喵手。 今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一个人虽可以走的更快,但一群人可以走的更远。 我是一名后…

【edge浏览器无法登录某些网站,以及迅雷插件无法生效的解决办法】

edge浏览器无法登录某些网站,以及迅雷插件无法生效的解决办法 edge浏览器无法登录某些网站,但chrome浏览器可以登录浏览器插件无法使用,比如迅雷如果重装插件重装浏览器重装迅雷后仍然出现问题 edge浏览器无法登录某些网站,但chro…

第十二章:预处理命令

文章目录 第十二章:预处理命令宏定义无参宏定义带参数的宏定义 文件包含处理 第十二章:预处理命令 作用:由编译预处理程序对程序中的特殊命令作出解释,以产生新的源程序对其进行正式编译 C语言与其他语言的重要区别就是可以使用预…

深度学习InputStreamReader类

咦咦咦,各位小可爱,我是你们的好伙伴——bug菌,今天又来给大家普及Java SE相关知识点了,别躲起来啊,听我讲干货还不快点赞,赞多了我就有动力讲得更嗨啦!所以呀,养成先点赞后阅读的好…

wordpress插件,免费的wordpress插件

WordPress作为世界上最受欢迎的内容管理系统之一,拥有庞大的插件生态系统,为用户提供了丰富的功能扩展。在内容创作和SEO优化方面,有一类特殊的插件是自动生成原创文章并自动发布到WordPress站点的工具。这些插件能够帮助用户节省时间和精力&…

WebAR开发简介

WebAR 开发使企业能够以独特且高度有趣的方式向客户和员工提供信息。 它提供增强现实 (AR) 内容,人们在智能手机上将其视为视觉叠加。 然而,WebAR 可在手机的普通网络浏览器上运行,无需下载任何应用程序。 WebAR 的多种用途包括帮助零售和在…

HEVC的Profile和Level介绍

文章目录 HEVCProfile(配置):Level(级别):划分标准 HEVC HEVC(High Efficiency Video Coding),也称为H.265,是一种视频压缩标准,旨在提供比先前的…

Game Audio Programming

音频编程时游戏开发中最容易忽略,学习资源又是很少的环节。接下来,你将和我探索人耳的工作机制。 what is sound? 我们可以解释电视机是如何通过眼睛传递视觉信息的,但却往往无法对听觉信息做出类似的解释。 对声音的科学研究被称为声学&…

PTA-练习10

目录 主串中查找子串 7-29 删除字符串中的子串 7-30 字符串的冒泡排序 主串中查找子串 查找子串在主穿的中出现的位置 函数strstr&#xff08;s1&#xff0c;s2&#xff09;&#xff0c;返回的是s2在s1中出现的位置指针 #include<stdio.h> #include<stdlib.h> #…

酷体体育科技加入飞桨技术伙伴计划,共同打造“AI随身教练”体育分析新模式...

近日&#xff0c;陕西酷体体育科技有限公司正式加入飞桨技术伙伴计划&#xff0c;双方将共同努力在AI体育技术分析领域&#xff0c;创新打造“AI体育”新模式&#xff0c;助力体育训练、康复、人才选拔数智化转型。通过大模型技术赋能体育&#xff0c;持续挖掘AI技术在体育领域…

vscode调试Unity

文章目录 vscode调试UnityC#环境需求开始调试 Lua添加Debugger环境配置联系.txt文件配置Java环境 添加调试代码断点不生效的问题 vscode调试Unity C# 现在使用vscode调试Unity的C#代码很简单&#xff0c;直接在vscode的EXTENSIONS里面搜索“Unity”&#xff0c;第一个就是&am…

【Vue3源码学习】— CH2.5 reactiveEffect.ts:Vue 3响应式系统的核心

reactiveEffect.ts&#xff1a;Vue 3响应式系统的核心 1. 什么是 reactiveEffect&#xff1f;2. 核心机制2.1 依赖收集&#xff08;Track&#xff09;2.2 触发更新&#xff08;Trigger&#xff09;2.3 效果范围&#xff08;effectScope&#xff09; 3. 源码解析 —— track3.1 …

ElasticSearch学习篇11_ANNS之基于图的NSW、HNSW算法

前言 往期博客ElasticSearch学习篇9_文本相似度计算方法现状以及基于改进的 Jaccard 算法代码实现与效果测评_elasticsearch 文字相似度实现方法-CSDN博客 根据论文对文本相似搜索现状做了一个简要总结&#xff0c;然后对论文提到的改进杰卡德算法做了实现&#xff0c;并结合业…