# iot-base **Repository Path**: duan_tian/iot-base ## Basic Information - **Project Name**: iot-base - **Description**: 物联网基础平台 为了更好的维护本库,将本库设置为开源。 - **Primary Language**: Go - **License**: LGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2021-09-08 - **Last Updated**: 2021-09-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # iot-base #### 介绍 物联网基础平台 #### 技术路线 1.使用golang语言 2.一套代码覆盖边缘端和云端 3.云端和边缘端使用MQTT进行通信 4.云端或边缘端内部采用Redis做消息队列 5.云端默认使用时序数据库(PG)作为数据处理默认数据库,提升数据处理吞吐量 6.支持物模型(在阿里物模型上改进) 7.边缘侧支持Modbus 0编码配置接入 8.使用Redis做配置缓冲 9.大量借鉴动环行业(电力、电信)告警处理方式,符合一般运维应用的使用习惯 10.支持视频应用 11.通过编写独立服务方式接入设备,处理衍生新应用 12.内置运维web应用,方便设备配置和调试 #### 软件架构 TM 设备管理服务(物模型配置,设备连接关配置,设备场站配置,行业参数配置,superadmin用户密码管理) DM 数据管理服务(数据处理规则配置,数据查询接口) 以上为核心服务 代码结构: TM cloud 云端设备管理 gosrc 服务器代码(go) pages 设备配置(ant design vue) tscipt 自动测试代码(python) edge 边缘设备管理 gosrc 服务器代码(go) pages 设备配置(ant design vue) tscipt 自动测试代码(python) common edge和cloud公用代码 DM cloud 云端数据处理 gosrc 服务器代码(go) tscipt 自动测试代码(python) edge 边缘设备管理 gosrc 服务器代码(go) tscipt 自动测试代码(python) 数据库说明: #### 安装教程 1. 编译环境安装 安装go环境,本项目使用go1.15 安装postgresql,本项目使用13.1或以上(需要安装时序数据库扩展插件) 安装redis,本项目使用5.0.3 安装emqx,本项目使用3.0 2. 编译和使用 在gosrc目录下使用 go build -o ../bin/XXX 编译 运行单元测试时 go test 运行自动测试时 python3 ./testscript.sh 在pages下 yarn yarn serve //调试 yarn build //发布 3. 部署 使用脚本自动安装部署,脚本待开发 //corn定时发现服务是否推出,推出后自动拉起 目前人工部署