ThingsBoard开源物联网平台智慧农业实例快速部署教程(Ubuntu、CentOS适用)
创始人
2025-06-01 07:20:37
0

ThingsBoard部署教程文档

文章目录

  • ThingsBoard部署教程文档
    • 1. JDK环境安装
    • 2. 安装thingsBoard
      • 2.1 ThingsBoard软件包安装
      • 2.2 PostgreSQL安装
      • 2.3 PostgreSQL初始化配置
    • 3. 修改ThingsBord的配置
    • 4. 运行安装脚本测试
    • 5. 访问测试
    • 6. 导入一个仪表盘库
      • 6.1 导出仪表盘并导入自己的项目
      • 6.2 添加客户以及用户
      • 6.3 装饰仪表盘并分配给客户

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 装饰仪表盘并分配给客户

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

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

在这里插入图片描述

选择新添加的用户

在这里插入图片描述

设置首页为仪表盘

在这里插入图片描述

编辑仪表盘

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

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

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

相关内容

热门资讯

观沧海日月之行赏析   观沧海日月之行赏析  赏析诗歌要知人论世,例如,了解作者生平和诗风,分析写作背景等。  《观沧海...
卞之琳诗歌 卞之琳诗歌  卞之琳(1910-2000),著有诗集《三秋草》(1933)、《鱼目集》(1935)、...
传统过年民俗诗歌介绍 传统过年民俗诗歌介绍  春节是中国最重要最隆重的传统节日。农历正月初一是一年的'开始,接下来小编为你...
建党100周年青春建功新时代... 2021年,我们迎来了建党100周年,新时代的新青年们,请以青春之名、以奋斗之姿建功新时代吧。那建党...
浅语优秀爱情诗歌 浅语优秀爱情诗歌  你说 爱是缘分  可我不曾相见那未知的温柔  我说 情是深浅  可你不曾去寻那隐...
《不醉不归》诗歌 《不醉不归》诗歌  在一个只有猪和草的世界里  黑褐色的狂吃  遮天盖地  子孙后代的身体  瘦得只...
陈毅诗词 陈毅诗词大全  诗词,是指以古体诗、近体诗和格律词为代表的中国古代传统诗歌。亦是汉字文化圈的特色之一...
描写秋天的文艺诗歌大全5篇 在日常学习、工作或生活中,说到诗歌,大家肯定都不陌生吧,诗歌是表现诗人思想感情的一种文学样式。你知道...
现代诗歌金波 现代诗歌金波(精选7首)  在日常生活或是工作学习中,大家一定都接触过一些使用较为普遍的诗歌吧,诗歌...
月亮边的妹妹诗歌 月亮边的妹妹诗歌  遥遥银河边缘  悠悠白云深处  驻守着我的妹妹  美丽善良的妹妹  你是晚霞疲惫...
歌颂劳动者的诗歌朗诵 歌颂劳动者的诗歌朗诵(精选13首)  无论在学习、工作或是生活中,大家都收藏过自己喜欢的诗歌吧,诗歌...
题李凝幽居诗词赏析 题李凝幽居诗词赏析  【诗人简介】  贾岛:(779-843),字阆仙,范阳(今北京)人。早年出家为...
语文诗词的手抄报 关于语文诗词的手抄报  导语:诗词,是指以古体诗、近体诗和格律词为代表的中国古代传统诗歌。亦是汉字文...
对李白《行路难》的赏析 对李白《行路难》的赏析  在日常的学习、工作、生活中,大家都经常接触到诗歌吧,诗歌具有精炼含蓄的特点...
爱情古诗句唯美图片 爱情古诗句唯美图片  不要承诺,不要誓言,只要用一杯茶的温度,品茗一生的幸福。有一种牵挂,在心底反复...
雨霖铃柳永全文及翻译 雨霖铃柳永全文及翻译  《雨霖铃·寒蝉凄切》是宋代词人柳永的词作。此词上片细腻刻画了情人离别的场景,...
林清玄《阳光的味道》全文 林清玄《阳光的味道》全文  林清玄中国著名文化学者,理论家、文化史学家、作家 、散文家。下面是《阳光...
汪藻《春日》原文及译文 汪藻《春日》原文及译文  《春日》是北宋诗人汪藻创作的一首七言律诗。这首诗通过对春日出游的见闻感受的...
于春的诗句 于春的诗句  1) 满目山河空念远,落花风雨更伤春。 ——出处: 晏殊《浣溪沙•一向年光有...
与颜色有关的诗句 与颜色有关的诗句  诗句就是组成的句子。诗句通常按照诗文的格式体例,限定每句字数的多少。以下是小编帮...