ThingsBoard开源物联网平台智慧农业实例快速部署教程(Ubuntu、CentOS适用)

本文详细介绍了如何在Ubuntu和CentOS上安装JDK11,部署ThingsBoard3.4.4,包括PostgreSQL的安装与初始化配置,以及ThingsBoard的配置修改,加载演示数据,和访问测试。同时,文章还涵盖了仪表盘的导入、用户管理及分配给客户的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ThingsBoard部署教程文档

1. JDK环境安装

Linux以Ubuntu和CentOS为主流,以此两个发行版为例进行流程命令示例,截图按照Ubuntu Server实际环境。

安装JDK11。(Debain apt源下载慢可以考虑换国内软件源,yum也是如此)

  • Ubuntu
sudo apt update
sudo apt install openjdk-11-jdk
  • CentOS
# Add latest EPEL release for CentOS 7
sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo yum install java-11-openjdk

在这里插入图片描述

此时用java -version查看是JDK11的版本信息

java -version

在这里插入图片描述

如果出现的1.8或者其他的版本信息,证明你之前装过JDK并正确配置,需要手动配置,手动配置方式如下:

sudo update-alternatives --config java

在这里插入图片描述

选择JDK11对应的版本切换到当前的环境下。

2. 安装thingsBoard

2.1 ThingsBoard软件包安装

  • Ubuntu
# 下载安装包
wget https://github.com/thingsboard/thingsboard/releases/download/v3.4.4/thingsboard-3.4.4.deb
# 安装
sudo dpkg -i thingsboard-3.4.4.deb
  • CentOS
# 下载安装包
wget https://github.com/thingsboard/thingsboard/releases/download/v3.4.4/thingsboard-3.4.4.rpm
# 安装
sudo rpm -Uvh thingsboard-3.4.4.rpm

在这里插入图片描述

在这里插入图片描述

2.2 PostgreSQL安装

鉴于初期的场景message不会并发大于5000条,在此仅安装PostgreSQL

  • Ubuntu
# 一般服务器自带wget,如果没有请用如下命令安装
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

# 安装并启动 postgresql 服务:
sudo apt update
sudo apt -y install postgresql-12
sudo systemctl start postgresql
# 设置开机启动
sudo systemctl enable postgresql
  • CentOS
sudo yum install -y wget
# 更新软件源
sudo yum update
# 安装
sudo yum -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
# 配置
sudo yum -y install epel-release yum-utils
sudo yum-config-manager --enable pgdg12
sudo yum install postgresql12-server postgresql12
# 初始化PostgreSQL DB
sudo /usr/pgsql-12/bin/postgresql-12-setup initdb
sudo systemctl start postgresql-12
# 开机启动
sudo systemctl enable --now postgresql-12
  1. 安装wget
    在这里插入图片描述

  2. 引入密钥(CentOS无此过程)
    在这里插入图片描述

  3. 引入软件源
    在这里插入图片描述

    可以打开/etc/apt/sources.list.d/pgdg.list确认。vim /etc/apt/sources.list.d/pgdg.list
    在这里插入图片描述

    可见内容添加成功,需要更新软件列表

  4. 更新软件列表
    在这里插入图片描述

  5. 安装postgresql服务并启动
    在这里插入图片描述

    在这里插入图片描述

    不确定是否启动成功可以systemctl status postgresql确认一下
    在这里插入图片描述

2.3 PostgreSQL初始化配置

为thingsboard的例程添加数据库的初始化配置:

切换到postgres用户下,为登录postgresql用户设置密码

sudo su - postgres
psql
# 此行命令后按照提示输入密码
\password
# 输入后退出
\q
  1. 切换用户
    在这里插入图片描述

  2. 进入数据库
    在这里插入图片描述

  3. 设置密码
    在这里插入图片描述

  4. \q退出数据库,键盘Ctrl+D退出bash回到主用户
    在这里插入图片描述

(注意)CentOS下多一步配置:

编辑配置文件/var/lib/pgsql/12/data/pg_hba.conf

sudo vim /var/lib/pgsql/12/data/pg_hba.conf

定位到以下内容,将ident修改为md5

# IPv4 local connections:
host    all             all             127.0.0.1/32            ident

修改后

