您现在的位置是:首页 >其他 >docker版jxTMS使用指南:python服务简介网站首页其他

docker版jxTMS使用指南:python服务简介

jxandrew 2024-06-17 11:28:21
简介docker版jxTMS使用指南:python服务简介

jxTMS提供了python扩展来提供业务支持的全能力需要。4.0版jxTMS对python服务的基础能力进行了全面的提升。整个系列的文章请查看:docker版jxTMS使用指南:4.0版升级内容

docker版本的使用,请参考:docker版jxTMS使用指南

4.0版jxTMS中提供了一个示例性的python服务。其位于/home/tms/python目录中【需以指南中所讲述的root用户登录】。其主要功能包括:

1、授权管理

2、设备处理数据

3、将数据和日志保存到数据库中

4、系统管理

5、mqtt接收数据

6、通过REST接口对外提供数据服务

7、数据服务提供不同的SLA

8、设备失联时通过钉钉告警

镜像中所提供的demo服务主要包括三个部分:

  • jx目录中为python服务的基础部件,完成上述的主体框架

  • app目录中为用户定制部分:特定设备的数据保存、特定的设备、特定设备接收数据的解析策略、操作特定设备的数据、特定的告警策略、特定的数据服务SLA、特定的web服务

  • main.py完成系统加载与启动

demo示例的设备数据采集服务的主工作流是:

1、一个站点有多个设备,这些设备通过串口发送文本消息,站点将串口号、消息文本打包组成站点消息文本,然后通过串口发送到DTU,该DTU然后以MQTT透传的方式以站点名为topic发送到MQTT服务器

注:站点有两种类型:无多串口卡的单设备型站点、带多串口卡的多设备型站点,前者直接将设备串口连接到DTU的串口即可

2、运行python服务的接口机订阅该站点名的topic,接收到MQTT消息后,以topic查找该站点,如果找到则将消息文本递交给站点

3、站点提取出所属各设备的消息后将其递交给相应的设备

4、该设备对接收到的文本进行解析,得到实时数据,然后根据配置,或立刻保存到数据库中,或定时保存

5、设备在启动时会配置超时检测间隔,超过此间隔未接收到数据则触发超时事件,设备状态切换到失联状态,设备状态的切换会保存到数据库中

6、外部系统通过REST端口访问时,按JWT模式执行身份认证。请求对某个资源执行某项操作时,按【资源(组)-角色-操作】进行权限检查,得到授权才能访问

7、读取到数据后,可根据用户名、用户角色来配置数据转换功能,以实现针对不同用户的剪裁、过滤、加工等SLA

后文将逐一介绍系统主要功能模块的功能,然后再介绍app模块和main.py,以展示如何具体实现接口机的功能。

参考资料:

jxTMS设计思想

jxTMS编程手册

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

如何用jxTMS开发一个功能

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

jxTMS的HelloWorld

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。