本篇文章主要讲解thingsboard入门安装,包括zip包安装和源码编译安装,记录了全过程遇到的坑,希望帮助大家成功闭坑
ThingsBoard
hingsBoard是一个开源物联网平台,可实现物联网项目的快速开发、管理和扩展。
我们的目标是提供成熟的IoT云或本地解决方案以此做为您的IoT应用程序服务端基础架构。
zip安装
文档: http://www.ithingsboard.com/docs/user-guide/install/windows/
准备
-
安装包:https://github.com/thingsboard/thingsboard/releases/download/v3.1.1/thingsboard-windows-3.1.1.zip
-
安装PostgreSQL,采用docker安装
- 拉取PostgreSQ镜像,docker pull postgres
- 启动PostgreSQ,docker run --name postgres_cxu -e POSTGRES_PASSWORD=postgres -p 5432:5432 -v /D/docker/postgres/data:/var/lib/postgresql/data -d postgres:latest
-
安装rabbitMQ,采用docker安装
- 拉取镜像,docker pull rabbitmq
- 启动容器,docker run -d --name rabbitmq_cxu -p 5672:5672 -p 15672:15672 -v /D/docker/rabbitmq:/var/lib/rabbitmq --hostname rabbitHost -e RABBITMQ_DEFAULT_VHOST=/ -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin rabbitmq
参数修改
- DataSource,主要修改ip,port,username,password
- Queue,主要修改MQ类型,如RabbitMQ,连接信息(ip,post等)
具体修改内容参看文档
构建Windows服务
以管理员身份运行install.bat,建议使用命令install.bat –loadDemo
显示**ThingsBoard installed successfully!**则服务安装成功
过程中的坑
- 构建服务时会初始化数据库数据,提前建立名为thingsboard的数据库后不要手动去执行SQL脚本添加数据,否则报错某些数据已存在
- JDK版本问题,文档提示使用JDK8,实际安装包要求为JDK11
- 切记运行命令以管理员身份,否则报错权限不够,无法操作
上述问题可在安装目录下**/log**中查看具体错误信息
启动服务
net start thingsboard
过程中的坑
-
Error:could not create the java virtual Machine(/logs日志中报错)
解决方案:jdk环境变量配置有问题,参考:https://blog.csdn.net/m0_46672151/article/details/122558317
-
服务启动失败,错误:1067(命令行报错)
解决方案:https://blog.csdn.net/csdnksqc/article/details/119888197
本次错误是java配置处的问题
停止服务
net stop thingsboard
访问
http://localhost:8080 ,默认访问凭证如下:
系统管理员: sysadmin@thingsboard.org / sysadmin
租户管理员: tenant@thingsboard.org / tenant
客户: customer@thingsboard.org / customer
源码安装
采用thingsboard2.4
准备
安装postgres数据库
拉取代码
# 克隆源码
git clone https://gitee.com/webprogram/ThingsBoard.git
# 切换分支
git checkout release-2.4
编译
# 切换到项目路径
mvn clean install -DskipTests
过程中的坑
-
报错:Failed to clean project: Failed to delete xxxxx 无法删除某个路径下的文件,原因是之前运行的java程序占用
解决方案:任务管理器->进程->Java™ Platfrom … 结束该进程重新编译
-
ui前端编译,设置淘宝镜像
npm config set registry https://registry.npm.taobao.org/ npm config set sass_binary_site https://npm.taobao.org/mirrors/node-sass
该部分可自己先进入ui模块,运行npm install编译
-
npm install问题
-
部分github的依赖包由于网络拉去不了,可以自行去下载zip,解压后复制到ui/target/node/node_modules
-
package.json中类似地址,git://xxxx不支持,应改为https://
-
系统安装的node和npm版本应该和代码中pom中配置的一致,通过node -v和npm -v确定版本号,IDEA中全局搜索nodeVersion和npmVersion,将这两个参数修改为自己的版本号
-
-
node-sass 下载失败,配置如下(前面配置过忽略)
npm config set sass_binary_site https://npm.taobao.org/mirrors/node-sass
-
on project js-executor: Failed to run task: ‘npm install’ failed,原因:本地缓存缺少 fetched-v10.15.3-linux-x64 和 fetched-v10.15.3-win-x64 这两个文件
解决方案:下载这两个文件到本地,下载后记得重命名,下载地址:https://github.com/zeit/pkg-fetch/releases
将下载的两个文件放到:放到:C:\Users\你的用户名 \ .pkg-cache\v2.6。并将名字分别修改为:fetched-v10.15.3-linux-x64 和 fetched-v10.15.3-win-x64
-
org.postgresql.util.PSQLException: 不支援 10 验证类型。请核对您已经组态 pg_hba.conf 文件包含客户端的IP位址或网路区段,以及驱动程序所支援的验证架构模式已被支援。
原因:postgres版本为14,而驱动还是用9.1-901-1.jdbc4
解决方案:父项目中pom.xml中修改postgresql.driver.version为42.3.1
启动
运行启动类
报错ERROR: relation “admin_settings” does not exist
原因是缺少数据库表和数据,解决方案:初始化数据库
- ThingsBoard\dao\src\main\resources\sql中的sql脚本执行
- 执行ThingsBoard\application\src\main\scripts\windows中的install_dev_db.bat
另一种启动方式
编译成功后,可获取到zip包,ThingsBoard\application\target\thingsboard-windows.zip
以zip的方式进行启动,具体步骤参考《zip安装》
访问
http://localhost:8080 ,默认访问凭证如下:
系统管理员: sysadmin@thingsboard.org / sysadmin
租户管理员: tenant@thingsboard.org / tenant
客户: customer@thingsboard.org / customer