thingsboard使用说明

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


thingsboard平台的使用

主界面

在这里插入图片描述
常用到的几个部分:规则链库、设备、设备配置、部件库、仪表板库

设备连接

设备连接流程:

1.TB平台添加设备;
2.配置模拟设备并向TB平台发送数据;
3.平台的设备栏接收数据并展示;

1.TB平台添加设备

1)进入设备管理界面
在这里插入图片描述
2)点击+号,添加设备;
输入设备名称;设备配置选择默认(默认规则链和支持的三种协议);
点击添加,设备创建完成。
在这里插入图片描述

3)点击light01设备

详情页包含:设备ID(设备数据接入后 使用tb设备数据是需要使用)、访问令牌(设备传入数据时需要使用)
最新遥测数据:存储设备发送的数据
警告:数据超出设定的范围,将在本栏发出警告,具体的范围设定在规则链中配置。
在这里插入图片描述

2.客户端发送数据

客户端可以使用mqtt.fx软件测试工具,也可以自己编写一个客户端。
这里以mqtt.fx软件测试工具为例,发送JSON格式的数据。

设置服务端的地址为localhost:因为单机部署的TB平台使用的是本地计算机的默认Web发布路径;
设置端口号为:1883(mqtt默认的端口号);
Client ID随机生成;
User Name:填入设备的访问令牌
在这里插入图片描述
发送主题(thingsboard官网提供):v1/devices/me/telemetry
发送格式:json
测试结果如下图所示
在这里插入图片描述

规则链的使用(保存遥测和创建警告)

数据上传至平台到平台展示数据,这中间是经过了规则链的;规则链是由各个规则节点连接而成
thingsboard的规则链库可以创建多种规则链。
打开TB平台默认的规则链:
在这里插入图片描述
根据不同的需求,在规则链中添加我们需要的规则节点,例如我们需要显示并保存遥测数据,且对不正常的数据做出预警,那么我们需要一下链路即可:
外部数据输入 -> 读取正确的设备信息 -> 消息分类(我们走遥测消息路线) -> 保存遥测数据 -> 过滤节点(光强判断)->创建警告
在这里插入图片描述

打开过滤节点,设置告警范围:修改 (msg.数据名称) 和 (数值)
在这里插入图片描述

测试结果:
在这里插入图片描述

网关服务程序讲解

功能

网关服务程序相当于用nodejs实现了一个简易网关的功能:
1.与多台设备建立tcp连接,在一个局域网下,设备可以向网关发送数据
2.完成数据转换
3.网关通过mqtt协议将数据转发至thingsboard平台

对于设备而言,网关是服务端;对于TB平台而言,网关是客户端。

注意:可以尝试直接用thingsboard官网上的gateway程序

代码分析

网关主程序gateway.js

//导入第三方包
let tcpConnector = require("./connector/tcp-connector");
let tbClient = require("./tb-client/tb-client");
let tcpConverter = require("./converter/converter");
let logger = require("./utils/log4j").getLogger("gateway");

const TCP_HOST ="10.4.17.71";//本机地址
const TCP_PORT ="9300";//本机端口

const TB_PATH = "mqtt://127.0.0.1:1883";//本地路径,mqtt默认端口1883
const GATEWAY_TAKEN ="NSx8TAuAp42dhJNf9KtA";网关的令牌

//tb消息处理
let tbMsgHandle = function (topic,msg){
    logger.info("tb msg:",topic,msg);
};

//tb 连接
tbClient.init(TB_PATH,GATEWAY_TAKEN,tbMsgHandle,() => {
    logger.info("tb client conneted!");
});
//tcp消息处理
let tcbMsgHandle = function (msg){//将消息转换为thingsboard支持的格式
    
    let tbMsg = tcpConverter.convert(msg);
    logger.info("send: ",JSON.stringify(tbMsg));
    tbClient.send(tbMsg);
};

//tcp连接
tcpConnector.init(TCP_HOST,TCP_PORT,tcbMsgHandle,() => {
    logger.info('tcp connector listening on ' + TCP_HOST + ':' + TCP_PORT);
});

应用

光强监控系统

1.感知层 -> 网络层

采集板的工作:采集光强模拟量 -> AD转换 -> 光强数字量 -> 数据处理 -> JSON格式转换 -> 通过RS232接口将数据帧传给串口服务器;
串口服务器:完成RS232转以太网的工作,将光强数据通过以太网上传到网关服务端。

在这里插入图片描述
2.应用层

在这里插入图片描述
在这里插入图片描述
网关服务端通过tcp/ip协议接收到数据,此时作为客户端,将数据通过mqtt协议转发给thingsboard平台。平台接收到数据如下图所示。
在这里插入图片描述

数据展示界面优化

用到了仪表板库和部件库
仪表板库:可以创建多个仪表板
部件库:含有多种类型的部件,也可以制作自己的部件

仪表板:展示数据的界面,可以把它想象成一块空的展示板,我们可以在这块白板上添加折线图、控件等部件,用于数据的直观展示和设备的远程操控。

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值