# goeasymodbus **Repository Path**: iamphx/goeasymodbus ## Basic Information - **Project Name**: goeasymodbus - **Description**: golang 写的modbus解析器,输入输出为json格式,encoder将json转modbus RTU、TCP、ASCII 格式的[]byte 数组,可以通过MQTT、HTTP、串口、TCP、UDP等任意通信方式发送给设备,设备收到返回响应之后,decoder将[]byte数组转为json。json供web、app、小程序调用 - **Primary Language**: Go - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-07-20 - **Last Updated**: 2025-07-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # goeasymodbus #### 介绍 golang 写的modbus解析器,输入输出为json格式,encoder将json转modbus RTU、TCP、ASCII 格式的[]byte 数组,可以通过MQTT、HTTP、串口、TCP、UDP等任意通信方式发送给设备,设备收到返回响应之后,decoder将[]byte数组转为json。json供web、app、小程序调用 #### 软件目的 本源码参考和引用gomodbus编写,功能主要是根据输入输入json编码为modbus协议文本,将设备响应解码为json,方便应用设计,不受限硬件通信方式。 #### 安装教程 1. 通过 git clone https://gitee.com/daianlu/goeasymodbus.git 下载源码,或者直接在gitee下载压缩包,在golang的IDE打开运行源码 2. 本源码需要golang开发相关ide或者go编译后运行 #### 使用说明 1. golang编译源码运行 2. 输入json和输出json为同一个struct,用法参考test/main.go的demo 3. json string 示例:`{"funcCode":1,"modbusType":"tcp","register":0,"registerLength":1,"slaveID":0,"wrData":[3]}` -funcCode:表示功能代码,取值1、2、3、4、5、6、15、16几种常用的modbus功能码, byte类型。 -modbusType:指定了 Modbus 通信的类型,这里支持 tcp、rtu、ascii三种类型,udp的使用tcp即可 ,字符串类型。 -register:代表要操作的寄存器的地址起始地址,值为 0,uint16类型 。 -registerLength:要读取或写入的寄存器的长度,5、6功能码固定为1 wrData长度1,uint16类型,其他功能码设定为需要读取的长度即可 。 -slaveID:从设备的标识符,值为 0-255,byte类型。 -wrData:一个整数数组,表示要写入的数据,数据个数严格等于registerLength,uint16类型。 #### 参与贡献 1. Fork 本仓库 2. 新建 master 分支 3. 提交代码 #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)