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 架构,架构图如下:
3.Thingsboard的安装部署
3.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开发工具
3.2安装Java 8(OpenJDK)
sudo apt update
sudo apt install openjdk-8-jdk
(左右移动查看全部内容)
安装结束之后,可以使用以下命令检查安装:
java -version
(左右移动查看全部内容)
命令输出结果:
3.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
(左右移动查看全部内容)
3.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
(左右移动查看全部内容)
3.5 ThingsBoard配置
编辑ThingsBoard配置文件
sudo nano /etc/thingsboard/conf/thingsboard.conf
(左右移动查看全部内容)
将“PUT_YOUR_POSTGRESQL_PASSWORD_HERE”替换postgres用户真实密码
# 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//localhost:5432/thingsboard
export SPRING_DATASOURCE_USERNAME=postgres
export SPRING_DATASOURCE_PASSWORD=PUT_YOUR_POSTGRESQL_PASSWORD_HERE
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
(左右移动查看全部内容)
编辑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"
(左右移动查看全部内容)
3.6 运行安装脚本
安装ThingsBoard服务并更新数据库配置后,您可以执行以下脚本:
# --loadDemo option will load demo data: users, devices, assets, rules, widgets.
sudo /usr/share/thingsboard/bin/install/install.sh --loadDemo
(左右移动查看全部内容)
3.7启动服务
执行以下命令以启动ThingsBoard:
sudo service thingsboard start
(左右移动查看全部内容)
启动后,您将可以使用以下链接打开Web UI:
http://localhost:8080/
(左右移动查看全部内容)
我们现在是用的是开发板,没有外接界面。只能在PC端打开。根据开发板的IP地址(比如我这里是192.168.2.102),那么就在浏览器里面输入:
http://192.168.2.102:8080/
(左右移动查看全部内容)
默认用户名/密码如下:
系统管理员: sysadmin@thingsboard.org / sysadmin
租户管理员: tenant@thingsboard.org / tenant
客户: customer@thingsboard.org / customer
总结
本文主要介绍Thingsboard 的部署流程,具体使用方法还需要继续探索
提示:本文由电子发烧友社区发布,转载请注明以上来源。如需社区合作及入群交流,请添加微信EEFans0806,或者发邮箱liuyong@huaqiu.com。
更多热点文章阅读
END
想了解更多开源技术?后台留言,立刻安排!就喜欢奖励一个“”和“在看”呗~
原文标题:基于 Ubuntu 服务器安装物联网平台 ThingsBoard
文章出处:【微信公众号:电子发烧友开源社区】欢迎添加关注!文章转载请注明出处。
全部0条评论
快来发表一下你的评论吧 !