0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

电子发烧友开源社区 来源:未知 2022-11-03 12:40 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

Thingsboard是一个基于Java的开源的物联网平台,用于数据收集、处理、可视化和设备管理。它使用物联网行业的标准协议(MQTT、CoAP和HTTP)实现设备连接,并支持云和本地部署。因为目前还没支持openharmony环境部署,因此本文还是基于U buntu22环境部署Thingsboard。

本次实验的前提条件是,开发板更新适配了九联科技的Ubuntu镜像并接入以太网。下面是实物连接图:

d673ad8a-5b2e-11ed-a3b6-dac502259ad0.png

1.Uniopi Tiger 下载Ubuntu22镜像

根据九联科技FAE提供的最新Ubuntu22的镜像,安装手册下载指南把镜像下载到开发板,uart连接到电脑,输入用户名密码之后便可以看到打印信息如下:

d6863694-5b2e-11ed-a3b6-dac502259ad0.png

连上网线之后,为了方便安装程序,先升级一下软件包

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

d69774b8-5b2e-11ed-a3b6-dac502259ad0.png

到这里基本的环境的就算是准备好了,接下来就安装Thingsboard。

2. Thingsboard 简介

Thingsboard 分为专业版和社区版,社区版是开源的,专业版是收费的。thingsboard 提供了30多个可自定义的小部件,允许为大多数物联网用例构建最终用户自定义仪表板。官网地址:https://thingsboard.io/

Thingsboard架构

Thingsboard有两种架构形式,微服务架构和 Monolithic 架构,两个架构的基本功能一致,该文档主要介绍 Monolithic 架构,架构图如下:

d709d198-5b2e-11ed-a3b6-dac502259ad0.png

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

(左右移动查看全部内容)

命令输出结果:

d720db72-5b2e-11ed-a3b6-dac502259ad0.png

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

(左右移动查看全部内容)

d737bfd6-5b2e-11ed-a3b6-dac502259ad0.png

3.7启动服务

执行以下命令以启动ThingsBoard:

sudo service thingsboard start

(左右移动查看全部内容)

启动后,您将可以使用以下链接打开Web UI:

http://localhost:8080/

(左右移动查看全部内容)

我们现在是用的是开发板,没有外接界面。只能在PC端打开。根据开发板的IP地址(比如我这里是192.168.2.102),那么就在浏览器里面输入:

http://192.168.2.102:8080/

(左右移动查看全部内容)

d74ab4e2-5b2e-11ed-a3b6-dac502259ad0.png

默认用户名/密码如下:

  • 系统管理员: sysadmin@thingsboard.org / sysadmin

  • 租户管理员: tenant@thingsboard.org / tenant

  • 客户: customer@thingsboard.org / customer

总结

本文主要介绍Thingsboard 的部署流程,具体使用方法还需要继续探索

d76fa8b0-5b2e-11ed-a3b6-dac502259ad0.png

提示:本文由电子发烧友社区发布,转载请注明以上来源。如需社区合作及入群交流,请添加微信EEFans0806,或者发邮箱liuyong@huaqiu.com。

更多热点文章阅读

END

想了解更多开源技术?后台留言,立刻安排!

就喜欢奖励一个“”和“在看”呗~


原文标题:基于 Ubuntu 服务器安装物联网平台 ThingsBoard

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


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 物联网
    +关注

    关注

    2939

    文章

    47315

    浏览量

    407632
  • OpenHarmony
    +关注

    关注

    31

    文章

    3926

    浏览量

    20702

