折腾:
【已解决】用Java代码解析104协议收到的数据
之后,开始去搭建后端,用java的sprint boot。
【已解决】VSCode中搭建Spring Boot的示例程序
目前能想到的后续需要做的事情:
- 支持POST
- 支持操作mysql
所以再去添加post:
【已解决】Spring Boot中添加支持POST方法
不过先去加上日志输出到文件:
【已解决】给Spring Boot的java项目中加上输出日志到文件中
以及访问mysql:
【已解决】spring boot中添加访问操作mysql数据库
再去合并之前
【已解决】用Java代码解析104协议收到的数据
到当前的rest的service:
然后把之前代码合并到现有项目
主要是把文件拷贝过来
然后再去修改:
com.iec. com.crifan.xxx.
即可解决大部分文件的错误。
然后调试后,发现解析结果没问题:
{ "data": "68 14 E8 B7 00 00 01 87 14 00 05 00 01 00 00 01 01 01 00 00 00 01" }
解析出
*APCI应用规约控制信息* 启动字符[1 byte]: 0x68 应用规约数据单元(APDU)长度[2 byte]:20字节 控制域[3 byte - 6 byte]: (I格式控制域标志) 发送序列号:23540 接受序列号:0 *ASDU应用服务数据单元* 类属性标识符[7 byte]:0x01 Single-point information 可变结构限定词[8 byte]:可变结构限定词:0x87 SQ=1 信息元素地址顺序 信息元素个数:7 传送原因=COT[9 byte]:[T(test) bit7:0 未实验][P/N bit6:0 肯定确认][原因 bit5~bit0:20 interrogated by general interrogation] 发送人地址=ORG=Originator Address [10 byte]:0 应用服务数据单元公共地址=COA=Common Address of ASDU[11 byte - 12 byte]:0005H 信息对象地址: 1(000001H) 信息元素1的信息元素值 SIQ:0x01 有效/当前值/未被取代/未被闭锁/开关合 信息元素2的信息元素值 SIQ:0x01 有效/当前值/未被取代/未被闭锁/开关合 信息元素3的信息元素值 SIQ:0x01 有效/当前值/未被取代/未被闭锁/开关合 信息元素4的信息元素值 SIQ:0x00 有效/当前值/未被取代/未被闭锁/开关分 信息元素5的信息元素值 SIQ:0x00 有效/当前值/未被取代/未被闭锁/开关分 信息元素6的信息元素值 SIQ:0x00 有效/当前值/未被取代/未被闭锁/开关分 信息元素7的信息元素值 SIQ:0x01 有效/当前值/未被取代/未被闭锁/开关合
但是代码报错了:
【已解决】spring boot报错:SqlExceptionHelper.java Data truncation Data too long for column at row 1
数据可以保存到mysql中了:
也可以正常返回了:
比如再去测试另外一个数据:
都是可以的。
然后mysql数据库中,也可以看到数据:
再去git push最新代码到git仓库。
接着再去:
【未解决】集成TDEngine到智能电力的Java后台SprintBoot中