一个开源的基于golang开发的企业级物联网平台

SagooIOT是一个基于golang开发的开源的企业级物联网基础开发平台。负责设备管理和协议数据管理,支持跨平台的物联网接入及管理方案,平台实现了物联网开发相关的基础功能,基于该功能可以快速的搭建起一整套的IOT相关的业务系统。旨在通过可复用的组件,减少开发工作,简化和加速物联网开发交付。

项目采用一站式服务,编译即可运行,简捷而不简单,从实用角度出发,让我们快速完成iot相关的业务系统开发。

核心特性#

  • 高生产率:一站式应用,一键运行,简单易用,几分钟即可搭建一个后台管理系统
  • 模块化:单应用多系统的模式,将一个完整的应用拆分为多个服务,后续扩展更加便捷,增加代码复用性。
  • 认证机制:采用token的用户状态认证及casbin的权限认证
  • 路由模式:规范化的路由注册方式,无需注解自动生成api文档
  • 面向接口开发
  • 支持物模型,多产品、多设备接入管理。
  • 屏蔽网络协议的复杂性,适配多种接入协议(TCP,MQTT,UDP,CoAP,HTTP,GRPC,RPC等),灵活接入不同厂家的不同设备。
  • 支持跨平台运行,可快速实现边缘计算功能,实现离线自动预警,自动执行等相关功能。

内置功能#

  1. 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
  2. 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。
  3. 岗位管理:配置系统用户所属担任职务。
  4. 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
  5. 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
  6. 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
  7. 参数管理:对系统动态配置常用参数。
  8. 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
  9. 登录日志:系统登录日志记录查询包含登录异常。
  10. 在线用户:当前系统中活跃用户状态监控。
  11. 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
  12. 代码生成:前后端代码的生成。
  13. 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。
  14. 文件上传,缓存标签等。
  15. 产品管理:对设备类产品进行统一管理,支持物模型管理。
  16. 设备管理:对设备进行接入与数据配置管理,设备数据日志。
  17. 数据中心:支持多种数据源的方式,数据自动同步。对第三方api或是数据库及内部数据进行数据新建模管理,支持规则定义。
  18. 网络组件:支持TCP服务、UDP服务、TCP及UDP客户端、MQTT服务等
  19. 规则引擎:可视化规则设计器,灵活的规则模型配置,支持多种规则模型以及自定义规则模型

项目优势#

  • 开源免费,商业应用也不限制
  • 单一程序文件,不需要配置环境,不依赖第三方服务,放服务器上就能跑
  • 极小内存占用,对于一百节点以内的物联网项目,只需要几十兆内存足够。
  • 支持工控机和智能网关,边缘计算也没问题
  • 支持Web组态,可视化,大屏展示。
  • 在线产品库、模板库、组态库

技术栈#

  • GoFrame
  • Vue3
  • Swagger
  • Jwt
  • Element plus
  • MySql
  • Redis
  • TDengine

系统架构#

系统文档:系统介绍 | SagooIOT

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
物联网平台是一个用于连接和控制大量物联网设备的软件系统。Golang是一种强大的编程语言,它具有高效、可靠和易于使用的特点。在开发物联网平台时,选择使用Golang语言编写,可以带来许多好处。 首先,Golang具有卓越的并发编程能力。物联网平台需要处理来自设备的大量数据,例如传感器数据或控制命令。Golang的协程模型和原生的并发机制可以轻松处理这些并发任务,提高系统的性能和响应速度。 其次,Golang具有出色的性能。物联网平台需要具备高吞吐量和低延迟的特性,以便快速处理设备传输的数据。Golang的编译器和运行时环境经过优化,可以生成高效的二进制代码,并具有低启动时间和内存占用。这使得使用Golang编写的物联网平台能够高效地处理大规模的实时数据。 此外,Golang拥有丰富的标准库和开源生态系统。这意味着在编写物联网平台时,可以利用许多现有的工具和库来简化开发过程。Golang标准库中包含了许多用于网络通信、数据序列化和数据库访问的功能模块,以及用于处理JSON、XML和CSV等常见数据格式的解析器和生成器。此外,有许多开源项目和框架可以让开发人员更快速地构建物联网平台应用程序。 最后,Golang具有出色的跨平台支持。物联网设备使用各种操作系统和硬件平台,因此物联网平台需要能够在不同的环境中运行。使用Golang编写的物联网平台可以方便地在不同的操作系统上部署和运行,例如Linux、Windows和嵌入式系统等,为设备间的互联提供了更大的灵活性。 总的来说,使用Golang语言编写的开源物联网平台具有并发能力强、性能优越、拥有丰富的库和开源生态系统以及跨平台支持等优势,能够满足物联网平台开发的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值