原文标题:基于 Ubuntu 服务器安装物联网平台 ThingsBoard

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    串口服务器产品解析与应用方案选型指南

    2025年,联网(IoT)、工业互联网及智能化设备控制的快速发展使得串口服务器技术再次成为行业焦点。作为传统串口通信与现代网络技术的桥梁,串口服务
    的头像 发表于 11-18 15:33 225次阅读

    恒讯科技分析:Ubuntu服务器数据共享高效方案

    在当今云计算时代,企业对于数据共享的需求日益增长,尤其是在使用Ubuntu服务器的场景下,如何实现高效、安全的数据共享成为关键问题。本文将为您详细介绍几种主流的Ubuntu服务器
    的头像 发表于 07-09 21:40 1180次阅读

    智慧消防联网平台

    本人想建立一个联网智慧消防平台,想找懂技术的有合伙意愿的共同投资开发,有感兴趣的联系我13633612945
    发表于 04-15 22:18

    开始冒险!用树莓派+Ubuntu,打造《我的世界》专属服务器

    欢迎来到我们假日季前推出的Linux游戏系列第二期。本周,我们准备了一个教程,教你如何在安装Ubuntu桌面的RaspberryPi上创建基础版Minecraft服务器,与
    的头像 发表于 03-25 09:24 1557次阅读
    开始冒险!用树莓派+<b class='flag-5'>Ubuntu</b>,打造《我的世界》专属<b class='flag-5'>服务器</b>!

    Ubuntu 系统部署 Caddy Web 服务器全攻略!

    本文将以简明教程形式,指导您在Ubuntu系统上安装并运行新一代Web服务器Caddy。相比传统Nginx与Apache,Caddy凭借两大核心优势脱颖而出:原生HTTPS自动证书管理能力与极简反向
    的头像 发表于 03-25 09:19 869次阅读
    <b class='flag-5'>Ubuntu</b> 系统部署 Caddy Web <b class='flag-5'>服务器</b>全攻略!

    工业互联进阶之路:串口服务器联网技术的深度融合

    工业互联进阶之路:串口服务器联网技术的深度融合
    的头像 发表于 03-24 09:39 540次阅读
    工业互联进阶之路:串口<b class='flag-5'>服务器</b>与<b class='flag-5'>物</b><b class='flag-5'>联网</b>技术的深度融合

    MQTT联网平台有哪些?有哪些功能?

    MQTT(Message Queuing Telemetry Transport)是一种基于客户端-服务器架构的发布/订阅模式的消息传输协议,它广泛应用于机器与机器的通信(M2M)以及物联网环境
    的头像 发表于 03-15 14:23 1216次阅读
    MQTT<b class='flag-5'>物</b><b class='flag-5'>联网</b><b class='flag-5'>平台</b>有哪些?有哪些功能?

    【教程】Chirpstack V3服务器简介和搭建示例

    Chirpstack是一款多组件的、部署简单的开源服务器,同时也是使用最广泛的LoRaWAN服务器。本次安装使用Ubuntu18.04.6LTS。需要使用到的软件有vim和git请自行
    的头像 发表于 03-13 19:32 734次阅读
    【教程】Chirpstack V3<b class='flag-5'>服务器</b>简介和搭建示例

    EIOT能源联网平台

    基于联网数据中台,建立了上下行数据标准,为互联网用户提供能源联网数据服务
    的头像 发表于 02-06 16:48 724次阅读
    EIOT能源<b class='flag-5'>物</b><b class='flag-5'>联网</b><b class='flag-5'>平台</b>

    串口服务器在能源联网数据采集中的应用技术参数介绍#

    摘要   ​随着联网技术的快速发展,各种传统设备的联网需求愈发迫切。串口服务器作为一种桥接传统串口设备与现代网络的关键设备,在工业控制、智能电网、交通运输等域发挥了重要作用。本文以安
    的头像 发表于 01-15 13:46 731次阅读
    串口<b class='flag-5'>服务器</b>在能源<b class='flag-5'>物</b><b class='flag-5'>联网</b>数据采集中的应用技术参数介绍#

    Flexus 云服务器 X:Python 安装的极致便捷之旅

    配置和环境设置方面,可能会遇到各种挑战。为了帮助开发者更高效地使用 Flexus 云服务器 X,本文将详细介绍如何在 Flexus 云服务器 X 上安装 Python,并突出其便捷性。 一
    的头像 发表于 01-07 17:00 545次阅读
    Flexus 云<b class='flag-5'>服务器</b> X:Python <b class='flag-5'>安装</b>的极致便捷之旅

    远程抄表联网平台有什么功能

    、准确地读取水表、电表、气表、冷热表等各类能耗设备的读数。通过联网技术,平台可以自动采集这些数据,并将其上传至云端服务器,实现远程监控与管理。 二、能耗监测与分析
    的头像 发表于 12-20 17:50 800次阅读

    NTP服务器联网中的应用

    随着联网(IoT)技术的飞速发展,越来越多的设备被连接到互联网上,这些设备需要精确的时间同步来保证数据的准确性和一致性。网络时间协议(NTP)服务器
    的头像 发表于 12-18 15:16 1220次阅读

    NTP服务器配置步骤 NTP服务器服务的好处

    、分布式系统的时间同步等都是非常重要的。以下是配置NTP服务器的基本步骤: 1. 安装NTP服务 在大多数Linux发行版中,可以通过包管理安装
    的头像 发表于 12-18 15:12 2826次阅读

    Acrel-EIOT能源联网平台方案

    能源联网开放平台是一套基于联网数据中台,建立了上下行数据标准,为互联网用户提供能源
    的头像 发表于 12-09 09:35 751次阅读
    Acrel-EIOT能源<b class='flag-5'>物</b><b class='flag-5'>联网</b><b class='flag-5'>平台</b>方案