当前位置:   article > 正文

thingsboard开源项目源码编译与启动_启动thingsboard服务

启动thingsboard服务

前言

ThingsBoard 是目前 Github 上最流行的开源物联网平台,可以实现物联网项目的快速开发和使用。

本文介绍 thingsboard@3.7.0 项目的前后端的编译与启动。

源码下载

git clone https://github.com/thingsboard/thingsboard.git

后端环境准备

  • jdk17 安装
  • maven3.8 以上
  • gradle7.3 以上
  • postgresql 14

在 IDEA 里打开 clone 的 thingsboard 项目,配置文件 applixation.yml 中修改 datasource 配置。

  datasource:
    # Database driver for Spring JPA - org.postgresql.Driver
    driverClassName: "${SPRING_DRIVER_CLASS_NAME:org.postgresql.Driver}"
    # Database connection URL
    url: "${SPRING_DATASOURCE_URL:jdbc:postgresql://localhost:5432/thingsboard}"
    # Database user name
    username: "${SPRING_DATASOURCE_USERNAME:postgres}"
    # Database user password
    password: "${SPRING_DATASOURCE_PASSWORD:postgres}"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

源码编译

使用maven进行编译,依次点击clean、install。

[INFO] Thingsboard ........................................ SUCCESS [  0.082 s]
 
[INFO] Netty MQTT Client .................................. SUCCESS [  2.994 s]
 
[INFO] Thingsboard Server Commons ......................... SUCCESS [  0.006 s]
 
[INFO] Thingsboard Server Common Data ..................... SUCCESS [  6.982 s]
 
[INFO] Thingsboard Server Common Utils .................... SUCCESS [  0.800 s]
 
[INFO] Thingsboard Server Common Messages ................. SUCCESS [  1.901 s]
 
[INFO] Thingsboard Actor system ........................... SUCCESS [  1.032 s]
 
[INFO] Thingsboard Server Stats ........................... SUCCESS [  0.304 s]
 
[INFO] Thingsboard Server Common Cluster API .............. SUCCESS [  8.560 s]
 
[INFO] Thingsboard Server Queue components ................ SUCCESS [ 15.263 s]
 
[INFO] Thingsboard Server Common Cache .................... SUCCESS [  0.833 s]
 
[INFO] Thingsboard Server Commons ......................... SUCCESS [  0.004 s]
 
[INFO] Thingsboard Server Common Transport components ..... SUCCESS [  3.189 s]
 
[INFO] Thingsboard MQTT Transport Common .................. SUCCESS [  1.599 s]
 
[INFO] Thingsboard HTTP Transport Common .................. SUCCESS [  0.597 s]
 
[INFO] Thingsboard CoAP server ............................ SUCCESS [  0.617 s]
 
[INFO] Thingsboard CoAP Transport Common .................. SUCCESS [  1.308 s]
 
[INFO] Thingsboard LwM2M Transport Common ................. SUCCESS [  2.418 s]
 
[INFO] Thingsboard SNMP Transport Common .................. SUCCESS [  0.993 s]
 
[INFO] Thingsboard Server Common DAO API .................. SUCCESS [  0.980 s]
 
[INFO] Thingsboard Server Remote Edge wrapper ............. SUCCESS [  4.521 s]
 
[INFO] Thingsboard Extensions ............................. SUCCESS [  0.004 s]
 
[INFO] Thingsboard Rule Engine API ........................ SUCCESS [  1.105 s]
 
[INFO] Thingsboard Server DAO Layer ....................... SUCCESS [  8.115 s]
 
[INFO] Thingsboard Rule Engine Components ................. SUCCESS [  4.452 s]
 
[INFO] Thingsboard Server Transport Modules ............... SUCCESS [  0.004 s]
 
[INFO] Thingsboard HTTP Transport Service ................. FAILURE [10:47 min]
 
[INFO] Thingsboard MQTT Transport Service ................. SKIPPED
 
[INFO] Thingsboard CoAP Transport Service ................. SKIPPED
 
[INFO] Thingsboard LwM2m Transport Service ................ SKIPPED
 
[INFO] Thingsboard SNMP Transport Service ................. SKIPPED
 
[INFO] ThingsBoard Server UI .............................. SKIPPED
 
[INFO] Thingsboard Server Tools ........................... SKIPPED
 
[INFO] Thingsboard Rest Client ............................ SKIPPED
 
[INFO] ThingsBoard Server Application ..................... SKIPPED
 
[INFO] ThingsBoard Microservices .......................... SKIPPED
 
[INFO] ThingsBoard Docker Images .......................... SKIPPED
 
[INFO] ThingsBoard JavaScript Executor Microservice ....... SKIPPED
 
[INFO] ThingsBoard Web UI Microservice .................... SKIPPED
 
[INFO] ThingsBoard Node Microservice ...................... SKIPPED
 
[INFO] ThingsBoard Transport Microservices ................ SKIPPED
 
[INFO] ThingsBoard MQTT Transport Microservice ............ SKIPPED
 
[INFO] ThingsBoard HTTP Transport Microservice ............ SKIPPED
 
[INFO] ThingsBoard COAP Transport Microservice ............ SKIPPED
 
[INFO] ThingsBoard LWM2M Transport Microservice ........... SKIPPED
 