host    all             all             127.0.0.1/32            md5

重启服务

sudo systemctl restart postgresql-12.service

登录数据库并创建数据库

psql -U postgres -d postgres -h 127.0.0.1 -W
CREATE DATABASE thingsboard;
\q

在这里插入图片描述

3. 修改ThingsBord的配置

编辑thingsboard的配置文件

sudo vim /etc/thingsboard/conf/thingsboard.conf

在配置文件中添加以下内容,注意密码那一行替换成自己的密码

# DB Configuration 
export DATABASE_TS_TYPE=sql
export SPRING_DATASOURCE_URL=jdbc:postgresql://localhost:5432/thingsboard
export SPRING_DATASOURCE_USERNAME=postgres
export SPRING_DATASOURCE_PASSWORD=PUT_YOUR_POSTGRESQL_PASSWORD_HERE
# Specify partitioning size for timestamp key-value storage. Allowed values: DAYS, MONTHS, YEARS, INDEFINITE.
export SQL_POSTGRES_TS_KV_PARTITIONING=MONTHS

注意下面的配置内容可选,如果你的服务器内存是1G的,比较受限,需要额外配置以下jvm以保证效率。

# Update ThingsBoard memory usage and restrict it to 256MB in /etc/thingsboard/conf/thingsboard.conf
export JAVA_OPTS="$JAVA_OPTS -Xms256M -Xmx256M"

在这里插入图片描述

4. 运行安装脚本测试

我们没有经过消息队列等辅助高效缓存配件的安装,后续需要用到MQ、Kafka等可以再行安装,这里采用纯内存的策略。

运行安装脚本,--loadDemo其会导入几个用户、设备、资产、规则等用于示例

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

在这里插入图片描述

在这里插入图片描述

重启thingsboard服务

systemctl restart thingsboard.service
# 查看一下
systemctl status thingsboard.service

在这里插入图片描述

安全组策略放行8080端口,防火墙放行8080端口。

安全组策略需要在你的云实例控制台上自行配置,而防火墙因人而异,你的服务器用iptables或者firewalld均有不同的操作方式

这里采用firewalld

sudo firewall-cmd --add-port=8080/tcp --zone=public --permanent
sudo firewall-cmd --reload

5. 访问测试

访问http://【你的服务器ip】:8080测试

在这里插入图片描述

这里有几个默认的账户

人员账号密码
系统管理员sysadmin@thingsboard.orgsysadmin
租户管理员tenant@thingsboard.orgtenant
客户管理员customer@thingsboard.orgcustomer

注意:资源有限的服务器(1-2CPU、1-2GB RAM),一般Web UI的启动需要等待90秒左右。

登录系统管理员:

在这里插入图片描述

登录租户管理员:

在这里插入图片描述

运行日志在/var/log/thingsboard

过滤错误日志可以快速使用如下命令:

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

6. 导入一个仪表盘库

6.1 导出仪表盘并导入自己的项目

如下是官方智慧农业仪表盘案例

https://thingsboard.io/smart-farming/

点击查看在线案例

在这里插入图片描述

在这里插入图片描述

右上角选择导出

在这里插入图片描述

导出后是个json文件

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

6.2 添加客户以及用户

添加一个客户

在这里插入图片描述

在这里插入图片描述

客户组里添加一个用户,激活方式可以选择激活链接或者邮箱链接,我们是测试,邮箱也是虚构的,那么就选择链接激活。

在这里插入图片描述

点击激活

在这里插入图片描述

激活后就到了设置密码的界面。

在这里插入图片描述

创建完密码就登录进来了

在这里插入图片描述

6.3 装饰仪表盘并分配给客户

我们返回租户管理员的账号

将导入的仪表盘分配给客户

在这里插入图片描述

选择新添加的用户

在这里插入图片描述

设置首页为仪表盘

在这里插入图片描述

编辑仪表盘

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

打开设置的显示仪表盘标题

在这里插入图片描述

在这里插入图片描述

登录新增用户,首页便是仪表盘

在这里插入图片描述

可以全屏显示,也可以将某个小部分进行全屏显示。

活动数据需要写硬件程序并生成数字孪生的实体进行相应映射。

评论 51
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Moresweet猫甜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值