# go-iot **Repository Path**: gdouyang/go-iot ## Basic Information - **Project Name**: go-iot - **Description**: 开箱即用-使用Go语言编写的面向中小项目iot接入系统,支持MQTT,TCP,HTTP,WebSocket,ModBus-TCP等协议,使用编解码脚本实现不停机接入新设备,内置产品管理、设备管理、通知管理、规则引擎、告警管理、角色管理、用户管理等功能 - **Primary Language**: Go - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 64 - **Forks**: 29 - **Created**: 2019-09-29 - **Last Updated**: 2025-07-11 ## Categories & Tags **Categories**: iot **Tags**: Go语言, IOT, 多协议, 编辑码 ## README # go-iot #### 介绍 使用go实现的iot接入系统,以`物模型`为主体用来对接不同厂商的设备来实现统一接入的目的 > 项目参考了https://github.com/jetlinks/jetlinks-community,https://github.com/megaease/easegress 前端工程:`gdouyang/go-iot-fe` #### 架构图 ![IOT架构](./doc/img/IOT架构.png "IOT架构") #### 功能目录 - 产品管理 - 设备管理 - 规则引擎 - 通知管理 - 设备告警 - 角色管理 - 用户管理 - 系统设置 #### 网络协议 - tcp server - tcp client - mqtt broker - mqtt client - http server - websocket server - modbus tcp #### 使用说明 1. ide使用vs code 2. go版本1.21 3. go mod tidy ``` docker run -d --name elasticsearchv7 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e "ES_JAVA_OPTS=-Xms1024m -Xmx1024m" elasticsearch:7.17.7 docker run --name redis6 -d -it -p 6379:6379 redis:6 ``` #### 默认账号 > admin 123456 #### 压力测试 - [压力测试](./doc/benchmark.md)