[INFO] ThingsBoard SNMP Transport Microservice ............ SKIPPED
 
[INFO] ------------------------------------------------------------------------
 
[INFO] BUILD FAILURE
 
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.thingsboard:gradle-maven-plugin:1.0.11:invoke (default) on project http: org.gradle.tooling.BuildException: Could not execute build using connection to Gradle distribution 'https://services.gradle.org/distributions/gradle-7.1.1-bin.zip'. -> [Help 1]
 
[ERROR]
 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
 
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
 
[ERROR]
 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
 
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
 
[ERROR]
 
[ERROR] After correcting the problems, you can resume the build with the command


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116

如果出现上述错误,是由于网络问题,无法从配置的maven的setting文件中下载jar包或者pom文件。

解决办法:点击继续编译,多次尝试不行的话,可以手动去aliyun仓库下载对应的jar包和pom文件。

注意:编译过程中功能出现多次错误,只要 thingsboard@3.7.0对应的环境安装对应,剩下的错误一般情况都是网络问题,可继续编译,或者手动下载jar包放入对应的本地仓库。

中途下载失败可尝试清理本地仓库下载失败的jar包或者pom文件,因为下载失败到本地仓库后,再次编译下载jar包,就会读取本地对应的包下有无文件,需要及时清理其中的"lastUpdated,.repositories,.sha1-in-progress" 的文件
以下是清理本地仓库的处理文件

清理本地仓库.bat文件

@echo off

@ ECHO.
@ ECHO.
@ ECHO.                              说    明
@ ECHO -----------------------------------------------------------------------
@ ECHO		  本文件是专门用来解决maven下载所需jar包失败的情况下
@ ECHO			    需要频繁删除本地仓库的问题的
@ ECHO	 本程序会将本文件所在目录下的所有包含"lastUpdated,*.repositories,*.sha1-in-progress" 的文件全部删除
@ ECHO				      请慎用
@ ECHO		    用法:将本文件放入maven本地仓库下双击即可运行
@ ECHO -----------------------------------------------------------------------
@ ECHO.
pause

del /s *lastUpdated* *.repositories *.sha1-in-progress *lastUpdated

@ ECHO -----------------------------------------------------------------------
@ ECHO		  成功删除本文件夹下所有包含"lastUpdated,*.repositories,*.sha1-in-progress" 的文件
@ ECHO -----------------------------------------------------------------------
@ ECHO.
pause
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

至此,后端编译成功后,先要执行 ThingsboardInstallApplication启动类,把数据库的初始数据写入进去,否则执行 ThingsboardServerApplication 启动类会报错。(数据库中要有对应的表,在thingsboard数据库下执行这几个sql文件)

  1. 把 dao包下的source下的 sql包 复制,放入如下图对应的包下。

  2. 启动 ThingsboardInstallApplication 类,启动成功后查看 PGSQL数据库中有无数据,查看第一个表有数据即可成功启动 ThingsboardServerApplication 启动类。

  3. 启动 ThingsboardServerApplication 类,出现下图所示,即启动成功。

    在这里插入图片描述

  4. 启动成功后,浏览器访问 http://localhost:8080/

    后端接口文档,浏览器访问 http://localhost:8080/swagger-ui/index.html
    在这里插入图片描述

前端环境准备

  • nodejs 20.11.1
  • yarn 1.22.17

查看 thingsboard项目的 ui-ngx 包下的pom文件,其中里面指定了版本。在这里插入图片描述

  1. Node.js安装访问https://nodejs.org,下载指定版本,推荐选择一键安装的 node-v版本号-x64.msi文件进行安装。

  2. 安装完Node.js后,打开cmd窗口,全局安装指定版本的yarn命令:npm install -g yarn@1.22.17。

  3. 安装完成后,可以在cmd窗口输入 node -v 和 yarn -v 查看是否安装成功。

前端安装启动

安装依赖

  • 解压项目ThingsBoard,找到前端项目目录ui-ngx,在该目录下执行安装依赖命令:yarn install 或者npm install
  • 安装时,可能会出现错误。
    如果有提示OpenSSL SSL_read: Connection was reset, errno 10054的报错。

    那么需要修改下Git认证配置,再次执行安装依赖命令。
git config --global http.sslVerify "false"
git config --global https.sslVerify "false"
  • 1
  • 2
  • 然后这次安装,有可能出现网络问题,安装不成功。建议多次尝试,或者清理node_moudles包重新安装。
  • 安装成功后显示:

编译构建启动

  • 安装好依赖后,执行 yarn start 或者npm start启动。(如果使用 npm启动,出现一直报错的情况,还是建议使用 yarn启动,启动前 要保证成功安装,yarn install)
    在这里插入图片描述
  • Browser application bundle generation complete,这里需要耐心等待。。。
    在这里插入图片描述
  • 至此,前端安装并启动成功。(如果 Compiled successfully 成功后,还报红,那可能是 后端服务没有启动,可在 proxy.conf.js 这个文件中配置后端url,配置好后,再次编译运行即可)
    在这里插入图片描述
    浏览器访问 http://localhost:4200/ 进入thingsboard 登录页面。

ThingsBoard首页

使用管理员登录,用户名 sysadmin@thingsboard.org, 密码 sysadmin

登录成功后,进入首页。
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/638749
推荐阅读
相关标签
  

闽ICP备14008679号