thingsboard 开发环境搭建 · 物联网平台-威尼斯人最新

download · 2020年03月24日 · 最后由 回复于 2022年08月19日 · 752 次阅读

什么是 thingsboard?

thingsboard 是一个开源平台,用于收集和可视化物联网设备的数据。可以将来自任意数量设备的数据发送到云服务器,在云服务器中可以通过可自定义的仪表板查看或共享。

安装 thingsboard

thingsboard 有两种安装方式一种是直接通过安装包安装 ,再者是通过源码编译安装下面会介绍。

直接通过安装包安装

下载安装包

 wget

安装

sudo dpkg -i thingsboard-1.3.1.deb

不过在安装 thingsboard 之前需要先安装和设置 postgresql 数据库。

安装设置 postgresql

安装 postgresql:

sudo apt install postgresql postgresql-contrib

为 thingsboard 创建数据库和数据库用户:

sudo -u postgres psql

在数据库操作环境执行 alter user postgres with password 'postgres';

重新登录数据库 psql -u postgres -d postgres -h 127.0.0.1 -w 

创建 thingsboard 数据库。在数据库操作环境中执行 create database thingsboard;

通过源码安装

    安装配置 java 环境。推荐 java8

安装配置 maven 

安装配置 nodejs 

下载 thingsboard 源代码 

最后讲生成 jar 包 thingsboard-2.1.1-snapshot-boot.jar

修改 /etc/thingsboard/conf/thingsboard.yml

  注释掉 hsqldb 相关配置

# hsqldb dao configuration
#spring:
#  data:
#    jpa:
#      repositories:
#        enabled: "true"
#  jpa:
#    hibernate:
#      ddl-auto: "validate"
#    database-platform: "org.hibernate.dialect.hsqldialect"
#  datasource:
#    driverclassname: "${spring_driver_class_name:org.hsqldb.jdbc.jdbcdriver}"
#    url: "${spring_datasource_url:jdbc:hsqldb:file:${sql_data_folder:/tmp}/thingsboarddb;sql.enforce_size=false}"
#    username: "${spring_datasource_username:sa}"
#    password: "${spring_datasource_password:}"

在同一节中,取消注释 postgresql 配置块。用 thingsboard 用户名和密码替换用户名和密码字段 thingsboard: thingsboard-master/application/src/main/resources/thingsboard.yml

# postgresql dao configuration
spring:
  data:
    jpa:
      repositories:
        enabled: "true"
  jpa:
    hibernate:
      ddl-auto: "validate"
    database-platform: "org.hibernate.dialect.postgresqldialect"
  datasource:
    driverclassname: "${spring_driver_class_name:org.postgresql.driver}"
    url: "${spring_datasource_url:jdbc:postgresql://localhost:5432/thingsboard}"
    username: "${spring_datasource_username:postgres}"
    password: "${spring_datasource_password:postgres}"

  7.进入 thingsboard 源码主目录,执行 mvn clean install.(注意要先修改 thingsboard.yml 再编译)

    通过安装包安装。同样需要修改 thingsboard.yml 此时 文件路径是/etc/thingsboard/conf/thingsboard.yml

运行      

     如果是使用安装包安装:

     运行此安装脚本: sudo /usr/share/thingsboard/bin/install/install.sh --loaddemo

     启动 thingsboard 服务: sudo systemctl enable thingsboard sudo systemctl start thingsboard

     如果是编译源码安装:

     第一次启动前需要修改 application/target/bin/install/下的 install.sh 和 install_dev_db.sh 文件几个文件夹路径改为/application/target/的路径。

     例如:

     conf_folder=/home/user/data/log/thingsboard/thingsboard-master/application/target/conf      configfile=thingsboard.conf      jarfile=/home/user/data/log/thingsboard/thingsboard-master/application/target/thingsboard-2.1.1-snapshot-boot.jar     installdir=/home/user/data/log/thingsboard/thingsboard-master/application/target/data

    run_user 改为当前的用户或者不指定 (install.sh 和 install_dev_db.sh 都需要修改)。

   然后在 application/target/bin/install/ 下执行

     ./install_dev_db.sh

    ./install.sh --loaddemo

    执行完如果没问题会提示 thingsboard installed successfully 。

    然后回到 application/target 目录执行 java -jar thingsboard-2.1.1-snapshot-boot.jar。

     在浏览器中输入 localhost:8080 ,你应该看到 thingsboard 登录页面。

docker 环境下编译

由于编译环境搭建繁琐,推荐使用 docker 进行编译,thingsboard 可以运行在 docker 环境中。

下载 docker 镜像:sudo docker pull curlyxi/things-board-env:v1

启动 docker 镜像: sudo docker run -t -i curlyxi/things-board-env:v1

在 docker 环境中: cd /root/thingsboard/thingsboard-master 执行 mvn clean install 即可。

docker 中运行 thingsboard

运行 thingsboard 前需要执行 service postgresql start 启动 postgresql.

第一次启动前需要修改 application/target/bin/install/下的 install.sh 和 install_dev_db.sh 文件几个文件夹路径改为/application/target/的路径。

     例如:

     conf_folder=/home/user/data/log/thingsboard/thingsboard-master/application/target/conf

     configfile=thingsboard.conf

     jarfile=/home/user/data/log/thingsboard/thingsboard-master/application/target/thingsboard-2.1.1-snapshot-boot.jar

    installdir=/home/user/data/log/thingsboard/thingsboard-master/application/target/data

    run_user 改为当前的用户或者不指定 (install.sh 和 install_dev_db.sh 都需要修改)。

   然后在 application/target/bin/install/ 下执行

     ./install_dev_db.sh

    ./install.sh --loaddemo

    执行完如果没问题会提示 thingsboard installed successfully 。

    然后回到 application/target 目录执行 java -jar thingsboard-2.1.1-snapshot-boot.jar。

     在宿主机浏览器中输入 localhost:8080 ,你应该看到 thingsboard 登录页面。

错误处理

     
[error] failed to execute goal com.github.eirslett:frontend-maven-plugin:1.0:npm (npm install) on project ui: failed to run task: 'npm install' failed. (error code 1) -> [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
[error]   mvn  -rf :ui

 如果编译遇到 ui 模块编译不过,可以先跳过 ui 编译。

 单独编译 tool 和 application 模块。编译 application 模块的时候修改 pom.xml 注释掉 ui 库的依赖。

     

 

 同样会生成 thingsboard-2.1.1-snapshot-boot.jar  。执行 thingsboard-2.1.1-snapshot-boot.jar 和上文介绍步骤一样:

      修改 install_dev_db.sh 和执行 install.sh. 在 application/target/bin/install/ 下执行

     ./install_dev_db.sh

    ./install.sh --loaddemo

    执行完如果没问题会提示 thingsboard installed successfully 。

    然后回到 application/target 目录执行 java -jar thingsboard-2.1.1-snapshot-boot.jar。

ui 库需要单独编译和单独执行

使用 npm 编译 ui 库.

1.安装 cnpm  

 npm install -g cnpm --registry=

  1. 在 ui 目录依次执行

   cnpm install

   cnpm run build

   cnpm  start

  1. 由于 ui 库是单独执行,所以需要打开的网页是 。

java -jar thingsboard-2.1.1-snapshot-boot.jar 和 cnpm run start 分别在不同的终端执行。

原文链接:

出现登录界面,但是为什么输入在 thingsboard 网站注册的账号密码时出现 authentication failed,使用那个 tenant@thingsboard.org.登录就可以登陆成功呢

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册
网站地图