物联网平台ThingsBoard的安装

今天是中秋节,也是教师节,祝双节快乐!

本软件是网友 十日言兮 推荐的。本文只有安装,未涉及软件的概念、使用等内容。

什么是 ThingsBoard ?

ThingsBoard 是一款开源的物联网平台,可实现物联网项目的快速开发,设备管理和扩展。 遵守 Apache2.0 开源协议。Thingsboard 支持提供设备连接的标准协议是 MQTTCoAPHTTP ,并支持云和本地部署。支持多租户安装即装即用, 提供了 30 多个可自定义的小部件,实现监视客户端和提供服务器端设备属性。

安装

在群晖上以 Docker 方式安装。

老苏选择了带有 PostgreSQL 数据库的 ThingsBoard 的单个实例,对于家用和功能体验来说,足够了

在注册表中搜索 tb-postgres ,选择第一个 thingsboard/tb-postgres,版本选择 latest

对应的版本号为 v3.4.1

docker 文件夹中,创建一个新文件夹 thingsboard,并在其中建两个子文件夹,分别是 datalogs

需要给两个子目录都授予 EveryOne 的读 & 写权限

文件夹 装载路径 说明
docker/thingsboard/data /data 存放数据库等
docker/thingsboard/logs /var/log/thingsboard 存放日志

端口

本地端口不冲突就行,不确定的话可以用命令查一下

1
2
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口 备注
9090 9090 HTTP 端口
9091 7070 Edge RPC 端口
9092 1883 MQTT 端口
5683-5688 5683-5688 COAPLwM2M 端口,UDP 协议

默认是这样的

要按上表进行修改,缺的要新增

环境

可变
TB_QUEUE_TYPE 设置为 in-memory

ThingsBoard 能够使用各种消息系统/代理来存储 ThingsBoard 服务之间的消息和通信。

老苏选择了默认的 In Memory

内存中队列实现是内置的和默认的。它适用于开发(PoC)环境,不适用于生产部署或任何类型的集群部署。

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 新建文件夹 thingsboard 和 子目录
mkdir -p /volume2/docker/thingsboard/{data,logs}

# 进入 thingsboard 目录
cd /volume2/docker/thingsboard

# 修改目录权限
chmod 777 {data,logs}

# 运行容器
docker run -d \
--restart always \
--name thingsboard \
-p 9090:9090 \
-p 9091:7070 \
-p 9092:1883 \
-p 5683-5688:5683-5688/udp \
-v $(pwd)/data:/data \
-v $(pwd)/logs:/var/log/thingsboard \
-e TB_QUEUE_TYPE=in-memory \
thingsboard/tb-postgres

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
version: '2'

services:
mytb:
image: thingsboard/tb-postgres
container_name: "thingsboard"
restart: "always"
ports:
- "9090:9090"
- "9091:7070"
- "9092:1883"
- "5683-5688:5683-5688/udp"
environment:
TB_QUEUE_TYPE: in-memory
volumes:
- ./data:/data
- ./logs:/var/log/thingsboard

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
11
12
13
# 新建文件夹 thingsboard 和 子目录
mkdir -p /volume2/docker/thingsboard/{data,logs}

# 进入 thingsboard 目录
cd /volume2/docker/thingsboard

# 修改目录权限
chmod 777 {data,logs}

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:9090 就能看到登录界面

  • 系统管理员sysadmin@thingsboard.org / sysadmin
  • 租户管理员tenant@thingsboard.org / tenant
  • 客户用户customer@thingsboard.org / customer

系统管理员登录后的主界面

租户管理员登录后的主界面,多出了不少内容

普通用户登录后的主界面

关于软件的使用,网上有很多中文教程,反正老苏现在还不会,暂时也没时间去研究。

参考文档

GitHub - thingsboard/thingsboard: Open-source IoT Platform - Device management, data collection, processing and visualization.
地址:https://github.com/thingsboard/thingsboard

ThingsBoard - Open-source IoT Platform
地址:https://thingsboard.io/

Installing ThingsBoard using Docker (Linux or Mac OS) | ThingsBoard Community Edition
地址:https://thingsboard.io/docs/user-guide/install/docker/

文档 | ThingsBoard中文网
地址:http://www.ithingsboard.com/docs/