分享一个类似 ThingsBoard 的 Go 和 Vue 开发的开源物联网系统 ThingsPanel - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
zjhong
V2EX    分享创造

分享一个类似 ThingsBoard 的 Go 和 Vue 开发的开源物联网系统 ThingsPanel

  •  
  •   zjhong 2023-08-07 08:43:38 +08:00 2972 次点击
    这是一个创建于 798 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大家好!

    今天,向大家介绍我们开发的开源的物联网平台:ThingsPanel。它是使用 Golang 和 Vue.js 开发的,功能与 ThingsBoard 相似。

    ThingsPanel 简介

    ThingsPanel 是一个通用的开源物联网支撑平台,它包括通用底座与行业积木解决方案,旨在帮助大家快速构建物联网行业应用。

    通用底座功能

    • 多协议支持
    • 设备管理
    • 数据采集
    • 自动化
    • 告警与可视化
    • 数据转发
    • 集群部署
    • 支持广泛的物联网接入和边缘网关接入协议,如:MQTT 、HTTP 、TCP 、Modbus 、GB28181 视频协议、萤石云视频协议等
    • 支持协议和驱动的插件式自定义扩展

    应用场景

    • 快速搭建物联网应用,不限于家居、矿山、电力、智慧城市、环境、交通等。

    项目优势

    插件化是 ThingsPanel 的核心优势。ThingsPanel 的插件主要包括:

    • 设备插件:整合物模型与图表
    • 协议插件:解决各类协议接入的问题
    • 可视化插件:扩展可视化功能
    • 依赖型插件:行业解决方案积木

    此外,还有两类可复用的部分:

    1. 报文解析脚本
    2. 规则引擎脚本

    通过以上插件的复用,可以大大提高研发效率。

    功能概要

    • 多租户功能:超级管理员管理、租户账户管理业务系统、租户用户管理设备查看数据
    • 设备接入:编辑创建项目、按照分组添加管理设备、查看设备推送状态、设备插件接入、网关与子设备接入、Modbus RTU/TCP 协议接入、TCP 协议接入、GB28181 安防摄像头接入、自定义协议插件接入
    • 设备监控:设备添加后的监控图表、设备插件中的当前值、曲线、开关、写入指令组件显示
    • 设备地图:根据项目与分组筛选设备、设备类型筛选
    • 可视化:可视化编辑基本功能、开放式架构、预绑定数据图表、添加自己的图元、和系统松耦合,支持组态、大屏、3D 、Three.js
    • 产品管理:创建产品、批量管理、二维码数据、手动激活、预注册管理
    • 固件升级:为产品添加固件、创建升级任务、固件升级报表
    • 自动化:场景联动、场景日志、定时触发、设备触发、多种触发
    • 数据管理:根据项目筛选数据、实时查看数据日志、数据导出
    • 告警信息:根据项目和分组显示告警、时间段筛选
    • 通知功能:短信、邮件、电话、webhook 多种通知方式
    • 系统日志:IP 访问路径、设备操作记录
    • 应用管理:设备插件管理、插件生成器、插件安装、应用市场
    • 设备插件生成器:快速生成、自定义物模型、自定义图表、JSON 导入导出
    • 协议接入:开发自定义协议配置、配置后的接入参数
    • 用户管理:Casbin 方案、页面权限控制、项目权限控制、多角色定义
    • 规则引擎:数据转发第三方、接收设备数据并转换、接入各种协议、实时数据计算
    • 数据网关:OpenAPI ,数据库 SQL-to-HTTP ,对接三方系统,限制 IP 与数据范围,授权读取
    • 系统设置:更换 Logo 、更换系统标题、更换主题风格
    • 物联网 APP:Uniapp 开发、扫码添加设备、查看监测值、切换项目和设备分组、手动控制、设置控制策略、查看操作日志、个人账号管理、手机验证码登录
    • 依赖型插件:依赖型插件为行业解决方案、基于设备插件和其他功能与数据、可视化调用、iframe 代码引入、插件复用

    开源合作

    我们在 GitHub 社区平台托管了代码,并提供了丰富的文档和教程。欢迎大家参与开发!

    加入群组交流

    在官网 ThingsPanel 下方,你可以扫描添加微信或者 QQ 邀请加群。

    相关链接

    11 条回复    2023-08-13 21:48:10 +08:00
    ZGame
        1
    ZGame  
       2023-08-07 09:36:48 +08:00   1
    目前在做设备采集数据展示这块,提一下意见。
    1. 可以考虑接入第三方的开源 bi 软件 ,比如 datart , 目前数据大屏这块看着有点单薄?
    2.核心功能规则引擎功能在哪?这类平台我觉得核心功能应该是 etl 部分,如何存到数据库和进行批量设备的数据清洗?数据存在哪?
    zjhong
        2
    zjhong  
    OP
       2023-08-07 09:58:49 +08:00
    @ZGame 多谢你的建议啊

    1.可视化这块刚开发出来不久,基于 antv 做的,功能还在完善中。接入第三方确实不错,毕竟开源的东西大家需要给大家自由,这块我们下一步就加上。
    2.规则引擎功能在 super 账户下面,全局权限,用的 NodeRed ,数据在 timescaleDB 中,数据清洗目前在设备脚本里处理。
    ZGame
        3
    ZGame  
       2023-08-07 11:28:06 +08:00
    @zjhong 嗯 可以的话 super 的账号看看效果,
    我是觉得这种平台核心能力是数据管道+数据可视化 :
    datart https://github.com/running-elephant/datart
    openmeta https://github.com/open-metadata/OpenMetadata
    技术上到是感觉没啥难度 ,主要是要让交付易用性更高吧
    zjhong
        4
    zjhong  
    OP
       2023-08-07 11:40:50 +08:00
    @ZGame 多谢分享,super 账号你加我微信我发你:imyudao 。技术没难度,这些都还好了。
    yzld2002
        5
    yzld2002  
       2023-08-07 17:44:52 +08:00
    star 了,正好要做触摸屏和云上数采的开发,感觉很符合需求!
    hustfox
        6
    hustfox  
       2023-08-07 20:33:25 +08:00 via Android
    公司用 thingboard 开发,对于本地文件读取,数据库交互,音视频数据接入很头疼
    zjhong
        7
    zjhong  
    OP
       2023-08-08 09:20:30 +08:00
    @hustfox 之前我们也用 ThingsBoard 的,学习成本高,开发周期长。所以才做了这个,用来替代 ThingsBoard 。ThingsPanel 用一个办法接入所有设备,不用为了接一些特殊设备再开发一个单独的接入系统,省了很多事情。
    hustfox
        8
    hustfox  
       2023-08-10 11:21:29 +08:00
    @zjhong 试用了下,modbus 接入还没整明白,
    问题 1:文档上的图片无法点击放大,放大网页看很糊;
    问题 2:文档的说明和实际使用并不一致,modbus 寄存器的设置没有找到地方
    zjhong
        9
    zjhong  
    OP
       2023-08-10 21:04:32 +08:00
    @hustfox 谢谢指出问题

    问题 1:我们改一下,现在确实不清晰。
    问题 2:选择 Modbus 协议之后,添加子设备,子设备配置这里设置。
    hustfox
        10
    hustfox  
       2023-08-11 10:15:29 +08:00
    @zjhong ![2e322e915c2680d9be6a7fb176ac5ed6.png]( https://us1.myximage.com/2023/08/11/2e322e915c2680d9be6a7fb176ac5ed6.png)

    并没有子设备配置
    zjhong
        11
    zjhong  
    OP
       2023-08-13 21:48:10 +08:00
    @hustfox 就在设备详情里,选择不同的协议,设备详情里面的配置也不同。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2914 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 14:25 PVG 22:25 LAX 07:25 JFK 10:25
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86