CN109936553A - 一种串口通信协议自动适配中间件 - Google Patents
一种串口通信协议自动适配中间件 Download PDFInfo
- Publication number
- CN109936553A CN109936553A CN201711441342.7A CN201711441342A CN109936553A CN 109936553 A CN109936553 A CN 109936553A CN 201711441342 A CN201711441342 A CN 201711441342A CN 109936553 A CN109936553 A CN 109936553A
- Authority
- CN
- China
- Prior art keywords
- serial
- data
- equipment
- protocol
- length
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Communication Control (AREA)
Abstract
本发明公开了一种串口通信协议自动适配中间件,应用在串口设备与设备云平台之间的通信过程中,其结构包括配有描述协议结构的关系型数据库、存储协议结构的缓存数据库和解析自定义串口协议的解析模块。通过对固定长度固定顺序、固定长度不固定顺序、不固定长度固定顺序、固定长度数组和不固定长度数组等不同格式自定义串口数据协议的分析和解析,将协议配置信息录入到关系型数据库中并同步到缓存数据库,解析模块通过缓存数据库中的协议配置信息对设备上送的串口数据进行解析,统一转换成JSON格式的数据后上送给平台进行处理,降低串口设备接入云平台的开发维护成本,提高了接入速度。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种串口通信协议自动适配中间件。
背景技术
随着物联网的大规模普及和井喷式发展,越来越多不同类型的设备被接入网络,其中串口通信设备占据了半壁江山。串口是仪器仪表设备通用的通信接口,串口通信协议用于获取远程采集设备数据,信息字节的每个位按照固定的次序进行传输,具有抗干扰能力强、成本低和传输距离远的优点。从串口采集的数据经过WI-FI或者GPRS上送到云端,是传统设备上云的常用途径。
串口通信协议包括两层协议:底层通信协议和用户层协议。底层通信协议一般由计算机硬件提供商或设备厂商提供,用户层协议定义了串口数据发送和接收的具体格式以及在发送和接收过程中如何保证数据的正确性。串口设备要与物联网云平台进行数据互通,必须制定用户通信协议,这种协议一般由设备端单独建立好并告知云平台,平台端就能依据该协议接收和发送数据。由于不同类型的串口设备厂商制定的通信协议格式都不相同,平台端无法统一解析用户层协议,需要识别设备类型后用对应的解析方法处理数据包,降低了设备接入平台速度,也提高了平台数据处理和维护的难度。因此,有必要在串口设备和云平台通讯过程中间加入通信协议自动适配中间件来解决这个问题。
发明内容
本发明要解决的技术问题是提供一种串口通信协议自动适配的中间件,以实现自动适配自定义串口通信协议的效果。
本发明的技术方案是:一种串口通信协议自动适配中间件,应用在串口设备与设备云平台之间的通信过程中,其结构包括配有描述协议结构的关系型数据库、存储协议结构的缓存数据库和解析自定义串口协议的解析模块。
自动适配设备串口协议包括以下步骤:
步骤1:对设备自定义串口协议进行分解,提取出包头、校验位、数据包、长度标识、响应位、指令标识等信息和数据包中不同指令数据顺序、长度、子数据等信息,将这些信息配置到描述协议结构的关系型数据库中。打开关系型数据库和缓存数据库,保证数据同步机制顺利运行。
步骤2:启动解析模块,初始化时将关系型数据库中的配置信息读入缓存数据库中,监听串口设备传输过来的消息。
步骤3:串口设备与解析模块建立通信连接,上送串口数据。
步骤4:解析模块对设备信息进行认证,根据设备类型确定串口协议解析规则,对数据包进行拆包处理和校验位校验,校验通过后对串口协议进行分段解析,将解析出的内容转为JSON格式。将JSON格式数据流发送到云端服务中。
步骤5:云端服务处理完成后返回响应数据。根据缓存中的串口协议配置信息将响应数据转成自定义串口通信协议数据包,将数据依次返回给串口设备。
附图说明
图1为本发明中的串口通信协议自动适配中间件软件结构示意图。
图2为本发明中的串口通信协议自动适配中间件的流程框图。
具体实施方式
下面结合说明书附图和具体实施方式对本发明做出详细的说明。
本发明实施例提供了一种串口通信协议自动适配中间件,该中间件是串联各种自定义串口设备和物联网云平台的通信纽带,为串口设备接入云平台提供数据自动解析和拼接服务,降低设备接入复杂度和开发维护成本。
如图1所示。本发明实施例的软件结构包括描述协议结构的关系型数据库、存储协议结构的缓存数据库和解析自定义串口协议的解析中间件。其中,关系型数据库存放的串口协议描述信息为解析中间件自动解析和组装数据包提供配置信息,包括报文头标识、命令标识、应答标志、数据单元加密方式、数据单元长度、校验码位置、校验方式等。在数据单元中,各数据项格式主要分为以下几类:
①固定长度固定顺序:最常用的数据包结构,适用于简单串口设备,数据量较小,每个单元数据项都占用固定长度,并且在数据包中的次序固定不变。对此类数据项,只需要记录下每个单元数据项表示的数据含义、类型、长度和在数据包中的次序序列号即可。
②固定长度不固定顺序:每个单元数据项都占用固定长度,但是互相之间顺序不固定,通常会有指定长度的标识字段表示每个单元数据项的含义。对此类数据项,需要记录下每个单元数据项表示的数据含义、标识字段名称、数据类型、长度。
③不固定长度固定顺序:每个单元数据项之间的顺序都是固定的,长度可变,通常会在可变长度数据项之前放置长度标识字段,用于表示该可变长度数据项的实际长度。对此类数据项,需要记录每个单元数据项表示的数据含义、类型、长度标识字段所占长度、决定可变单元数据项长度的数据单元名称和长度计算方法和在数据包中的次序序列号。
④固定长度数组:单元项嵌套子单元项数组,每个子单元项数据结构相同长度固定,会有长度字段标识数组中的子单元项数量。对此类数据项,需要记录标识数据中子单元项数量的字段、嵌套类型、数组含义和子单元项数据中的结构信息,其中子单元项数据中的结构信息表示方法参考上述①、②、③类型方法。
⑤不固定长度数组:单元项嵌套子单元项数组,每个子单元项数据结构不同长度不固定,顺序可固定可不固定,通常会有标识子单元数据项的名称和长度定义字段。对此类数据项,需要记录每个可能出现在数组中的子单元数组的名称、长度定义字段名称、数组含义、子单元项数量定义字段和子单元项数据中的结构信息,其中子单元项数据中的结构信息表示方法参考上述①、②、③类型方法。
通过以上方法将串口协议结构描述存储到关系型数据库后,缓存数据库会同步更新这些信息,以便解析服务及时获取到最新的协议解析方式。
本发明实施例流程框图如图2所示,具体包括以下步骤:
步骤S1:打开关系型数据库和缓存数据库,确保关系型数据库里的配置数据能及时同步到缓存数据库中。
步骤S2:开启解析服务,监听串口设备发送过来的串口数据。
步骤S3:串口设备与解析服务建立通信连接,上送串口数据。
步骤S4:解析服务监听到设备上送的数据后,确定设备身份,从缓存数据库中找出对应配置信息,根据规则分段拆解数据包,将数据转换成JSON格式数据,上送给物联网云平台。
步骤S5:物联网云平台将响应结果返回给解析服务,解析服务收到了根据配置规则将响应结果转换成串口数据,推送给串口设备。
在上述串口通信协议自动适配中间件实例中,实现了自定义串口协议设备与物联网云平台的快速对接。在实际应用中,通过使用上述中间件可以免去平台开发针对不同串口协议解析的重复性工作,降低开发和维护成本,屏蔽设备数据差异化,使用统一接口就可以实现对不同种类设备的状态监控。
Claims (1)
1.一种串口通信协议自动适配中间件,其特征在于包括以下步骤:
步骤1:对设备自定义串口协议进行分解,提取出包头、校验位、数据包、长度标识、响应位、指令标识等信息和数据包中不同指令数据顺序、长度、子数据等信息,将这些信息配置到描述协议结构的关系型数据库中。打开关系型数据库和缓存数据库,保证数据同步机制顺利运行。
步骤2:启动解析模块,初始化时将关系型数据库中的配置信息读入缓存数据库中,监听串口设备传输过来的消息。
步骤3:串口设备与解析模块建立通信连接,上送串口数据。
步骤4:解析模块对设备信息进行认证,根据设备类型确定串口协议解析规则,对数据包进行拆包处理和校验位校验,校验通过后对串口协议进行分段解析,将解析出的内容转为JSON格式。将JSON格式数据流发送到云端服务中。
步骤5:云端服务处理完成后返回响应数据。根据缓存中的串口协议配置信息将响应数据转成自定义串口通信协议数据包,将数据依次返回给串口设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711441342.7A CN109936553A (zh) | 2017-12-18 | 2017-12-18 | 一种串口通信协议自动适配中间件 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711441342.7A CN109936553A (zh) | 2017-12-18 | 2017-12-18 | 一种串口通信协议自动适配中间件 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109936553A true CN109936553A (zh) | 2019-06-25 |
Family
ID=66984208
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711441342.7A Pending CN109936553A (zh) | 2017-12-18 | 2017-12-18 | 一种串口通信协议自动适配中间件 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109936553A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110597482A (zh) * | 2019-08-30 | 2019-12-20 | 四川腾盾科技有限公司 | 一种用于串口在fifo中查找有效数据包的方法 |
CN112389507A (zh) * | 2019-08-14 | 2021-02-23 | 比亚迪股份有限公司 | 自动列车监控系统和方法,存储介质及数据服务器 |
CN112463511A (zh) * | 2020-11-09 | 2021-03-09 | 武汉迈威通信股份有限公司 | 一种物联网串口设备自动化测试系统及测试方法 |
CN112764952A (zh) * | 2021-02-02 | 2021-05-07 | 湖南高至科技有限公司 | 异构仿真平台中间件的实现方法 |
CN113177015A (zh) * | 2021-05-24 | 2021-07-27 | 石家庄通合电子科技股份有限公司 | 基于帧头的串口通讯方法和串口芯片 |
CN113438565A (zh) * | 2021-06-25 | 2021-09-24 | 上海飞奥燃气设备有限公司 | 一种燃气表手持终端及其操作方法 |
CN114706809A (zh) * | 2022-03-29 | 2022-07-05 | 中国电子科技集团公司第十五研究所 | 一种对串口数据的通用化处理方法及装置 |
CN114900387A (zh) * | 2022-05-10 | 2022-08-12 | 中移(杭州)信息技术有限公司 | 设备的跨平台融合接入方法、系统、网关及存储介质 |
CN115174158A (zh) * | 2022-06-14 | 2022-10-11 | 阿里云计算有限公司 | 基于多云管理平台的云产品配置检查方法 |
CN115379024A (zh) * | 2022-09-02 | 2022-11-22 | 北京航天长城卫星导航科技有限公司 | 一种基于数据服务平台的自适应学习型协议池算法装置 |
WO2023005722A1 (zh) * | 2021-07-30 | 2023-02-02 | 华为技术有限公司 | 报文处理方法和通信设备 |
CN115801920A (zh) * | 2022-10-13 | 2023-03-14 | 深圳市正浩创新科技股份有限公司 | 通信方法、通信芯片、电子设备及计算机可读存储介质 |
CN115801922A (zh) * | 2022-11-11 | 2023-03-14 | 安徽智网信息科技有限公司 | 一种基于串口通信字节码协议的解析规则生成方法 |
-
2017
- 2017-12-18 CN CN201711441342.7A patent/CN109936553A/zh active Pending
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112389507A (zh) * | 2019-08-14 | 2021-02-23 | 比亚迪股份有限公司 | 自动列车监控系统和方法,存储介质及数据服务器 |
CN110597482A (zh) * | 2019-08-30 | 2019-12-20 | 四川腾盾科技有限公司 | 一种用于串口在fifo中查找有效数据包的方法 |
CN112463511A (zh) * | 2020-11-09 | 2021-03-09 | 武汉迈威通信股份有限公司 | 一种物联网串口设备自动化测试系统及测试方法 |
CN112463511B (zh) * | 2020-11-09 | 2022-06-07 | 武汉迈威通信股份有限公司 | 一种物联网串口设备自动化测试系统及测试方法 |
CN112764952A (zh) * | 2021-02-02 | 2021-05-07 | 湖南高至科技有限公司 | 异构仿真平台中间件的实现方法 |
CN113177015A (zh) * | 2021-05-24 | 2021-07-27 | 石家庄通合电子科技股份有限公司 | 基于帧头的串口通讯方法和串口芯片 |
CN113438565A (zh) * | 2021-06-25 | 2021-09-24 | 上海飞奥燃气设备有限公司 | 一种燃气表手持终端及其操作方法 |
WO2023005722A1 (zh) * | 2021-07-30 | 2023-02-02 | 华为技术有限公司 | 报文处理方法和通信设备 |
CN114706809A (zh) * | 2022-03-29 | 2022-07-05 | 中国电子科技集团公司第十五研究所 | 一种对串口数据的通用化处理方法及装置 |
CN114900387A (zh) * | 2022-05-10 | 2022-08-12 | 中移(杭州)信息技术有限公司 | 设备的跨平台融合接入方法、系统、网关及存储介质 |
CN114900387B (zh) * | 2022-05-10 | 2024-06-04 | 中移(杭州)信息技术有限公司 | 设备的跨平台融合接入方法、系统、网关及存储介质 |
CN115174158A (zh) * | 2022-06-14 | 2022-10-11 | 阿里云计算有限公司 | 基于多云管理平台的云产品配置检查方法 |
CN115174158B (zh) * | 2022-06-14 | 2024-04-16 | 阿里云计算有限公司 | 基于多云管理平台的云产品配置检查方法 |
CN115379024A (zh) * | 2022-09-02 | 2022-11-22 | 北京航天长城卫星导航科技有限公司 | 一种基于数据服务平台的自适应学习型协议池算法装置 |
CN115801920A (zh) * | 2022-10-13 | 2023-03-14 | 深圳市正浩创新科技股份有限公司 | 通信方法、通信芯片、电子设备及计算机可读存储介质 |
CN115801922A (zh) * | 2022-11-11 | 2023-03-14 | 安徽智网信息科技有限公司 | 一种基于串口通信字节码协议的解析规则生成方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109936553A (zh) | 一种串口通信协议自动适配中间件 | |
RU2478188C2 (ru) | Способ и система считывания данных счетчика коммунальных услуг по сети | |
CN110933146B (zh) | 一种数据转换方法、装置和服务器 | |
EP2460258B1 (en) | Method and device for auto-generating goose signal connection topology from substation level | |
CN105162626B (zh) | 基于众核处理器的网络流量深度识别系统及识别方法 | |
CN109842629A (zh) | 基于协议解析框架的自定义协议的实现方法 | |
CN101188561A (zh) | 基于自定义模板的通用业务数据通讯方法与系统 | |
CN102820959A (zh) | 在Modbus主站与从站之间进行大数据量通信的方法 | |
CN109670081A (zh) | 业务请求处理的方法及装置 | |
CN109818930A (zh) | 一种基于tcp协议的通讯文本数据传输方法 | |
CN106899452B (zh) | 一种基于xm2m协议的消息循环处理的物联网终端调试方法 | |
CN110266702A (zh) | 基于XML的Wireshark用协议解析方法 | |
CN108664546A (zh) | Xml数据结构转换方法和装置 | |
CN114390033A (zh) | 基于可扩展通信协议的回路状态巡检仪采集系统及方法 | |
CN117278661B (zh) | 一种工业物联网多协议解析方法及系统 | |
Wang et al. | Design approach based on EtherCAT protocol for a networked motion control system | |
CN109818926A (zh) | 一种无需预先规划的通信方法 | |
CN106302349A (zh) | 基于libpcap的HTTP包分析方法及装置 | |
CN106941430A (zh) | 一种基于fpga的可编程精确网络报文构造和发送单元 | |
CN110099033B (zh) | 一种下位机架构 | |
CN114257643B (zh) | 一种日志传输方法及系统 | |
CN113765872B (zh) | 一种自适应数据格式转换适配的方法和系统 | |
CN102065105B (zh) | 用于数字化变电站的iec61850-9-2协议数据帧的组帧方法 | |
CN103605496A (zh) | 一种实现快速解析基于scpi协议的通信指令的方法 | |
Chang et al. | Connections between the complexity of unique satisfiability and the threshold behavior of randomized reductions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190625 |