# ThingsBoard **Repository Path**: su27ubkk/thingsboard ## Basic Information - **Project Name**: ThingsBoard - **Description**: ThingsBoard二开 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2026-04-18 - **Last Updated**: 2026-07-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ![banner](https://github.com/user-attachments/assets/3584b592-33dd-4fb4-91d4-47b62b34806c)
# Open-source IoT platform for data collection, processing, visualization, and device management.

💡 [Get started](https://thingsboard.io/docs/getting-started-guides/helloworld/) • 🌐 [Website](https://thingsboard.io/) • 📚 [Documentation](https://thingsboard.io/docs/) • 📔 [Blog](https://thingsboard.io/blog/) • ▶️ [Live demo](https://demo.thingsboard.io/signup) • 🔗 [LinkedIn](https://www.linkedin.com/company/thingsboard/posts/?feedView=all)
## 🚀 Installation options * Install ThingsBoard [On-premise](https://thingsboard.io/docs/user-guide/install/installation-options/?ceInstallType=onPremise) * Try [ThingsBoard Cloud](https://thingsboard.io/installations/) * or [Use our Live demo](https://demo.thingsboard.io/signup) ## 💡 Getting started with ThingsBoard Check out our [Getting Started guide](https://thingsboard.io/docs/getting-started-guides/helloworld/) or [watch the video](https://www.youtube.com/watch?v=80L0ubQLXsc) to learn the basics of ThingsBoard and create your first dashboard! You will learn to: * Connect devices to ThingsBoard * Push data from devices to ThingsBoard * Build real-time dashboards * Create a Customer and assign the dashboard with them. * Define thresholds and trigger alarms * Set up notifications via email, SMS, mobile apps, or integrate with third-party services. ## ✨ Features

Provision and manage devices and assets

Provision and manage
devices and assets

Provision, monitor and control your IoT entities in secure way using rich server-side APIs. Define relations between your devices, assets, customers or any other entities.


Read more ➜


Collect and visualize your data

Collect and visualize
your data

Collect and store telemetry data in scalable and fault-tolerant way. Visualize your data with built-in or custom widgets and flexible dashboards. Share dashboards with your customers.


Read more ➜


SCADA Dashboards

SCADA Dashboards

Monitor and control your industrial processes in real time with SCADA. Use SCADA symbols on dashboards to create and manage any workflow, offering full flexibility to design and oversee operations according to your requirements.


Read more ➜


Process and React

Process and React

Define data processing rule chains. Transform and normalize your device data. Raise alarms on incoming telemetry events, attribute updates, device inactivity and user actions.



Read more ➜

## ⚙️ Powerful IoT Rule Engine ThingsBoard allows you to create complex [Rule Chains](https://thingsboard.io/docs/user-guide/rule-engine-2-0/re-getting-started/) to process data from your devices and match your application specific use cases. [![IoT Rule Engine](https://github.com/user-attachments/assets/43d21dc9-0e18-4f1b-8f9a-b72004e12f07 "IoT Rule Engine")](https://thingsboard.io/docs/user-guide/rule-engine-2-0/re-getting-started/)
[**Read more about Rule Engine ➜**](https://thingsboard.io/docs/user-guide/rule-engine-2-0/re-getting-started/)
## 📦 Real-Time IoT Dashboards ThingsBoard is a scalable, user-friendly, and device-agnostic IoT platform that speeds up time-to-market with powerful built-in solution templates. It enables data collection and analysis from any devices, saving resources on routine tasks and letting you focus on your solution’s unique aspects. See more our Use Cases [here](https://thingsboard.io/iot-use-cases/). [**Smart energy**](https://thingsboard.io/use-cases/smart-energy/) [![Smart energy](https://github.com/user-attachments/assets/2a0abf13-6dc5-4f5e-9c30-1aea1d39af1e "Smart energy")](https://thingsboard.io/use-cases/smart-energy/) [**SCADA swimming pool**](https://thingsboard.io/use-cases/scada/) [![SCADA Swimming pool](https://github.com/user-attachments/assets/68fd9e29-99f1-4c16-8c4c-476f4ccb20c0 "SCADA Swimming pool")](https://thingsboard.io/use-cases/scada/) [**Fleet tracking**](https://thingsboard.io/use-cases/fleet-tracking/) [![Fleet tracking](https://github.com/user-attachments/assets/9e8938ba-ee0c-4599-9494-d74b7de8a63d "Fleet tracking")](https://thingsboard.io/use-cases/fleet-tracking/) [**Smart farming**](https://thingsboard.io/use-cases/smart-farming/) [![Smart farming](https://github.com/user-attachments/assets/56b84c99-ef24-44e5-a903-b925b7f9d142 "Smart farming")](https://thingsboard.io/use-cases/smart-farming/) [**Smart metering**](https://thingsboard.io/smart-metering/) [![Smart metering](https://github.com/user-attachments/assets/adc05e3d-397c-48ef-bed6-535bbd698455 "Smart metering")](https://thingsboard.io/smart-metering/)
[**Check more of our use cases ➜**](https://thingsboard.io/iot-use-cases/)
## 🫶 Support To get support, please visit our [GitHub issues page](https://github.com/thingsboard/thingsboard/issues) ## 📄 Licenses This project is released under [Apache 2.0 License](./LICENSE) ## 编译 ```shell mvn clean package -DskipTests # 下载gradle失败 [ERROR] Failed to execute goal org.thingsboard:gradle-maven-plugin:1.0.12:invoke (default) on project edqs: org.gradle.tooling.GradleConnectionException: Could not install Gradle distribution from 'https://services.gradle.org/distributions/gradle-7.3.3-bin.zip'. -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. # 解决 # 1、手动下载:使用浏览器或下载工具,访问 https://services.gradle.org/distributions/gradle-7.3.3-bin.zip,手动下载 gradle-7.3.3-bin.zip 文件。 # 2、找到Gradle缓存目录:你需要找到你的Gradle Wrapper用来存放已下载文件的目录。通常路径如下,但目录中的随机字符串部分会有所不同: # Windows: C:\Users\<你的用户名>\.gradle\wrapper\dists\gradle-7.3.3-bin\<随机字符串>\ # macOS / Linux: ~/.gradle/wrapper/dists/gradle-7.3.3-bin/<随机字符串>/ # 3、放入文件并清理: # 进入该目录后,删除里面所有以 .lck、.part 结尾的文件以及可能存在的其他文件,确保目录是干净的。 # 将你刚刚下载的 gradle-7.3.3-bin.zip 文件复制到这个干净的目录中 # 4、重新编译:回到ThingsBoard项目根目录,重新运行编译命令 mvn clean install -DskipTests。Gradle Wrapper会跳过下载步骤,直接使用你放好的zip包 # 前端编译失败解决 INFO] Running 'yarn run pkg' in \thingsboard-4.3.1.1\msa\web-ui [INFO] yarn run v1.22.22 [INFO] $ tsc && pkg -t node22-linux-x64,node22-win-x64 --out-path ./target ./target/src && node install.js [INFO] > pkg@6.6.0 [INFO] > Fetching base Node.js binaries to PKG_CACHE_PATH [INFO] node:internal/process/promises:394 [INFO] triggerUncaughtException(err, true /* fromPromise */); [INFO] ^ [INFO] [INFO] [Error: ENOENT: no such file or directory, lstat '\thingsboard-4.3.1.1\msa\web-ui\target\thingsboard-web-ui-linux'] { [INFO] errno: -4058, [INFO] code: 'ENOENT', [INFO] syscall: 'lstat', [INFO] path: '\\thingsboard-4.3.1.1\\msa\\web-ui\\target\\thingsboard-web-ui-linux' [INFO] } [INFO] [INFO] Node.js v22.18.0 [INFO] error Command failed with exit code 1. [INFO] error Command failed with exit code 1.info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command. # pkg:是一个 Node.js 工具,能将 Node.js 项目打包成一个独立的可执行文件(不依赖系统 Node.js 环境) # 下载地址 https://github.com/yao-pkg/pkg-fetch/releases/tag/v3.5 # 根据 pkg-fetch 的规则,缓存文件必须命名为 fetched-<原文件名>。将下载的两个文件重命名为: node-v22.17.1-linux-x64 → fetched-v22.17.1-linux-x64 node-v22.17.1-win-x64 → fetched-v22.17.1-win-x64 #找到缓存目录, pkg 的默认缓存根目录是: # Windows: C:\Users\<你的用户名>\.pkg-cache\v3.5 # Linux/macOS: ~/.pkg-cache/v3.5 # mvn clean package -DskipTests 重新编译 现在 pkg 会直接从缓存中读取文件,不再尝试联网下载 # 从zip解压的源码,编译报git错误, 给 git-commit-id-maven-plugin 加 failOnNoGitDirectory=false / failOnUnableToExtractRepoInfo=false io.github.git-commit-id git-commit-id-maven-plugin 5.0.0 get-the-git-infos revision initialize true ${project.build.outputDirectory}/git.properties false false full ```