在线解析二进制报文

这篇具有很好参考价值的文章主要介绍了在线解析二进制报文。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

现状

智能设备应用越来越普遍,深入到生活的各个方面,从智慧农业到智能制造,从水利灌溉到电力传输,从工业生产到智能家居。智能设备应用在各个领域,设备之间都是通过数据交换来达到信息共享和互相操作,交换的数据都遵守某个协议标准,在测试时,调试时和排查问题过程中往往会需要分析交换的数据报文。分析报文是个费力和费时的过程,所以出现了很多针对某个协议开发的解析工具,这篇文章引入一个新的思路,在平台通过配置就可以解析报文方法,而不需要针对某个协议去开发特定的工具。目前,平台已经支持了多个IEC104, MODBUS TCP,MODBUS RTU MODBUS ASCII等标准的协议。

免费的IOT-Assistant

IOT-Assistant是一个旨在减轻物联网从业人工作的软件,简称物联网助手。目前,它主要用于分析智能设备二进制流式报文协议,比如IEC104中带品质遥测报文68 13 06 00 02 00 09 82 14 00 01 00 01 07 00 A1 10 00 89 15 00。它不支持JSON和SOAP这种可读性高的报文,它也不能和设备进行通信,所以它不支持设备调试,但能分析输入的报文,也支持用户拼装报文,能在不少场合减轻工作量。

五个功能点

  • 配置报文术语,报文块和解析规则
  • 支持协议分享的团队协作功能
  • 分析二进制流报文
  • 拼装二进制报文
  • 内置支持IEC101/104和MODBUS标准协议

1 配置报文值含义,报文块和解析规则

报文值含义是指标准中某个值表示的意思,比如104规约中类型标识值,0x01表示单点遥信,0x03表示双点遥信。字段用可读的名词来会更易于交流,也容易记忆。
大部分的协议标准都会分为协议头,协议尾和数据信息,有些数据区块在协议的多个报文中都是具有相同的结构,这里用报文块来描述一段常被复用的区块。
解析规则可以配置每个字节和每个位的解析方式,以及解析后还应进行的偏移,放大和缩小,及复杂的加工逻辑,这里支持常用+,-,*,/ 等四则运算。
在线解析二进制报文

2 支持协议分享的团队协作功能

在工作中往往有多种角色需要分析报文,有嵌入开发工程师,平台软件开发工程师,测试工程师和工程维护工程师。大家都需要按同一个协议来解析报文,所以在系统中加入了协议分享的功能,可以把协议分享给内部的和外部的工程师,这样避免了大家解析工具不同步造成的歧义。当相应的工作结束后可以停止分享,也有利于加强协议的安全管理。

3 分析二进制流报文

分析二进制流报文是物联网助手的主要目的,如果协议族有较好的匹配规则,只需选择报文隶属的协议族,就可以解析报文,如果协议族没有较好的匹配规则,比如MODBUS协议,有些报文不能识别是上行报文还是下行报文,这时需要指定某个报文去解析。下面这张图是解析IEC104的一个报文。
在线解析二进制报文

4 拼装二进制报文

拼装报文是分解报文的逆过程,用于辅助工程师手动组装一个报文。这个功能目前还比较弱,我们也没有好的构思。如果你有好的构思,欢迎你给我们建议,你也可以加入我们的开放团队。
在线解析二进制报文

5 内置支持IEC101/104和MODBUS标准协议

IEC101/104和MODBUS标准协议应用的太广泛了,所以已经在系统配置好了这两个协议,同时也用了这两个协议来测试和验证软件的功能。

上面介绍了这么多,感谢看官的阅读。这里我们奉上物联网助手给你!通过上面的介绍,如果对你会有帮助,欢迎使用。祝大家工作愉快!文章来源地址https://www.toymoban.com/news/detail-455669.html

