1、前言

物联网平台这个词可能大多数人都不陌生,我们今天要介绍的Thingsboard就是其中一种。在我看来,thingsboard具有简单易用、开源免费的特点,例如可以将其部署于本地局域网,同时进行二次开发以满足个性化需求。说了这么多,thingsboard到底可以做什么呢?下面是官网的介绍:

ThingsBoard是一个开源的物联网平台,可以快速开发、管理和扩展物联网项目,提供开箱即用的物联网云或本地解决方案,为您的物联网应用程序启用服务器端基础结构。

下面是站在初学者角度上(毕竟我也只是初学者)例举的一些使用场景:

  • 通过micropython、arduino编程,使设备实时上传数据至thingsboard,例如环境监测数据等。
  • 配置thingsboard,以可视化图表展示设备监测数据,同时配置数据分析、处理流程,实现自动化告警和处置。
  • 通过thingsboard远程控制arduino、esp8266等设备,支持HTTP、MQTT等协议。

(注:个人比较推荐使用Linux环境安装Thingsboard,通过docker的方式可以在仅敲几条命令的情况下安装成功)

2、Windows平台部署thingsboard 

2.1、OpenJdk安装配置

2.1.1 OpenJdk安装

关于openjdk,网上有很多地方可以下载,我们这里从微软官网下载即可,根据各自平台选择对应版本即可,我们这里选择X64平台OpenJDK 11 (LTS) MSI 软件包。

https://learn.microsoft.com/zh-cn/java/openjdk/download

下载完成后双击安装,按照向导逐步设置即可,这里选择安装路径 D:\thingsboard\openjdk,后续设置环境变量时候会使用到。

物联网管理平台架构方式 物联网平台部署_单片机

2.1.2 环境变量设置

安装完成后进入电脑设置,搜索环境变量,打开环境变量编辑界面,在系统属性对话框选择环境变量:

物联网管理平台架构方式 物联网平台部署_物联网_02

物联网管理平台架构方式 物联网平台部署_物联网_03

环境变量分为系统变量用户变量系统变量对所有用户都生效,用户变量仅对当前用户生效,可以按需设置,这里就以系统变量设置为例。

物联网管理平台架构方式 物联网平台部署_单片机_04

 JAVA_HOME:选择新建,在新建环境变量对话框中设置JAVA_HOME变量,此处注意应把变量值替换为您安装OpenJdk时选择的路径,我这里设置为D:\thingsboard\openjdk\

物联网管理平台架构方式 物联网平台部署_物联网_05

PATH:找到PATH变量,点击编辑,在其中添加%JAVA_HOME%\bin,如下图所示:

物联网管理平台架构方式 物联网平台部署_物联网管理平台架构方式_06

 

物联网管理平台架构方式 物联网平台部署_docker_07

 至此OpenJdk安装完成,此时搜索命令提示符程序,在其中输入java --version,若出现下图所示输出则代表安装成功,否则请勿进行下一步。

物联网管理平台架构方式 物联网平台部署_物联网管理平台架构方式_08

2.2、PostgreSQL 安装配置

2.2.1、PostgreSQL 安装

这里使用 EnterpriseDB 来下载安装,我这里选择x64平台15.2版本下载地址为:

 https://www.enterprisedb.com/downloads/postgres-postgresql-downloads#windows

物联网管理平台架构方式 物联网平台部署_物联网管理平台架构方式_09

 下载完成后双击安装:

物联网管理平台架构方式 物联网平台部署_物联网_10

 安装位置根据需要自行选择,我这里选择D:\thingsboard\postgresql,如图:

物联网管理平台架构方式 物联网平台部署_docker_11

  

这里我们把所有组件全部选上:

物联网管理平台架构方式 物联网平台部署_docker_12

数据库文件存放路径默认即可,因为我选择的安装路径是 D:\thingsboard\postgresql,故数据库文件存放路径为D:\thingsboard\postgresql\data

物联网管理平台架构方式 物联网平台部署_单片机_13

 设置数据库密码,自行设置即可,之后配置用得到:

物联网管理平台架构方式 物联网平台部署_数据库_14

选择数据库端口,默认即可:

物联网管理平台架构方式 物联网平台部署_docker_15

 后续一直点击NEXT等待安装完成,前往Windows服务管理。

 2.2.2、数据库创建

开始菜单中打开pgAdmin,如下图所示:

 

物联网管理平台架构方式 物联网平台部署_docker_16

这里自行设置Master密码:

物联网管理平台架构方式 物联网平台部署_数据库_17

 主界面中点击Add New Server,按照下图设置Gerneral选项卡:

物联网管理平台架构方式 物联网平台部署_物联网_18

按照下图设置Connection选项卡,其中Password处请输入此前安装数据库时设置的密码,设置完成后保存确认。

 

物联网管理平台架构方式 物联网平台部署_docker_19

 此时若出现下面的报错信息请按照下述操作启动数据库服务,如未报错请自行跳过即可:

