所有分类
  • 所有分类
  • 实时新闻

ThingsBoard源码编译和运行

thingsboard是一个用于管理设备和收集、处理、可视化数据的开源物联网平台,它通过物联网行业标准协议(MQTT、CoAP 和 HTTP)实现设备连接,支持单机和分布式部署。

简单来说,ThingsBoard 技术路线是:前台Angular、后台Java、移动端Flutter。本文使用最新代码(版本v3.3.4.1)整理前后台的编译运行。

1. 编译工具安装

详细安装过程不再描述,所需工具有:

  • 安装Java 11,下载最新的OpenJDK 11 (LTS)包,这里使用的是jdk-11.0.15+10,Open JDK 下载https://adoptium.net/temurin/releases
  • 安装Maven,版本需要3.1.0+,这里使用的是,apache-maven-3.8.3,Maven 下载https://maven.apache.org/download.cgi
  • 安装Nodejs,这里使用v16.13.0版本,安装 yarnnpm install -g yarn@v1.22.17,Node 下载https://nodejs.org/en/download

注:可将 maven 和 npm 源设为淘宝镜像。

2. 编译

准备工作:

  • 官方 Github 仓库下载最新源码,Github 地址
  • 关闭 license 检查,注释根目录pom.xml中的license-maven-plugin相关内容
  • 进入源码目录,执行命令构建:
mvnclean install -DskipTests
ThingsBoard源码编译和运行

3. 运行

首先,安装 PostgreSQL 数据库,这里使用的版本是postgresql-11.13-1-windows-x64.exe,安装使用默认参数和密码即可。安装成功后,使用pgAdmin 4管理工具新建一个名为thingsboard的数据库。

然后,命令行进入application/target/windows目录中,运行install_dev_db.bat脚本,插入测试数据。

最后,用 IDEA 打开项目源码,在application模块中找到ThingsboardServerApplication类启动项目,访问地址:http://localhost:8080

默认用户名和密码

系统管理员: sysadmin@thingsboard.org/sysadmin
租户: tenant@thingsboard.org/tenant
客户: customer@thingsboard.org/customer

推送模拟数据MQTT.js是一个开源客户端,用于Node.js和浏览器环境中,这里使用它连接设备并推送数据,全局安装使用命令行操作:

npminstall mqtt -g

使用租户用户登录后,查看设备配置,已预设了Thermostat T1Thermostat T2两个设备,分别复制他们的访问令牌,然后在命令行使用mqtt 客户端发布以下格式数据:

{"temperature":25,"humidity":45}

多推送几组数据,就可以在仪表板库查看告警和历史数据折线图:

mqttpublish -h127.0.0.1-p1883-u"T1_TEST_TOKEN"-t"v1/devices/me/telemetry"-m"{\"temperature\": 18,\"humidity\": 29}"mqtt publish -h127.0.0.1-p1883-u"T2_TEST_TOKEN"-t"v1/devices/me/telemetry"-m"{\"temperature\": 25,\"humidity\": 22}"

实时点位数据和告警数据图

ThingsBoard源码编译和运行

设备Thermostat T1历史数据折线图

ThingsBoard源码编译和运行

4. 遇到的问题

(1)fatal: remote error: The unauthenticated git protocol on port 9418 is no longer supported.

用户目录下文件.gitconfig新增两项:

[url"https://"]
  insteadOf = ssh://[url"https://"]
  insteadOf = git://

(2)编译 JavaScript Executor 微服务失败

通常是下载对应版本的 pkg-fetch 失败导致,可手动在https://github.com/vercel/pkg-fetch/releases下载,然后放到用户目录下的.pkg-cache目录中。

3.3.4.1 版本需要v12.22.2,文件内容如下:

C:\Users\xxxxx\.pkg-cache\v3.2├─fetched-v12.22.2-linux-x64└─fetched-v12.22.2-win-x64

(3)mvn clean报错

一般是存活 node.exe 导致,使用命令结束(win 下):

taskkill/f /imnode.exe

(4)运行报Command line is too long. Shorten command line for错误

  • 打开Run/Debug Configurations找到Modify options
  • 选择Shorten command line,设置为JAR manifest

(5)其他

  • 编译前端项目 ui-ngx 时,有些依赖下载超时导致失败,可单独对这个模块重复编译尝试
  • 不想把 JDK11 设为全局变量,可在 cmd 执行set JAVA_HOME=”E:\dev-env\jdk-11.0.15+10″临时设置

原文链接:https://www.w1ym.com/83155/,转载请注明出处~~~
0

评论0

请先

站点公告

【温馨提示】 本站不建议您对本站支付任何费用或开通任何会员本站99%资源为免费资源只提供共享不提供技术支持,本站资源主要以学习开发为主,本站是为个人资源记录学习研究等情况而建立,如特殊原因下载,需在24小时删除相关资源。本站资源均来自互联网收集或网友分享,若有侵权,请联系站长删除,谢谢。立即查看
显示验证码
没有账号?注册  忘记密码?