到了这里,关于在线解析二进制报文的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • class文件中,常量池之后的相关数据解析!【class二进制文件分析】

    前言:前段时间读《深入java虚拟机》介绍到class文件的时候,由于理论知识较多,人总感觉疲惫不堪,就泛泛阅读了一下。在工作中使用起来知识点知道,但是总是需要查阅各种资料。今天有时间,继续整理常量池后面的相关知识。 class文件中,我们可以通过背或记也好,或

    2024年02月07日
    浏览(33)
  • HTML5 WebSocket介绍与基本使用(解析服务端返回的二进制数据)

    WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。 WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行

    2024年02月15日
    浏览(30)
  • 【华为OD机试真题 C++语言】101、二进制差异数 | 机试真题+思路参考+代码解析

    🍂个人博客首页: KJ.JK   🍂专栏介绍: 华为OD机试真题汇总,定期更新华为OD各个时间阶段的机试真题,每日定时更新,本专栏将使用C++语言进行更新解答,包含真题,思路分析,代码参考,欢迎大家订阅学习 🎃题目描述 对于任意两个正整数A和B,定义它们之间的差异值和

    2024年02月15日
    浏览(28)
  • 【十进制 转 二进制】【二进制 转 十进制】10进制 VS 2进制【清华大学考研机试题】

    原题链接 本题我们先需要知道 十进制 如何转 二进制 二进制 如何转 十进制 十进制 如何转 二进制: 十进制转成二进制 例如 173 转成 二进制 就把173 短除法 除到0 然后 得到的余数, 从下往上写 二进制 转成 十进制 利用如图方法,把二进制 转成 十进制 本题是高精度,如何

    2023年04月26日
    浏览(35)
  • 将数据转二进制流文件,用PostMan发送二进制流请求

    一、将byte数组转二进制流文件,并保存到本地 byte [] oneshotBytes=new byte[]{78,-29,51,-125,86,-105,56,82,-94,-115,-22,-105,0,-45,-48,-114,27,13,38,45,-24,-15,-13,46,88,-90,-66,-29,52,-23,40,-2,116,2,-115,17,36,15,-84,88,-72,22,-86,41,-90,-19,-58,19,99,-4,-63,29,51,-69,117,-120,121,3,-103,-75,44,64,-58,-34,73,-22,110,-90,92,-35,-18,-128,16,-

    2024年02月15日
    浏览(29)
  • java图片转二进制流_java将文件转化成二进制流

    二进制流的主要编码格式是base64码。可以在网上找一些在线转base64编码的网站进行尝试转换。 例如:http://imgbase64.duoshitong.com/然后通过前端展现和下载。 前端显示二进制流图片(src中放置base64码及二进制流) 前端下载二进制流文件(herf中放置base64码及二进制流,download后面放

    2024年02月06日
    浏览(43)
  • 后端返回二进制流,前端处理二进制文件流,实现预览图片以及PDF

    1、首先预览PDF需要 后端 将响应头 Content-Type 设置为PDF类型 application/pdf ,不能预览,会直接下载 2、 前端 定义接口:并设置相应类型 responseType 为 blob 请求数据:通过 window.URL.createObjectURL(res) 转成本地预览地址, 在通过 window.open() 方法打开转成本地预览地址即可预览PDF,如下

    2024年02月15日
    浏览(39)
  • Python中二进制十进制转换

            hello大家好,今天我想和大家分享一下在Python中进制转换加减法的方法。         比如现在我们需要求100 + 10,然后需要将结果110以二进制的形式返回,又或者我们现在有一个小需求,就是要计算二进制1010和二进制1011的和是多少,然后依旧以二进制的形式返回

    2024年02月16日
    浏览(36)
  • 【Python 千题 —— 基础篇】进制转换:十进制转二进制

    题目描述 计算机底层原理中常使用二进制来表示相关机器码,学会将十进制数转换成二进制数是一个非常重要的技能。现在编写一个程序,输入一个十进制数,将其转换成二进制数。 输入描述 输入一个十进制数。 输出描述 程序将输入的十进制数转换为二进制数,并输出其

    2024年02月07日
    浏览(49)
  • python十进制转二进制方法详解

      在 Python中,十进制数可以转换成二进制数。例如: 但是,十进制数不是直接转换成二进制,而是先转换成二进制数,再转换成十进制。接下来我们来看看具体的实现方法: 首先我们来看一个例子: 上面代码中,使用了循环遍历的方法。从这个例子中我们可以发现,需要遍

    2023年04月19日
    浏览(79)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包