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

news/2024/11/13 3:46:59/

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


http://www.ppmy.cn/news/83173.html

相关文章

Java版工程项目管理系统源码 工程项目源码

数 据 库: MySQL 开发语言: Java 开发工具: MyEclipse 源码类型: WebForm 以甲方项目管理为中心,包括项目启动、计划、执行、控制与收尾阶段的全生命周期管理,并对范围、预…

用Flutter你得了解的七个问题

Flutter是Google推出的一款用于构建高性能、高保真度移动应用程序、Web和桌面应用程序的开源UI工具包。Flutter使用自己的渲染引擎绘制UI,为用户提供更快的性能和更好的体验。 Flutter使用Dart语言,具有强大的类型、效率和易学能力,基本上你…

Python calendar 模块

calendar 是与日历相关的模块,该模块定义了很多类型,主要包括:Calendar、TextCalendar、HTMLCalendar,其中 Calendar 是 TextCalendar 和 HTMLCalendar 的基类,这些类有着十分丰富的日历处理方法。 1 calendar 模块 …

如何邀请媒体记者,保证新闻发布会媒体邀约?

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 要邀请媒体记者参加新闻发布会并确保他们能够接受邀请,可以按照以下步骤进行: 1.制定计划:确定新闻发布会的日期、时间、地点和主题。确保选择一个方…

从元宇宙到生成人工智能:炒作、现实和未来前景的旅程

不久前,科技界充斥着一种被称为元宇宙的未来主义概念。这个相互关联的虚拟现实空间宇宙,个人可以在模拟环境中进行交互,被誉为技术的未来。快进到现在,围绕元宇宙的炒作已经大大失败了。技术重点现在已经转向生成AI,重…

内存泄漏之DispatcherTimer

https://www.jianshu.com/p/7e9ecb383bd0 我们经常会在程序中使用DispatcherTimer&#xff0c;但是如果一不小心就会发生内存泄漏&#xff0c;请看下面的Demo&#xff1a; 内存泄漏代码 我创建了一个简单的窗口Example1.xaml&#xff1a; <Window x:Class"MemoryLea…

[ Linux ] 静态代码检测工具 —— Cppcheck工具

文章目录 cppcheck工具介绍Linux安装linux使用示例在makefile中添加cppcheck工具实例 cppcheck工具介绍 什么是静态代码检查&#xff1f; 静态代码检查是指在不运行程序的条件下&#xff0c;进行程序分析的方法。有些程序分析需要在程序运行时才能进行&#xff0c;这种程序分析…

使用VitePress和Github搭建个人博客网站,可以自动构建和发布

之前我们写过一篇关于如何自动构建和发布个人博客的文章&#xff0c;当时是使用VuePress和GitLab。GitLab持续集成部署CI/CD初探&#xff1a;如何自动构建和发布个人前端博客 现在换了Vue3和Vite&#xff0c;使用VitePress在Github上又搭建了一个博客。博客地址&#xff1a; …