Thingsboard是一个基于Java的开源的物联网平台,用于数据收集、处理、可视化和设备管理。它使用物联网行业的标准协议(MQTT、CoAP和HTTP)实现设备连接,并支持云和本地部署。因为目前还没支持openharmony环境部署,因此本文还是基于U buntu22环境部署Thingsboard。
本次实验的前提条件是,开发板更新适配了九联科技的Ubuntu镜像并接入以太网。下面是实物连接图:
1.Uniopi Tiger 下载Ubuntu22镜像
根据九联科技FAE提供的最新Ubuntu22的镜像,安装手册下载指南把镜像下载到开发板,uart连接到电脑,输入用户名密码之后便可以看到打印信息如下:
连上网线之后,为了方便安装程序,先升级一下软件包
sudo apt-get update
sudo apt-get upgrade
为了方便在PC端使用Mobaxterm SSH操作,安装openssh-server
安装命令:
sudo apt-get install openssh-server
查看ssh服务是否启动
打开"终端窗口",输入"sudo ps -e |grep ssh"-->回车-->有sshd,说明ssh服务已经启动,如果没有启动,输入"sudo service ssh start"-->回车-->ssh服务就会启动。
查看Ubuntu IP地址,输入:ifconfig
到这里基本的环境的就算是准备好了,接下来就安装Thingsboard.
2. Thingsboard 简介
Thingsboard 分为专业版和社区版,社区版是开源的,专业版是收费的。thingsboard 提供了30多个可自定义的小部件,允许为大多数物联网用例构建最终用户自定义仪表板。官网地址:https://thingsboard.io/
****Thingsboard架构
Thingsboard有两种架构形式,微服务架构和 Monolithic 架构,两个架构的基本功能一致,该文档主要介绍 Monolithic 架构,架构图如下:
2 Thingsboard的安装部署
2.1开发环境要求:
Jdk 1.8版本,官方下载地址: https://www.oracle.com/java/technologies/javase-jdk8-downloads.html
Node.js,官网地址:https://nodejs.org/en/download/
Maven 3.6以上, 下载地址:http://maven.apache.org/download.cgi
Git工具:https://git-scm.com/download/win
github地址:https://**github.com/thingsboard/**thingsboard
npm
Postgresql 12以上
Idea开发工具
2.2安装Java 8(OpenJDK)
sudo apt update
sudo apt install openjdk-8-jdk
安装结束之后,可以使用以下命令检查安装:
java -version
命令输出结果:
2.3安装服务
下载安装包
wget https://github.com/thingsboard/thingsboard/releases/download/v3.1.1/thingsboard-3.1.1.deb
安装软件包
sudo dpkg -i thingsboard-3.1.1.deb
2.4 配置数据库
ThingsBoard能够使用SQL或hybrid数据库方式。
有关更多详细信息请参见相应的体系结构页面
****PostgreSQL安装
下面列出的说明将安装PostgreSQL:
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
一旦安装了PostgreSQL您可能想要创建一个新用户或为主要用户设置密码。以下说明设置PostgreSQL用户密码
sudo su - postgres
psql
\password
\q
然后,按“Ctrl+D”返回主用户控制台并连接到数据库以创建Thingsboard DB:
psql -U postgres -d postgres -h 127.0.0.1 -W
CREATE DATABASE thingsboard;
\q
2.5 ThingsBoard配置
编辑ThingsBoard配置文件
sudo nano /etc/thingsboard/conf/thingsboard.conf
将“PUT_YOUR_POSTGRESQL_PASSWORD_HERE”替换postgres用户真实密码
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=PUT_YOUR_POSTGRESQL_PASSWORD_HERE
export SPRING_DATASOURCE_MAXIMUM_POOL_SIZE=5
export SQL_POSTGRES_TS_KV_PARTITIONING=MONTHS
编辑ThingsBoard配置文件:
sudo nano /etc/thingsboard/conf/thingsboard.conf
将以下行添加到配置文件:
# Update ThingsBoard memory usage and restrict it to 256MB in /etc/thingsboard/conf/thingsboard.conf
export JAVA_OPTS="$JAVA_OPTS -Xms256M -Xmx256M"
2.6 运行安装脚本
安装ThingsBoard服务并更新数据库配置后,您可以执行以下脚本:
# --loadDemo option will load demo data: users, devices, assets, rules, widgets.
sudo /usr/share/thingsboard/bin/install/install.sh --loadDemo
2.7启动服务
执行以下命令以启动ThingsBoard:
sudo service thingsboard start
启动后,您将可以使用以下链接打开Web UI:
http:
我们现在是用的是开发板,没有外接界面。只能在PC端打开。根据开发板的IP地址(比如我这里是192.168.2.102),那么就在浏览器里面输入:
http:
默认用户名/密码如下:
系统管理员: sysadmin@thingsboard.org / sysadmin
租户管理员: tenant@thingsboard.org / tenant
客户: customer@thingsboard.org / customer
总结
本文主要介绍Thingsboard 的部署流程,具体使用方法还需要继续探索