一、参考链接
按照官网步骤一步一步安装即可
英文社区:
https://thingsboard.io/docs/user-guide/install/ubuntu/?ubuntuThingsboardQueue=inmemory&ubuntuThingsboardDatabase=postgresql
中文社区:
http://www.ithingsboard.com/docs/user-guide/install/ubuntu/#%E6%AD%A5%E9%AA%A43-%E9%85%8D%E7%BD%AE%E6%95%B0%E6%8D%AE%E5%BA%93
二、详细步骤
- JAVA11环境
sudo apt update
sudo apt install openjdk-11-jdk
- 选择JAVA环境
sudo update-alternatives --config java
选择JAVA11即可
- List item
获取安装包
wget https://github.com/thingsboard/thingsboard/releases/download/v3.2.2/thingsboard-3.2.2.deb
- 安装
sudo dpkg -i thingsboard-3.2.2.deb
- 安装,运行数据库
sudo apt install -y wget
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
RELEASE=$(lsb_release -cs)
echo "deb http://apt.postgresql.org/pub/repos/apt/ ${RELEASE}"-pgdg main | sudo tee /etc/apt/sources.list.d/pgdg.list
sudo apt update
sudo apt -y install postgresql-12
sudo service postgresql start
- 增加用户名和密码
sudo su - postgres
psql
\password
----这里输回去postgres吧
\q
----之后一定要按 crtl+D退出,回到主用户
- 新建数据库
psql -U postgres -d postgres -h 127.0.0.1 -W
CREATE DATABASE thingsboard;
\q
- 增加配置,注意修改成自己数据库的密码
sudo nano /etc/thingsboard/conf/thingsboard.conf
-----增加下面这些东东
# DB Configuration
export DATABASE_ENTITIES_TYPE=sql
export DATABASE_TS_TYPE=sql
export SPRING_JPA_DATABASE_PLATFORM=org.hibernate.dialect.PostgreSQLDialect
export SPRING_DRIVER_CLASS_NAME=org.postgresql.Driver
export SPRING_DATASOURCE_URL=jdbc:postgresql://localhost:5432/thingsboard
export SPRING_DATASOURCE_USERNAME=postgres
export SPRING_DATASOURCE_PASSWORD=postgres
export SPRING_DATASOURCE_MAXIMUM_POOL_SIZE=5
# Specify partitioning size for timestamp key-value storage. Allowed values: DAYS, MONTHS, YEARS, INDEFINITE.
export SQL_POSTGRES_TS_KV_PARTITIONING=MONTHS
export JAVA_OPTS="$JAVA_OPTS -Xms256M -Xmx256M"
- 安装服务
sudo /usr/share/thingsboard/bin/install/install.sh --loadDemo
如果数据库,JAVA环境正常,会显示success
- 启动服务我这里遇到坑,注意8080端口,1883端口开放,且没被占用!
我这里部署了mosquitto占用了1883服务,导致失败了(可以通过查看log来看具体原因)
cat /var/log/thingsboard/thingsboard.log | grep ERROR
sudo service thingsboard start
- 看看服务是不是真的成功了,看到1883和8080使用了,OK
ubuntu@VM-0-4-ubuntu:/var/log$ sudo netstat -nultp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 877/systemd-resolve
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1207/sshd
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 4329/postgres
tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN 4853/sshd: ubuntu@p
tcp6 0 0 :::1883 :::* LISTEN 7356/java
tcp6 0 0 :::80 :::* LISTEN 7979/apache2
tcp6 0 0 :::8080 :::* LISTEN 7356/java
udp 0 0 127.0.0.53:53 0.0.0.0:* 877/systemd-resolve
udp 0 0 172.16.0.4:68 0.0.0.0:* 854/systemd-network
udp 0 0 172.16.0.4:123 0.0.0.0:* 1173/ntpd
udp 0 0 127.0.0.1:123 0.0.0.0:* 1173/ntpd
udp6 0 0 :::5683 :::* 7356/java
udp6 0 0 fe80::5054:ff:fe22::123 :::* 1173/ntpd
udp6 0 0 ::1:123 :::* 1173/ntpd
-
默认的账户密码(要设备连上去,我们通常用租户管理员帐户)
然后通过http://localhost:8080/就可登陆后台了。
后台的系统管理员默认账号
用户名:sysadmin@thingsboard.org
密码:sysadmin
默认租户管理员帐户:
用户名:tenant@thingsboard.org
密码:tenant
演示租户客户:
客户A用户:customer@thingsboard.org或customerA@thingsboard.org。
客户B用户:customerB@thingsboard.org。
客户C用户:customerC@thingsboard.org。
所有用户的密码都是“customer” -
用MQTT.X/MQTT.FX将设备接入
参考:https://www.cnblogs.com/weschen/p/11460021.html
ClientID填的是设备ID
用户名填的是访问令牌
密码空 -
发送数据,参考https://blog.csdn.net/wondser/article/details/107759848
官方API地址
三、如果需要重新来
- 卸载 postgresql
sudo apt-get --purge remove postgresql\*
- 卸载ThingsBoard