SagooIOT是一个基于golang开发的开源的企业级物联网基础开发平台。负责设备管理和协议数据管理,支持跨平台的物联网接入及管理方案,平台实现了物联网开发相关的基础功能,基于该功能可以快速的搭建起一整套的IOT相关的业务系统。旨在通过可复用的组件,减少开发工作,简化和加速物联网开发交付。
项目采用一站式服务,编译即可运行,简捷而不简单,从实用角度出发,让我们快速完成iot相关的业务系统开发。
核心特性#
- 高生产率:一站式应用,一键运行,简单易用,几分钟即可搭建一个后台管理系统
- 模块化:单应用多系统的模式,将一个完整的应用拆分为多个服务,后续扩展更加便捷,增加代码复用性。
- 认证机制:采用token的用户状态认证及casbin的权限认证
- 路由模式:规范化的路由注册方式,无需注解自动生成api文档
- 面向接口开发
- 支持物模型,多产品、多设备接入管理。
- 屏蔽网络协议的复杂性,适配多种接入协议(TCP,MQTT,UDP,CoAP,HTTP,GRPC,RPC等),灵活接入不同厂家的不同设备。
- 支持跨平台运行,可快速实现边缘计算功能,实现离线自动预警,自动执行等相关功能。
内置功能#
- 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
- 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。
- 岗位管理:配置系统用户所属担任职务。
- 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
- 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
- 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
- 参数管理:对系统动态配置常用参数。
- 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
- 登录日志:系统登录日志记录查询包含登录异常。
- 在线用户:当前系统中活跃用户状态监控。
- 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
- 代码生成:前后端代码的生成。
- 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。
- 文件上传,缓存标签等。
- 产品管理:对设备类产品进行统一管理,支持物模型管理。
- 设备管理:对设备进行接入与数据配置管理,设备数据日志。
- 数据中心:支持多种数据源的方式,数据自动同步。对第三方api或是数据库及内部数据进行数据新建模管理,支持规则定义。
- 网络组件:支持TCP服务、UDP服务、TCP及UDP客户端、MQTT服务等
- 规则引擎:可视化规则设计器,灵活的规则模型配置,支持多种规则模型以及自定义规则模型
项目优势#
- 开源免费,商业应用也不限制
- 单一程序文件,不需要配置环境,不依赖第三方服务,放服务器上就能跑
- 极小内存占用,对于一百节点以内的物联网项目,只需要几十兆内存足够。
- 支持工控机和智能网关,边缘计算也没问题
- 支持Web组态,可视化,大屏展示。
- 在线产品库、模板库、组态库
技术栈#
- GoFrame
- Vue3
- Swagger
- Jwt
- Element plus
- MySql
- Redis
- TDengine
系统架构#
系统文档:系统介绍 | SagooIOT