在Raspberry Pi 3 Model B中安装ThingsBoard

This guide describes how to install ThingsBoard on a Raspberry Pi 3 running Raspbian Jessie.

本章讲述如何在Raspberry Pi 3 Raspbian Jessie系统中安装ThingsBoard

第三方组件安装

Java

ThingsBoard service is running on Java 8. Oracle Java 8 is already pre-installed on Raspbian. You can check java version using the following command

TingsBoard在Java8中运行。Raspbian中已经安装了Oracle Java 8,您可以执行以下命令检查Java版本:

$ java -version
java version "1.8.0_65"
Java(TM) SE Runtime Environment (build 1.8.0_65-b17)
Java HotSpot(TM) Client VM (build 25.65-b01, mixed mode)

Any Java version higher than or equal to 1.8 is fine.

请确保java版本不低于1.8。

[非必要] 外部数据库安装

ThingsBoard is able to use SQL or NoSQL(Cassandra) database layer. By default, ThingsBoard uses embedded HSQLDB instance which is very convenient for evaluation or development purposes. If this is your first experience with ThingsBoard we recommend to skip this step and use the embedded database.

ThingsBoard可以使用SQL或NoSQL(Cassandra)数据库。默认情况下,ThingsBoard使用内置的HSQLDB,HSQLDB方便评估和开发。如果您是第一次接触ThingsBoard,我们建议您跳过这一步,先使用内置数据库进行体验。

Alternatively, you can configure your platform to use either scalable Cassandra DB cluster or various SQL databases. If you prefer to use an SQL database, we recommend PostgreSQL.

或者,您可以使用可扩展的Cassandra DB集群或SQL数据库。如果您选择使用SQL数据库,我们推荐您使用PostgreSQL。

SQL数据库: PostgreSQL

NOTE: This is an optional step. It is required only for production usage. You can use embedded HSQLDB for platform evaluation or development

注意,此步骤仅供生产使用,可跳过。你可以使用HSQLDB来进行评估和开发。

Instructions listed below will help you to install PostgreSQL.

请按照如下指令安装PostgreSQL。

sudo apt-get update
sudo apt-get install postgresql postgresql-contrib
sudo service postgresql start

Once PostgreSQL is installed you may want to create a new user or set the password for the the main user.

PostgreSQL安装完成后,请创建一个新用户或者为主用户设置密码。

See the following guides for more details: using postgresql roles and databases and changing the postgres user password

详情请参见如下指南: using postgresql roles and databases and changing the postgres user password

When it’s done, connect to the database and create thingsboard DB:

完成后,连接数据库并创建thingsboard DB

psql -U postgres -d postgres -h 127.0.0.1 -W

CREATE DATABASE thingsboard;
\q

ThingsBoard服务安装

Download installation package or build it from source.

下载安装包或build it from source.

# Download the package
$ wget https://github.com/thingsboard/thingsboard/releases/download/v1.3/thingsboard-1.3.deb
# Install ThingsBoard as a service
$ sudo dpkg -i thingsboard-1.3.deb
# Update ThingsBoard memory usage and restrict it to 150MB in /etc/thingsboard/conf/thingsboard.conf
export JAVA_OPTS="$JAVA_OPTS -Dplatform=rpi -Xms256M -Xmx256M"

[非必要] 配置ThingsBoard使用PostgreSQL

NOTE: This is an optional step. It is required only for production usage. You can use embedded HSQLDB for platform evaluation or development

注意,此步骤仅供生产使用,可跳过。你可以使用HSQLDB来进行评估和开发。

Edit ThingsBoard configuration file

编辑ThingsBoard配置文件。

sudo nano /etc/thingsboard/conf/thingsboard.yml

Comment ‘# HSQLDB DAO Configuration’ block.

注释‘# HSQLDB DAO Configuration’

# 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:}"

Uncomment ‘# PostgreSQL DAO Configuration’ block.

去除‘# PostgreSQL DAO Configuration’注释。

#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}"

运行安装脚本

Once ThingsBoard service is installed, you can execute the following script:

ThingBoard安装完成后,您可以执行以下操作:

# --loadDemo option will load demo data: users, devices, assets, rules, widgets.
sudo /usr/share/thingsboard/bin/install/install.sh --loadDemo

启动ThingsBoard服务

Execute the following command to start ThingsBoard:

执行以下命令启动ThingsBoard:

sudo service thingsboard start

Once started, you will be able to open Web UI using the following link:

启动后,可使用以下链接打开Web页面:

http://localhost:8080/

NOTE: Please allow up to 2 minutes for the Web UI to start

故障排除

ThingsBoard logs are stored in the following directory:

ThingsBoard日志文件存储在如下目录中:

/var/log/thingsboard

You can issue the following command in order to check if there are any errors on the backend side:

你可以使用如下命令检查后端是否发生错误:

cat /var/log/thingsboard/thingsboard.log | grep ERROR

results matching ""

    No results matching ""