基于 Ubuntu 服务器安装物联网平台 ThingsBoard

描述

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:

# install **wget** if not already installed:
sudo apt install -y wget


# import the repository signing key:
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -


# add repository contents to your system:
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


# install and launch the postgresql service:
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

文章出处:【微信公众号:电子发烧友开源社区】欢迎添加关注!文章转载请注明出处。


打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
评论(0)
发评论
jf_25142271 2023-11-15
0 回复 举报
输入wget https://github.com/thingsboard/thingsboard/releases/download/v3.1.1/thingsboard-3.1.1.deb时显示读取文件头错误,连接被对方重设,有时候直接拒绝连接怎么办? 收起回复
jf_25142271 2023-11-15
0 回复 举报
下载thingsboard3.1.1的安装包时显示读取文件头错误,连接被对方重设怎么办? 收起回复

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分