ThingsBoard Edge 设备连接

文章目录

    • 一、创建设备
      • 1.创建设备配置
      • 2.创建设备
    • 二、上传遥测
      • 1.MQTTX 工具
      • 2.上传遥测
    • 三、属性
      • 1.属性类型
      • 2.上传客户端属性
      • 3.下载共享属性
      • 4.订阅共享数据
    • 四、设备告警
      • 1.配置告警规则
      • 2.清除报警规则
      • 3.测试
        • 3.1.设备告警
        • 3.1.清除告警
    • 五、规则链
      • 1.规则管理
      • 2.Edge 查看规则链

  • ThingsBoard
# ThingsBoardhttps://iothub.org.cn/docs/iot/
https://iothub.org.cn/docs/iot/tb-edge/edge-device/

一、创建设备

1.创建设备配置

在 ThingsBoard 服务端创建设备配置 test-edge
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在 Edge 端查看设备配置
在这里插入图片描述

2.创建设备

在 Edge 端创建设备 edge-device
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在服务端查看设备
在这里插入图片描述

# 访问令牌
lMrdczEw1rJHhBejzumZ

二、上传遥测

1.MQTTX 工具

在这里插入图片描述

2.上传遥测

# 发布主题
v1/devices/me/telemetry# 发布数据
{"stringKey": "value1","booleanKey": true,"doubleKey": 42.0,"longKey": 73,"jsonKey": {"someNumber": 42,"someArray": [1,2,3],"someNestedObject": {"key": "value"}}
}
  • 发送遥测数据
    在这里插入图片描述

  • Edge 端遥测数据
    在这里插入图片描述

  • ThingsBoard 服务端遥测数据
    在这里插入图片描述

三、属性

1.属性类型

属性主要分为三种:

  • 服务端属性:服务端定义,服务端使用,设备端不能使用
  • 共享属性:服务端定义,设备端可以使用,不能修改
  • 客户端属性:设备端定义属性,服务端可以使用,不能修改

1.服务端属性
在这里插入图片描述

2.共享属性
在这里插入图片描述

3.客户端属性
在这里插入图片描述

2.上传客户端属性

package com.iothub.attribute;
import com.iothub.mqtt.EmqClient;
import com.iothub.mqtt.MqttProperties;
import com.iothub.mqtt.QosEnum;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;@Component
public class Upload {@Autowiredprivate EmqClient emqClient;@Autowiredprivate MqttProperties properties;@PostConstructpublic void init(){//连接服务端emqClient.connect(properties.getUsername(),properties.getPassword());//订阅一个主题//emqClient.subscribe("testtopic/#", QosEnum.QoS1);}@Scheduled(fixedRate = 2000)public void publish(){String data = getData();emqClient.publish("v1/devices/me/attributes",data,QosEnum.QoS1,false);}private String getData(){String data = "{\n" +"\t\"attribute1\": \"value1\",\n" +"\t\"attribute2\": true,\n" +"\t\"attribute3\": 42.0,\n" +"\t\"attribute4\": 73,\n" +"\t\"attribute5\": {\n" +"\t\t\"someNumber\": 42,\n" +"\t\t\"someArray\": [1, 2, 3],\n" +"\t\t\"someNestedObject\": {\n" +"\t\t\t\"key\": \"value\"\n" +"\t\t}\n" +"\t}\n" +"}";return data;}
}
  • Edge 端显示
    在这里插入图片描述

  • 服务端显示
    在这里插入图片描述

3.下载共享属性

package com.iothub.attribute;
import com.iothub.mqtt.EmqClient;
import com.iothub.mqtt.MqttProperties;
import com.iothub.mqtt.QosEnum;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import javax.annotation.PostConstruct;//@Component
public class Download {@Autowiredprivate EmqClient emqClient;@Autowiredprivate MqttProperties properties;@PostConstructpublic void init(){//连接服务端emqClient.connect(properties.getUsername(),properties.getPassword());//订阅一个主题emqClient.subscribe("v1/devices/me/attributes/response/+", QosEnum.QoS1);}@Scheduled(fixedRate = 2000)public void publish(){String data = getData();emqClient.publish("v1/devices/me/attributes/request/1",data, QosEnum.QoS1,false);}private String getData(){String data = "{\n" +"\t\"clientKeys\": \"attribute1,attribute2\",\n" +"\t\"sharedKeys\": \"shared1,shared2\"\n" +"}";return data;}
}

共享属性需要在 Edge 端创建,会同步到服务端
在这里插入图片描述
在这里插入图片描述

4.订阅共享数据

package com.iothub.attribute;
import com.iothub.mqtt.EmqClient;
import com.iothub.mqtt.MqttProperties;
import com.iothub.mqtt.QosEnum;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import javax.annotation.PostConstruct;//@Component
public class Subscribe {@Autowiredprivate EmqClient emqClient;@Autowiredprivate MqttProperties properties;@PostConstructpublic void init(){//连接服务端emqClient.connect(properties.getUsername(),properties.getPassword());//订阅一个主题emqClient.subscribe("v1/devices/me/attributes", QosEnum.QoS1);}@Scheduled(fixedRate = 2000)public void publish(){String data = getData();//emqClient.publish("v1/devices/me/attributes/request/1",data, QosEnum.QoS1,false);}private String getData(){String data = "{\n" +"\t\"clientKeys\": \"attribute1,attribute2\",\n" +"\t\"sharedKeys\": \"shared1,shared2\"\n" +"}";return data;}
}

四、设备告警

1.配置告警规则

在 ThingsBoard 服务端创建告警规则
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.清除报警规则

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • Edge 端查看告警规则
    在这里插入图片描述

3.测试

v1/devices/me/telemetry{"temperature": 62.2,"humidity": 79
}
3.1.设备告警
{"temperature": 62.2,"humidity": 79
}

在这里插入图片描述

