一、前言

最近收到一个对接HJ212协议设备数据的任务,安排和我对接的人不懂技术,就给了一个HJ212协议文档。文档详细地说明了协议的各项细则,文档如下。

污染物在线监控(监测)系统数据传输标准-Java文档类资源-CSDN文库

通过协议文档,可以知道,该协议是环保设备数据传输的标准协议,数据的不是json格式,而是通过等号隔开的。

我在网上找了半天没有找到关于对接HJ212协议设备的Java程序代码,大多都是讲 协议细则、对接说明、C++程序 等。找到的Java程序代码很凌乱,部分依赖没有,完全看不到。

通过大致的浏览,可以确定,是通过Netty来接收数据,通过依赖的hj212插件来解析数据。既然如此,我就自己写一个Java程序,用Netty来接收数据,并把数据解析成JSON。

二、理论准备

2.1、HJ212消息内容

##0190ST=31;CN=2061;PW=123456;MN=7568770259402;Flag=0;CP=&&DataTime=20221008100000;B02-Min=1.6960,B02-Avg=3.0586,B02-Max=3.7704,B02-Cou=11010.8437;S01-Min=17.7469,S01-Avg=19.4636,S01-Max=19.6944&&7BC0

2.2、消息体格式 

2.3、解析

因此,可以将消息解析成如下几个部分。

其中,##为包头;190的数据长度是指从ST开始到末尾的&&;指令参数为两对&&之间的数据。

三、对接方案

仓库地址如下:

hj212: Java对接HJ212协议环保设备 (gitee.com)

代码说明

测试效果

Java对接HJ212协议设备相关推荐

  1. JAVA对接OPC协议-Utgard

    一.准备工作 下载OPC服务器,推荐KEPServer,推荐此篇博客 OPC和DCOM配置,不细说了,推荐此篇博客 建立些模拟设备 二.OPC系统连接和读写操作-Utgard方式 同步读写很简单,网上 ...

  2. java对接portal协议_Portal协议分析

    常用术语: 缩略语 英文全称 中文解释 AAA Authentication Authorization Accounting 认证.授权和计费 ACL Access Control List 访问控 ...

  3. java读取BACnet协议的设备信息-demo

    序 鉴于目前网上对于BACnet协议的相关文章比较少,所以写出这段时间对于java对接该协议的一个demo程序,供参考. 一.代码简介 本代码 gitee地址:https://gitee.com/Si ...

  4. java实现hj协议_环保 HJ212协议解析

    由于是做环保相关的,有时需要对212协议进行拆包和解包.HJ212协议是一种字符串协议,数据传输通讯包主要由包头.数据段长度.数据段.CRC校验.包尾组成,其中"数据段"内容包括请 ...

  5. java对接移动物联网onenet平台实现接收设备上报数据命令下发

    java对接移动物联网onenet平台实现接收设备上报数据命令下发. 最近由于工作需要,公司设备集成了物联网卡,需要实现数据上报命令下发等(目前集成了电信,移动,联通三个平台).电信和移动都有自己的开 ...

  6. hj212协议如何和php通讯,HJ212数据传输标准报文解析

    HJ212分为2005年(HJ/T212-2005)和2017年(HJ212-2017)的版本,略有不同. 网上没找到非常官方的渠道下载,在这贴一份2017年版本的下载地址 TCP/IP通讯包组成 名 ...

  7. hj212协议如何和php通讯,5G/4G边缘计算网关如何实现HJ212协议上报

    佰马科技5G/4G边缘计算网关,是一款强大的工业数采网关,支持 TCP.UDP 客户端.MQTT 客户端.http 客户端方式连接中心 .数据上报协议可以支持透传(串口设置那边协议需要选择透传).JS ...

  8. Java对接微盟开放平台

    Java对接微盟开放平台 1. 微盟开放平台概述 1.1 微盟云简介 1.2 微盟云接入方式 1.3 微盟云能力介绍 2. 微盟授权商户自用对接 2.1 微盟授权业务需求 2.2 微盟商户授权流程 2 ...

  9. 环保 HJ212协议解析

    环保 HJ212协议解析 HJ212协议简介 基于C++的HJ212解析类 使用GB212类进行212协议包的解析, 关于HJ212Receiver项目 HJ212协议简介 由于是做环保相关的,有时需 ...

最新文章

  1. NLP领域近期有哪些值得读的开源论文?(附下载)
  2. Openwebmail在Ubuntu Linux上的安装过程
  3. 《Android传感器开发与智能设备案例实战》——第2章,第2.4节安装ADT
  4. SQL Server死锁诊断--同一行数据在不同索引操作下引起的死锁
  5. Codeforces Round #556 (Div. 1Div. 2)
  6. Kafka 批量消费消息
  7. max_workers解释
  8. Google GPS在Android上的一些应用
  9. Maven使用本地jar包(三种方式)
  10. quartz定时任务框架
  11. 抓取百度翻译的接口(通过反编译js获取token、gtk、sign等签名信息)
  12. 删除电脑桌面的IE(Internet Explorer)浏览器图标
  13. 一个奔四技术人的2020年
  14. HTML5传送带视差图片展示js特效
  15. Oracle DB 序列
  16. Alist+PotPlayer实现高清影视在线观看
  17. ristretto对cofactor1的椭圆曲线(如Curve25519等)的兼容(含Curve25519 cofactor的sage验证)
  18. SQL Server 数据分区管理
  19. 谷歌是西班牙语怎么办
  20. 适合上班族的25个副业

热门文章

  1. CynosDB for PostgreSQL 一主多读架构设计及优化[内附独家PPT]
  2. 基于DNN的鼻咽癌鼻咽淋巴瘤数据处理
  3. python中的一维卷积conv1d和二维卷积conv2d
  4. Java限流策略与算法
  5. 从 Paxos 到 Raft,分布式一致性算法解析
  6. 谷歌离线地图的使用(1)
  7. ublox F9P 开发板使用指南
  8. 苹果6电池价格_格派 | 11月6日电池金属价格指数
  9. 网页调用腾讯qq在线客服
  10. 学生HTML个人网页作业作品 HTML+CSS贝聿铭人物介绍 6页 (1)