ThingsBoard(1)(安装和基本运行篇)

1 简介

也是最近要用到的项目,所以总结学习一下。

项目主页:GitHub - thingsboard/thingsboard: Open-source IoT Platform - Device management, data collection, processing and visualization.

中文教程,不过主要偏使用。

ThingsBoard入门实战教程资源下载-CSDN博客

系统架构图:

可以看出也是典型的IOT系统架构。但是支持多种数据传输,MQTT,HTTP,CoAP等等。此外,内部消息做了Queue,也有Rule Engine这些东西。总体来说完成度还是很高的。

以下是 ThingsBoard 与其他一些开源物联网系统的列表比较(来自豆包):

平台名称开发语言设备管理数据可视化安全性社区支持规则引擎应用场景可扩展性
ThingsBoardJava支持设备注册、状态监控、远程控制等全面功能支持,有强大的仪表板定制能力2高1高,有庞大活跃社区,在线文档和教程广泛强大,可通过可视化规则链创建复杂自动化工作流工业自动化、智慧城市、环境监测等基于微服务架构,支持水平扩展,可通过插件和 API 扩展2
OpenRemoteJava支持多种设备和协议,对不常见协议支持有优势支持,界面直观简单,便于配置和管理活跃,可提供一定支持和持续开发有,但相比 ThingsBoard 功能较弱,创建复杂自动化场景能力稍差智能家庭、建筑自动化、工业物联网等架构可处理大规模部署,具有可扩展性
Kaa IoT PlatformJava支持管理无限数量连接设备,可建立跨设备互操作性支持,可执行实时设备监控等高1中,有一定社区支持1有,可执行远程设备准备和配置等智能家庭、智慧城市、工业物联网、医疗、农业等1可扩展,能应对不同规模项目需求
DeviceHive无明确指定支持多种协议和设备,有广泛集成选项和强大管理功能支持,可与大数据工具无缝对接2企业版增强,开源版中活跃,可提供一定支持有,可满足一些基本自动化需求多种物联网场景,强调数据处理和集成2可扩展,以应对不同规模数据和设备管理
Thingspeak无明确指定支持设备数据收集,但设备管理功能全面性不如 ThingsBoard支持数据展示,有一定可视化能力有社区支持,但活跃度不如 ThingsBoard 社区相对较弱,主要围绕数据收集和展示进行简单规则设置主要用于数据收集和展示,如物联网数据记录、简单分析等扩展性相对较弱,主要围绕数据相关功能扩展
ioBroker无明确指定支持大量设备和协议,兼容性强,尤其对小众智能家居设备支持,通过不同模块连接实现设备间复杂交互可视化活跃,有丰富插件和库强大,通过大量模块可实现不同设备间复杂交互智能家居自动化,侧重家庭环境设备控制和交互通过插件和模块扩展,有一定扩展性
Home AssistantPython专注于家庭设备控制,支持多种智能家居设备支持,界面简洁,注重家庭设备直观展示和便捷控制活跃,社区专注于智能家居领域有,可实现家庭自动化场景,如根据传感器状态控制设备等智能家居,主要用于家庭自动化控制和设备集成通过插件和自定义配置扩展,可满足不同家庭智能化需求

一个thingsboard传输的流程:

                      [ 现场传感器设备 ]
           ┌───────────────────────────────┐
           │ 模拟/RS485/Modbus-TCP 传感器 │
           └────────────────┬──────────────┘
                            │(采集)
                            ▼
                    ┌──────────────────┐
                    │ 边缘计算设备     │
                    │(Node-RED网关)  │
                    │ - Modbus采集     │
                    │ - 数据清洗/编码  │
                    │ - MQTT 上报数据  │
                    └──────────────────┘
                            │
                  MQTT 上报 v1/devices/me/telemetry
                            ▼
                   ┌────────────────────┐
                   │  ThingsBoard 云端   │
                   │ - 设备管理         │
                   │ - 规则引擎         │
                   │ - 告警触发         │
                   │ - 时序数据存储     │
                   │ - 可视化 Dashboard │
                   └────────────────────┘
                            │
        ┌────────────┬──────┴────────────┬───────────────┐
        ▼            ▼                   ▼
 [ Node-RED 通知 ] [ 第三方平台 API ] [ 运维人员手机 App ]
 企业微信/钉钉       微信/短信等平台       Android/iOS推送

2 基本安装运行

我这边是安装在本机的wsl

2.1 Docker安装运行

基本上参考官方配置就行:Installing ThingsBoard using Docker (Linux or Mac OS) | ThingsBoard Community Edition

不过有四点要注意:

1 机器配置

Java要求的配置真的比C/C++高很多,基本上最低要4G的内存,我自己的云只有2G,所以基本上就是一运行就死机的状态。要找配置高一点的机器,最好16G。

2 文件权限。如果不是用的root,这个实际上是创建在自己账号下。在运行docker时,sudo又是用的root下路径。所以最好使用root的运行。。。

mkdir -p ~/.mytb-data && sudo chown -R 799:799 ~/.mytb-data
mkdir -p ~/.mytb-logs && sudo chown -R 799:799 ~/.mytb-logs

否则有报错

3 拉取docker的问题。这个也是墙的原因,在wsl下尤其坑爹。可以参考:用Docker来辅助开发_47.88.58.234-CSDN博客 

4 运行命令

官方的是

docker compose up -d && docker compose logs -f mytb

实际我用的是

sudo docker-compose up -d && sudo docker-compose logs -f mytb

也不是啥大问题,就是版本和权限的问题。查一下很快就能解决。

之后就没啥问题了。

2.2 手动安装

TODO

2.3 关闭

如果是docker compose运行的。直接

docker-compose down

如果不是,则用:

sudo systemctl stop thingsboard
sudo systemctl disable thingsboard

3 基本验证

默认是直接登录http://127.0.0.1:8080/

就可以看到页面。

这里要注意,它默认是有两个登录账号。

1 系统管理员。sysadmin@thingsboard.org,密码sysadmin

2 租户。tenant@thingsboard.org,密码tenant

在测试设备时,要使用租户的账号。用系统管理员是看不到设备的。(原因未知,后面再探索)

在这里取到访问令牌A1_TEST_TOKEN。就可以构建传输指令了。

curl -v -X POST \
  http://localhost:8080/api/v1/A1_TEST_TOKEN/telemetry \
  -H "Content-Type: application/json" \
  -d '{"temperature": 26.0, "humidity": 62}'

之后就是发送

在系统上马上就能看到了。

4 参考

ThingsBoard开源物联网平台之Web组态系统,实在太漂亮了,TB才是开源IoT平台中的一股清流

基于 Thingsboard 定制开发,国产化企业级、低代码 AIoT 物联网平台

完全开源的物联网 IoT 平台,非常强大!

分享|五分钟了解 ThingsBoard 物联网平台多种部署场景

github上有哪些开源的物联网平台?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值