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 环境变量设置
安装完成后进入电脑设置,搜索环境变量,打开环境变量编辑界面,在系统属性对话框选择环境变量:
环境变量分为系统变量和用户变量,系统变量对所有用户都生效,用户变量仅对当前用户生效,可以按需设置,这里就以系统变量设置为例。
JAVA_HOME:选择新建,在新建环境变量对话框中设置JAVA_HOME变量,此处注意应把变量值替换为您安装OpenJdk时选择的路径,我这里设置为D:\thingsboard\openjdk\
PATH:找到PATH变量,点击编辑,在其中添加%JAVA_HOME%\bin,如下图所示:
至此OpenJdk安装完成,此时搜索命令提示符程序,在其中输入java --version,若出现下图所示输出则代表安装成功,否则请勿进行下一步。
2.2、PostgreSQL 安装配置
2.2.1、PostgreSQL 安装
这里使用 EnterpriseDB 来下载安装,我这里选择x64平台15.2版本下载地址为:
https://www.enterprisedb.com/downloads/postgres-postgresql-downloads#windows
下载完成后双击安装:
安装位置根据需要自行选择,我这里选择D:\thingsboard\postgresql,如图:
这里我们把所有组件全部选上:
数据库文件存放路径默认即可,因为我选择的安装路径是 D:\thingsboard\postgresql,故数据库文件存放路径为D:\thingsboard\postgresql\data
设置数据库密码,自行设置即可,之后配置用得到:
选择数据库端口,默认即可:
后续一直点击NEXT等待安装完成,前往Windows服务管理。
2.2.2、数据库创建
开始菜单中打开pgAdmin,如下图所示:
这里自行设置Master密码:
主界面中点击Add New Server,按照下图设置Gerneral选项卡:
按照下图设置Connection选项卡,其中Password处请输入此前安装数据库时设置的密码,设置完成后保存确认。
此时若出现下面的报错信息请按照下述操作启动数据库服务,如未报错请自行跳过即可:
前往Windows服务管理界面,找到postgresql-x64-15,右键选择属性,如下图:
选择登录选项卡,勾选本地系统账户(L)登录身份,点击应用,如图:
回到windows服务管理页面,右键启动 postgresql-x64-15:
上述操作完成后需再重新尝试 Add New Server应该就不会报错了
2.2.3、PostgreSQL数据库创建
打开pgAdmin,左侧右键,选择Create,点击Database,按照下图填写信息后点击Save确认:
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模块,填入数据库密码:
2.3.3 运行安装脚本
双击install.bat以将thingsboard安装为系统服务,等待脚本运行完毕,若出现ThingsBoard installed successfully!即代表安装成功(注意:此处需要以管理员身份运行):
运行结果如下:
2.3.4 启动thingsboard
启停方式一:windows服务管理界面,找到ThingsBoard Server Application,右键进行启动、停止操作,如图:
启停方式二:以管理员身份运行命令提示符,输入net start thingsboard 启动thingsboard;输入net stop thingsboard 停止thingsboard。
2.3.5 验证thingsboard
打开浏览器,访问 http://localhost:8080/ 若出现下图所示界面代表启动成功:
让我们为自己鼓掌!!!
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/ 若出现如下界面则代表启动成功: