/ThingsPanel-Go

The plug-in IoT platform developed by Go language has high performance, low entry and easy expansion. Support MQTT, Modbus multi protocol, multi type device access and visualization, automation, alarm, rule engine and other functions.

Primary LanguageGoGNU Affero General Public License v3.0AGPL-3.0

ThingsPanel

哔哩哔哩 GitHub 知乎

产品首页

ThingsPanel是一个通用、开源的物联网应用平台,旨在通过可复用的组件,减少开发工作,加速物联网项目交付。

插件化是ThingsPanel最大的特点,通过插件,使物联网的复杂性大大降低。进一步降低成本、提高效率。同时也降低运维的难度与成本。

ThingsPanel的插件主要有3类,分别是:

  • 设备插件
  • 协议插件
  • 可视化插件

通过以上五种的复用,可以大大提高研发效率,比以前的方式,成倍的提高效率,降低成本。

产品用途

  • 设备上云与企业物联网+。

优势

  • 模块化构建,实现业务更快。
  • 简单易用。
  • 易拓展

演示

http://dev.thingspanel.cn

账户:admin@thingspanel.cn密码:123456

针对用户与场景

  • 快速交付项目
  • 快速开发自己的方案
  • 设备物联网+

解决问题

  • 针对物联网项目开发慢、复杂度高的问题。

功能

功能项目 功能点 说明
设备接入 项目与分组 编辑创建项目,可创建多个业务,按照属性结构创建业务,无限级别分组。
设备管理 按照分组添加管理设备。获得设备推送参数,进行数据对接。
查看设备推送状态,设备插件所带的图表组件,可根据分组、设备插件对设备进行快速筛选。可管理无限级分组
多协议接入 网关与子设备接入、直连设备接入
MQTT、Modbus TCP RTU、TCP官方与自定义协议、GB28181安防摄像头接入协议,支持其它任何协议插件拓展。
设备地图 - 根据项目与分组筛选设备并在地图上查看。
根据设备类型(设备插件)筛选设备并在地图上查看。
设备监控 设备添加后可直接在设备监控页面中查看监控图表,可自动调用设备插件中的当前值、曲线、开关、写入指令组件显示。
自动化 控制策略
告警策略
可添加控制策略和告警策略;支持控制策略优先级。;支持多个控制策略或与条件;支持时间和设备触发两种触发类型。;支持多个控制指令同时下发。
支持不同业务不同的策略。
数据管理 - 根据业务,根据时间段筛选数据。;实时查看收到的数据日志,方便监测数据是否已经收到。;数据可以导出
告警信息 - 根据业务和分组显示告警信息。可根据时间段筛选。
系统日志 - 查看不同的IP在系统中的访问路径,以便进行安全审计。
查看设备被操作的任何记录,包括手动和自动,由什么条件触发。
应用管理​ 应用管理 对设备插件进行管理,设备插件是设备的软件部分,包括数据和协议定义,数据处理,设备输出的图表报表单元。
插件生成器 可以自行导入Echarts图表;可自行添加添加3D的组件;快速创建插件;使用JSON,方便开发手机端;
可以导入、导出插件、自定义物模型
可视化 -
规则引擎 设备接入
数据转发
将收到的数据转发第三方。
接收设备数据并转换格式。
支持各种协议。
满足各种自定义需求。
用户管理 角色管理
权限管理
用户管理
采用Casbin方案,支持ACL,RBAC多种权限管理方式,支持大型业务权限控制。
支持到页面的权限控制。
支持对业务进行分别的权限控制。
支持多角色定义,自定义角色权限。
系统设置 多协议接入 更换Logo。
更换系统标题。
更换主题风格。
手机APP APP 使用Uniapp开发,可以方便的编译成iOS,安卓,微信小程序以及其他小程序,H5。
可以扫码添加设备(设备需要在后台先导入)。
查看监测值。
切换智能化业务和设备分组。
手动控制。
设置控制策略,分为设备触发和时间条件触发两种。
查看操作日志。
个人账号管理功能。
手机验证码登录。

系统架构

系统架构

技术栈

  • Golang:天生优异的并发性能,节省硬件成本,可适用于边缘设备。
  • Vue.js:前端构建,体验更佳
  • PostgreSQL:更高的负载能力,更低的拥有成本。
  • TimescaleDB :时序数据库,PostgreSQL插件。
  • Nginx:高性能Web服务器。
  • GMQTT:高性能消息队列处理。
  • Redis:NoSQL缓存数据库

快速安装系统

先决条件

  • 需要先安装好Docker、Docker Compose、Git
  • 使用MQTT模拟器,可使用MQTTbox、 MQTT.fx ,或者使用设备推送数据。

通过Docker容器安装ThingsPanel

通过容器化部署是搭建ThingsPanel的最快方式。

  1. 获取docker-compose源码

    git clone https://github.com/ThingsPanel/thingspanel-docker.git
  2. 进入目录并启动服务

    cd thingspanel-docker
    docker-compose -f docker-compose.yml up
  3. 登录

    输入网址:服务器ip:8080
    输入账户:super@super.cn
    输入密码:123456
    

接入一个温湿度设备并查看数据

对接

  1. 创建业务、创建设备

    1. 创建业务
    2. 创建设备
    3. 绑定插件
    4. 编辑参数
    
  2. 推送数据(可使用MQTT工具推送模拟数据)

    1. mqtt用户名为AccessToken
    
  3. 查看数据和可视化

    1. 点击数据管理查看数据
    2. 点击可视化通过图表展示数据
    

项目文档

http://thingspanel.io

特别鸣谢

感谢paddy235开发的ThingsPanel仿真测试脚本,可用于仿真和压力测试,脚本地址是:https://gitee.com/paddy235/thingspanel_simulation_python

贡献者

感谢您对ThingsPanel的贡献!

参与讨论和贡献

qq群①:260150504(已满)
qq群②:371794256

欢迎有兴趣者加入沟通和讨论

参与贡献请联系群主