简介
ThingsBoard是一个开源物联网平台,可实现物联网项目的快速开发、管理和扩展。
ThingsBoard 架构设计:
- 高扩展: 使用领先开源技术构建的可水平扩展平台。
- 高容错:无单点故障集群中的每个节点都是相同的。
- 高性能:单个服务器节点可以根据用例处理几十甚至数十万个设备,集群可以处理数百万台设备。
- 高灵活:开发新功能可以方便的使用自定义部件、规则引擎等。
- 持久化:数据永久保存
编译准备
配置java 11 开发环境
java -version
配置maven
mvn -version
Maven镜像更新
<mirror>
<id>central</id>
<name>aliyun central</name>
<url>https://maven.aliyun.com/repository/central</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>google</id>
<name>aliyun google</name>
<url>https://maven.aliyun.com/repository/google</url>
<mirrorOf>google</mirrorOf>
</mirror>
<mirror>
<id>public</id>
<name>aliyun public</name>
<url>https://maven.aliyun.com/repository/public</url>
<mirrorOf>public</mirrorOf>
</mirror>
<mirror>
<id>gradle-plugin</id>
<name>aliyun gradle-plugin</name>
<url>https://maven.aliyun.com/repository/gradle-plugin</url>
<mirrorOf>gradle-plugin</mirrorOf>
</mirror>
<mirror>
<id>spring</id>
<name>aliyun spring</name>
<url>https://maven.aliyun.com/repository/spring</url>
<mirrorOf>spring</mirrorOf>
</mirror>
<mirror>
<id>spring-plugin</id>
<name>aliyun spring-plugin</name>
<url>https://maven.aliyun.com/repository/spring-plugin</url>
<mirrorOf>spring-plugin</mirrorOf>
</mirror>
<mirror>
<id>grails-core</id>
<name>aliyun grails-core</name>
<url>https://maven.aliyun.com/repository/grails-core</url>
<mirrorOf>grails-core</mirrorOf>
</mirror>
<mirror>
<id>apache-snapshots</id>
<name>aliyun apache-snapshots</name>
<url>https://maven.aliyun.com/repository/apache-snapshots</url>
<mirrorOf>apache-snapshots</mirrorOf>
</mirror>
安装git
git -version
拉取源码
git clone https://github.com/thingsboard/thingsboard.git
cd thingsboard
mvn clean install -DskipTests
使用IDEA 打开项目
切换到release-3.3分支
使用PostgreSQL 12.X及以上版本
下载链接,https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
使用MAC安装版,老是在最后一次报错,本人经验,先卸载掉;
系统偏好设置-用户,新建一个postgres用户,再此安装,next、next通过。
前端项目ui-ngx
在 IDEA 中进行 mvn clean install -Dmaven.test.skip=true 进行编译,在 ui-ngx 模块报错。
使用VScode 打开项目
- node -v
v16.2.0 - npm install -g yarn
- yarn config set registry https://registry.npm.taobao.org -g
- yarn config set sass_binary_site http://cdn.npm.taobao.org/dist/node-sass -g
- yarn build
依然报错,参考解决Thingsboard 编译前端 ui-ngx 踩坑记录
主要原因是文件发现其中三个依赖组件是 git://xxx.git 格式,经查资料已经被 github 禁用了,需要转换为 https://。
"flot": "git://github.com/thingsboard/flot.git#0.9-work",
"flot.curvedlines": "git://github.com/MichaelZinsmaier/CurvedLines.git#master",
"ngx-flowchart": "git://github.com/thingsboard/ngx-flowchart.git#release/1.0.0",
也可以手动改为https://
设置git设置不进行 https 验证是必要的
git config http.sslVerify “false”