docker版jxTMS使用指南:4.4版升级内容

4.4版jxTMS已经发布,升级了多个重大能力,本系列文章将逐一进行讲解。

docker版本的使用,请查看:docker版jxTMS使用指南

4.0版jxTMS的说明,请查看:4.0版升级内容

4.2版jxTMS的说明,请查看:4.2版升级内容

本系列文章包括:

本地数据总线

有限状态自动机

状态机的数据事件

自定义协议包

site的调整

通过REST接口访问站点数据

新建用户并授权

动态管控

自定义频率型动态管控

使用jxTMS采集数据之一

使用jxTMS采集数据之二

使用jxTMS采集数据之三

使用jxTMS提供数据

4.4版的docker版本jxTMS主要增加了自定义协议包,由于笔者最近用rt-thread以GD32芯片开发了现场数据采集卡,这样就可以将【现场数据采集卡+MQTT+接口机】彻底打通,所以围绕自定义协议包对相当多的部件进行了调整,以增强jxTMS的协作能力。

1、新的有限状态自动机

有限状态自动机是计算机的理论基础,也是笔者最喜欢的程序基础设施,因为其:简单、可靠

笔者不知道实现过多少种有限状态自动机:java的、java平台提供给python用的、go的、go提供给python用的、python的。

而现场数据采集卡未来最有可能的应用场景就是现场控制,所以笔者首先想到的就是重写相应的有限状态自动机。

和之前的【python服务之内置自动机】相比,新的有限状态自动机通过文本进行定义,当然,这是笔者的一贯思路:尽可能的定义,而不是编程!

此外,新的有限状态自动机支持多动作,而且支持延时动作,同时可以通过自定义协议包远程下达命令或触发事件。

2、自定义协议包

自定义协议包是笔者在开发现场数据采集卡时选择的和接口机之间的通信格式。

一开始想过采用json进行数据收发,但执行数据采集任务的现场可能会比较恶劣,万一遇到极端情况,导致芯片、连接电路等出现问题出现错码,不管是json还是MQTT都缺乏校验手段。

所以,笔者考虑起码得有一个最基本的错误检测手段,所以最终选择自己定义包格式的数据包。

jxTMS的自定义协议包有两个特点:

  • 有严格的格式要求,包头中有多个字段,含数据总长、数据单元数,各数据都以TLV【类型-长度-数据】进行编码,如果有错误,很难严丝合缝

  • 提供了一个最简单的CRC校验:对包身做异或

这就基本可以确保数据的准确性,同时包处理的代价也非常小。

3、site的调整

考虑到目前有非常多的数据采集方式,有点过于散乱,所以对site进行了整合,整理出四种类型的站点:

  • 单设备直接推送型

  • 多设备推送型

  • 多设备推送型【自定义协议包】

  • 多设备拉取型

分别针对这四型站点进行了重写,以统一收到后的数据处理。

4、增加一个站点数据的查询来示例了数据策略、开通新用户并授权

但笔者都忘了该怎么做了:(

还是看了代码才想起应该怎么做,所以就增加了一个demo写下来记录一下。

参考资料:

jxTMS设计思想

jxTMS编程手册

下面的系列文章讲述了如何用jxTMS开发一个实用的业务功能:

如何用jxTMS开发一个功能

下面的系列文章讲述了jxTMS的一些基本开发能力:

jxTMS的HelloWorld

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值