前言
物联网项目开发常常让人头疼:设备协议五花八门,数据格式千奇百怪,前端展示又要图表又要大屏,还得支持告警、自动化、远程控制……从零搭建一套系统,动辄几个月,成本高、周期长。
本文将介绍一款轻量易用、组件化的开源物联网应用支撑平台,通过可复用的组件,减少开发工作,加速物联网项目开发。
项目介绍
一款轻量级、组件化的开源物联网应用支撑平台,采用 Go 语言开发,核心理念是通过可复用的插件,减少开发工作,加速物联网项目开发。它不是某个垂直行业的解决方案,而是一个通用平台,适用于设备商、集成商、方案商甚至个人。平台本身提供设备管理、数据接入、可视化、自动化等基础能力,而具体功能则通过插件灵活扩展,真正做到"按需组装"。
项目功能
1、支持多租户体系,超级管理员可管理多个租户,租户内可分配用户权限,适合 SaaS 化部署。
2、设备接入能力全面,支持 MQTT、Modbus RTU/TCP、TCP、GB28181 等主流协议,并允许通过自定义协议插件接入任意设备。
3、提供设备功能模板与配置模板,将物模型、图表、协议配置、告警规则等打包复用,实现"一型一模"。
4、内置规则引擎,支持设备数据实时计算、转发至第三方系统,或触发自动化场景(如温度超限自动关阀)。
5、可视化能力开放,支持组态、大屏、3D 场景(基于 Three.js),用户可自定义图元并绑定数据,还能通过 iframe 引入外部页面。
6、配套移动 App(基于 Uniapp),支持扫码添加设备、远程控制、查看告警、策略设置等,体验完整闭环。7、提供固件升级、OpenAPI 数据网关、多通道通知(短信/邮件/Webhook)、系统日志审计等企业级功能。 项目特点
插件类型覆盖设备、协议、服务、可视化、行业方案等多个维度,复用率高。
设备功能模板和配置模板可导出为 JSON,便于版本管理和跨项目迁移。
兼容多种时序数据库(TimescaleDB、TDengine、Cassandra 等),适应不同规模和性能需求。
Go 编写的后端资源占用低,可在轻量服务器甚至边缘网关上运行。
前后端分离,前端基于 Vue 3 + Node.js,结构清晰,二次开发门槛低。
项目技术
1、后端主语言为 Golang,利用其高并发、低内存特性,适合处理海量设备连接。
2、前端采用 Vue.js 3 + Uniapp,一套代码兼顾 Web 与移动端。
3、数据库支持 PostgreSQL 及其生态(TimescaleDB、TDSQL、PolarDB、KingBase),同时兼容 TDengine 和 Cassandra。
4、消息中间件集成 GMQTT 和 VerneMQ 两种高性能 MQTT Broker,可根据场景选择。
5、缓存使用 Redis,Web 服务由 Nginx 承载,整体架构简洁可靠。
6、权限控制基于 Casbin 实现,支持细粒度的页面与数据权限管理。
项目体验
地址:http://demo.thingspanel.cn
账户:test@test.cn
密码:123456
项目效果