0


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

ThingsBoard部署教程文档

文章目录

1. JDK环境安装

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

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

  • Ubuntu
sudoapt update
sudoaptinstall openjdk-11-jdk
  • CentOS
# Add latest EPEL release for CentOS 7sudo 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
# 安装sudorpm -Uvh thingsboard-3.4.4.rpm

在这里插入图片描述

在这里插入图片描述

2.2 PostgreSQL安装

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

  • Ubuntu
# 一般服务器自带wget,如果没有请用如下命令安装sudoaptinstall -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 |sudotee  /etc/apt/sources.list.d/pgdg.list

# 安装并启动 postgresql 服务:sudoapt update
sudoapt -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 DBsudo /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用户设置密码

sudosu - 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 exportDATABASE_TS_TYPE=sql
exportSPRING_DATASOURCE_URL=jdbc:postgresql://localhost:5432/thingsboard
exportSPRING_DATASOURCE_USERNAME=postgres
exportSPRING_DATASOURCE_PASSWORD=PUT_YOUR_POSTGRESQL_PASSWORD_HERE
# Specify partitioning size for timestamp key-value storage. Allowed values: DAYS, MONTHS, YEARS, INDEFINITE.exportSQL_POSTGRES_TS_KV_PARTITIONING=MONTHS

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

# Update ThingsBoard memory usage and restrict it to 256MB in /etc/thingsboard/conf/thingsboard.confexportJAVA_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 装饰仪表盘并分配给客户

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

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

在这里插入图片描述

选择新添加的用户

在这里插入图片描述

设置首页为仪表盘

在这里插入图片描述

编辑仪表盘

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

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

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


本文转载自: https://blog.csdn.net/qq_38853759/article/details/129707052
版权归原作者 Moresweet猫甜 所有, 如有侵权,请联系我们删除。

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

还没有评论