# go-iot **Repository Path**: wakge/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**: 1 - **Forks**: 1 - **Created**: 2025-04-06 - **Last Updated**: 2025-06-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: 物联网, IOT, mqtt ## README # go-iot #### 介绍 使用go实现的iot接入系统,以`物模型`为主体用来对接不同厂商的设备来实现统一接入的目的 > 项目参考了https://github.com/jetlinks/jetlinks-community,https://github.com/megaease/easegress 前端工程:`gdouyang/go-iot-fe` #### 修改 1. 产品、设备、用户等数据改为mysql数据库存储 2. 优化部分细节,调整部分功能,已符合个人习惯 3. 修复已知bug #### 架构图 ![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 ``` #### 默认账号 > http://118.25.198.98:8088/admin/ > admin 123456 #### 压力测试 - [压力测试](./doc/benchmark.md)