  • Edge 端告警
    在这里插入图片描述

  • 服务端告警
    在这里插入图片描述

3.1.清除告警
{"temperature": 42.2,"humidity": 79
}

在这里插入图片描述
在这里插入图片描述

五、规则链

1.规则管理

在服务端创建、修改规则链
在这里插入图片描述
在这里插入图片描述

2.Edge 查看规则链

在这里插入图片描述
在这里插入图片描述

  • ThingsBoard
# ThingsBoardhttps://iothub.org.cn/docs/iot/
https://iothub.org.cn/docs/iot/tb-edge/edge-device/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/542149.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Centos strema 9 环境部署Glusterfs9

本文档只是创建复制卷,分布式卷,分布式复制卷,纠删卷 操作系统 内核 角色 Ip地址 说明 CentOS Stream 9 x86_64 5.14.0-427.el9.x86_64 客户端 client 192.168.80.119 挂载存储业务机器 CentOS Stream 9 x86_64 5.14.0-427.el9.x8…

突破编程_前端_ACE编辑器(概述)

1 ACE 框架简介 ACE 框架是一个强大且灵活的前端文本编辑器框架,它提供了一套全面的 API 和丰富的功能,使得开发者能够轻松地在 Web 应用中集成功能强大的代码编辑器。ACE 编辑器不仅适用于在线代码编辑,还广泛应用于文档编辑、实时协作、富…

【回归预测】基于SSA-RF(麻雀搜索算法优化随机森林)的回归预测 多输入单输出【Matlab代码#66】

文章目录 【可更换其他算法,获取资源请见文章第6节:资源获取】1. 随机森林RF算法2. 麻雀搜索算法3. 实验模型4. 部分代码展示5. 仿真结果展示6. 资源获取 【可更换其他算法,获取资源请见文章第6节:资源获取】 1. 随机森林RF算法 …

ROS Kinetic通信编程:话题、服务、动作编程

文章目录 一、话题编程二、服务编程三、动作编程 接上篇,继续学习ROS通信编程基础 一、话题编程 步骤: 创建发布者 初始化ROS节点向ROS Master注册节点信息,包括发布的话题名和话题中的消息类型按照一定频率循环发布消息 创建订阅者 初始化…

vscode 运行 java 项目之解决“Build failed, do you want to continue”的问题

Visual Studio Code运行 java 起来似乎比 IDEA 更轻量、比 eclipse 更友好,是不可多得的现代编译法宝。 安装好官方推荐的 java 扩展包后,就可以运行 java 代码了。功能 比 code runner 强,支持 gradle、maven、普通java项目,运行…

点餐平台网站|基于springboot框架+ Mysql+Java+Tomcat的点餐平台网站设计与实现(可运行源码+数据库+设计文档+部署说明)

推荐阅读100套最新项目 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 目录 前台功能效果图 管理员功能登录前台功能效果图 用户功能实现 系统功能设计 数据库E-R图设计 lunwen参…

最佳实践:Swagger 自动生成 Api 文档

自动生成 API 文档的好处不言而喻,它可以提供给你的团队或者外部协作者,方便 API 使用者准确地调用到你的 API。为了降低手动编写文档带来的错误,很多 API 开发者会偏向于寻找一些好的方法来自动生成 API 文档。本文将会介绍一些常用的文档生…

神策分析 Copilot 成功通过网信办算法备案,数据分析 AI 化全面落地

近日,神策数据严格遵循《互联网信息服务深度合成管理规定》,已完成智能数据问答算法备案。该算法基于大模型技术,专注于为客户提供数据指标查询和数据洞察方面的专业回答。 神策分析 Copilot 运用神策数据智能数据问答算法,聚焦分…

NCP1380BDR2G芯片中文资料规格书PDF数据手册引脚图图片参数功能价格

产品描述: NCP1380 是一款高性能器件,旨在为准谐振转换器供电。该控制器基于专属的谷锁闭系统,可以在功率负载变轻时进行切换并降低开关频率。这样将产生稳定的运行,即使在漏极-源极谷中总是触发的开关事件下也是如此。此系统可在…

Node.js(1)

跨平台的node.js运行环境,使开发者可以搭建服务器端的js应用程序 它可以编写服务器端程序; 编写数据接口;提供网页资源浏览功能 前端工程化:开发集成的所有工具和技术 与浏览器环境的区别 node.js环境中没有DOM和BOM fs模块-读…

Python图像处理指南:PIL与OpenCV的比较【第135篇—PIL】

Python图像处理指南:PIL与OpenCV的比较 图像处理在计算机视觉和图像识别等领域中扮演着至关重要的角色。Python作为一种功能强大且易于学习的编程语言,提供了多种库供图像处理使用。在本文中,我们将比较两个最流行的Python图像处理库&#x…

html5播放flv视频

参考:flv-h265 - npmHTML5 FLV Player. Latest version: 1.7.0, last published: 6 months ago. Start using flv-h265 in your project by running npm i flv-h265. There are no other projects in the npm registry using flv-h265.https://www.npmjs.com/packag…