物联网管理平台架构方式 物联网平台部署_docker_20

 前往Windows服务管理界面,找到postgresql-x64-15,右键选择属性,如下图:

物联网管理平台架构方式 物联网平台部署_单片机_21

 选择登录选项卡,勾选本地系统账户(L)登录身份,点击应用,如图:

物联网管理平台架构方式 物联网平台部署_物联网_22

回到windows服务管理页面,右键启动 postgresql-x64-15:

物联网管理平台架构方式 物联网平台部署_物联网管理平台架构方式_23

上述操作完成后需再重新尝试 Add New Server应该就不会报错了

 2.2.3、PostgreSQL数据库创建

 打开pgAdmin,左侧右键,选择Create,点击Database,按照下图填写信息后点击Save确认:

物联网管理平台架构方式 物联网平台部署_单片机_24

物联网管理平台架构方式 物联网平台部署_docker_25

2.3、Thingsboard安装配置

2.3.1、Thingsboard下载

前往官网下载并解压Thingsboard部署包,链接如下:https://github.com/thingsboard/thingsboard/releases/download/v3.4.4/thingsboard-windows-3.4.4.zip 下载完成后自行解压至本地磁盘,我这里解压缩后的路径为D:\thingsboard\thingsboard-windows-3.4.4\thingsboard

2.3.2 Thingsboard配置

打开D:\thingsboard\thingsboard-windows-3.4.4\thingsboard\conf\thingsboard.yml(自行更换路径),找到# SQL DAO Configuration模块,填入数据库密码:

物联网管理平台架构方式 物联网平台部署_数据库_26

2.3.3 运行安装脚本

双击install.bat以将thingsboard安装为系统服务,等待脚本运行完毕,若出现ThingsBoard installed successfully!即代表安装成功(注意:此处需要以管理员身份运行)

物联网管理平台架构方式 物联网平台部署_物联网_27

 运行结果如下:

物联网管理平台架构方式 物联网平台部署_物联网管理平台架构方式_28

2.3.4 启动thingsboard

启停方式一:windows服务管理界面,找到ThingsBoard Server Application,右键进行启动、停止操作,如图:

物联网管理平台架构方式 物联网平台部署_数据库_29

 启停方式二:以管理员身份运行命令提示符,输入net start thingsboard 启动thingsboard;输入net stop thingsboard 停止thingsboard。

物联网管理平台架构方式 物联网平台部署_物联网管理平台架构方式_30

2.3.5 验证thingsboard

打开浏览器,访问 http://localhost:8080/ 若出现下图所示界面代表启动成功:

物联网管理平台架构方式 物联网平台部署_物联网管理平台架构方式_31

 让我们为自己鼓掌!!!

3、Linux平台部署thingsboard  

本文使用虚拟机环境演示Thingsboard安装部署,操作系统为Centos 7,为简化安装流程,使用了更加方便简单的Docker安装方式;若您觉得前文Windows环境下安装设置较为麻烦,或者是因为各种原因无法安装成功,不妨试试Linux环境下的Docker部署方式。

3.1、Docker安装

首先设置Docker仓库:

sudo yum install -y yum-utils
 sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

 然后安装Docker引擎 :

sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

安装完成后通过下述命令启动Docker:

sudo systemctl start docker
sudo systemctl enable docker

安装完成后我们通过sudo docker run hello-world 验证一下,若无报错输出则代表安装成功

3.2、Thingsboard安装 

 在/home目录下创建docker-compose.yml文件,输入如下内容:

version: '3.0'
services:
  mytb:
    restart: always
    image: "thingsboard/tb-postgres"
    ports:
      - "8080:9090"
      - "1883:1883"
      - "7070:7070"
      - "5683-5688:5683-5688/udp"
    environment:
      TB_QUEUE_TYPE: in-memory
    volumes:
      - /home/mytb-data:/data
      - /home/mytb-log:/var/log/thingsboard

docker-compose.yml相同目录下创建两个目录用于存放数据库、日志文件,我这里就直接放在/home目录下创建啦。(注:这里我最开始没有设置目录权限,导致thingsboard启动报错,由于本文只是出于学习和演示目的,故这里直接设置权限为777)具体命令如下:

mkdir /home/mytb-data
mkdir /home/mytb-log
chmod -R 777 /home/mytb-data
chmod -R 777 /home/mytb-log

创建完成后切换至docker-compose.yml所在目录,通过下面命令自动安装和部署thingsboard,整个过程将持续较长时间,如果发现总是无法正常获取镜像可以考虑切换源,安装过程中请保持计算机联网状态: 

docker compose up -d

 至此,thingsboard部署成功,其启动、停止、日志查看命令分别如下:

docker compose start mytb #启动
docker compose stop mytb #停止
docker compose logs mytb #查看日志

此时打开浏览器,输入http://Linux主机地址:8080/ 若出现如下界面则代表启动成功:

物联网管理平台架构方式 物联网平台部署_数据库_32