Thingsboard使用gateway网关

2023-05-16

简介:

本次是想测试一下thingsboard网关的使用,实现通过网关+mqtt+thingsboard+emqx
实现间接设备创建和数据传输

前期准备:

thingsboard平台
thingsboard网关
emqx平台
MQTTX工具

详细过程:

1:thingsboard平台搭建

关于thingsboard平台搭建这里就不多介绍了,主要是编译难,这个之前可以看我发布的文章,所以直接跳过。

2:创建网关设备

打开thingsboard平台,点击设备管理界面,点击新建网关设备。
在这里插入图片描述

3:thingsboard网关

首先去github搜索thingboard下载对应网关代码,
地址:https://github.com/thingsboard/thingsboard-gateway
在这里插入图片描述
下载下来后通过代码我们可以发现是使用python写的,可以用pycharm或idea打开,这里我们使用idea打开。

然后第一步肯定是编译了,对应python项目编译,可以直接点击运行,看报什么错误,少什么模块直接引入对应模块,这里附上我最后编译成功后引入的模块。
在这里插入图片描述
引入对应模块包时注意,模块名对应包名可能有些会存在差异,这个和python2和python3的区别有关系。
对应编译过程中,对于有些模块引入失败但是其对应功能不重要时,可以先注释掉,后面有时间再回来看。
例如:楼主有个模块mmh3引入失败,然而发现其非必须时先注释掉,这个mmh3主要是一些加密算法相关的,后面有时间可以去研究一下。
在这里插入图片描述
在这里插入图片描述

对应thingsboard-way项目启动时要注意两个配置地方修改。
1:tb_gateway.yaml文件
2:mqtt.json文件修改,(因为此次我们测试是mqtt,如果测试其他时对应修改其他配置文件即可)
在这里插入图片描述
首先我们看到tb_gateway.yaml
在这里插入图片描述
这里主要注意改一下host和port对应thingsboard平台地址和端口
accessToken对应刚才我们创建的网关设备访问令牌。
然后我们看到mqtt.json文件内容
在这里插入图片描述
这里的host和port对应我们搭建的emqx平台的地址和端口,后面会讲。
对应这个项目编译一般都会一系列问题,有点耐心慢慢解决就好了,这里我们改完相应配置后直接启动。在emqx界面上也能看到我们对应的thingsboard-gateway客户端

在这里插入图片描述

4:emqx搭建

emqx我们可以知道,是一个大规模分布式物联网 MQTT 消息服务器,可以
高效可靠连接海量物联网设备,实时处理分发消息与事件流数据,助力构建关键业务的物联网平台与应用。
这里我们采用docker拉取对应镜像构建。
1拉取镜像

docker pull emqx/emqx:latest

2构建启动容器,指定端口

docker run -d --name emqx -p 1883:1883 -p 8081:8081 -p 8083:8083 -p 8883:8883 -p 8084:8084 -p 18083:18083 0ef9bc19d70e

端口说明
1883:MQTT 协议端口
8883:MQTT/SSL 端口
8083:MQTT/WebSocket 端口
8080:HTTP API 端口
18083:Dashboard 管理控制台端口
0ef9bc19d70e:刚才我们拉取镜像对应的image_id
在这里插入图片描述
3容器启动成功后,打开界面控制台看是否搭建成功。(记得开放对应端口,例如楼主是在阿里云服务器上搭建的找到对应规则开放对应端口,不然是看不到界面的)
访问地址:http://服务器公网ip:18083
登录默认用户名:admin,密码:public
在这里插入图片描述

5:使用MQTTX连接我们的emqx服务器发送设备数据到thingsboard平台。

在这里插入图片描述
连接成功后填写相应主题和消息后点击发送。
在这里插入图片描述
发送成功后我们打开thingsboard设备界面,记得刷新一下。
在这里插入图片描述
在这里插入图片描述
可以看到thingsboard平台上自动为我们创建了设备,且遥测数据也发送成功了,至此我们间接地通过网关帮我们创建了设备且成功上传了数据,大功告成。这个流程通了之后,我们就可以根据我们的业务需求来进行改进。

6:对应mqtt.json文件的解释

在这里插入图片描述
这里的mapping是一个数组列表,里面包含之前定义好的模板。
我们先看到第一个。
topicFilter:对应发送消息的主题
deviceNameJsonExpression:对应在thingsboard平台自动创建的设备名字
deviceTypeJsonExpression:对应设备配置名称
在这里插入图片描述
在这里插入图片描述
attributes对应设备的客户端属性,可以自己定义,根据样例修改。
在这里插入图片描述
timeseries对应遥测数据数组列表,这个遥测数据对应key和value可以根据自己的需求自己定义修改。
接下来我们看到第二个主题
/sensor/+/data
+号代码设备名字,自己填写,后面的属性配置和之前我解释的一样,就不细说了。
后面还有几个规则,这里楼主还没研究,这个后面有时间再细看一下,就先到这里了,感兴趣的可以自己去研究一下。

总结:

本次调试了thingsboard网关的功能,一顿操作下来还是花费了不少时间了,主要都是花在项目编译上,解决项目运行出现的问题,总的来说还是收获不少。这次通过网关间接地在thingsboard平台创建设备和发送遥测数据,采用的还是mqtt协议,后面会再测试一下其他协议的接入过程,感兴趣的小伙伴可以一起交流呀。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Thingsboard使用gateway网关 的相关文章

  • rc=20 > Connect to SAP gateway failed

    这种错误 xff0c 我是在一台用户的电脑上碰到的 xff0c 解决方案很简单 xff1a 把Computer Name换成英文 汗了许久
  • android studio maven 拉取代码出现 bad gateway 502

    一般都是gradle 配置的maven的仓库 问题 我这里是因为使用了 repositories google jcenter mavenCentral 新增 maven url 39 https www jitpack io 39 mav
  • SpringCloud:Gateway之StripPrefix使用

    StripPrefix 过滤配置 很多时候也会有这么一种请求 用户请求路径是 api goods 而真实路径是 goods 这时候我们需要去掉 api才是真实路径 此时可以使用StripPrefix功能来实现路径的过滤操作 如下配置 ser
  • Spring cloud Gateway常用配置

    gateway里的常用配置 前面的例子是通过路径 Path 方式配置路由转发 gateway还还有其他的配置 下面做个简单的介绍 1 路由 route Route 主要由 路由id 目标uri 断言集合 过滤器集合组成 前面的实例用到了id
  • 搭建spring-cloud-alibaba微服务项目:springBoot服务+nacos注册中心+nacos配置中心+feign服务交互+gateway网关

    项目说明 从0 1 搭建cloud alibaba微服务项目 包括各个springBoot服务 nacos注册中心 nacos配置中心 feign服务交互 gateway网关 首先统一微服务种alibaba相关组件的依赖版本问题 官方参考文
  • UWB自组网定位方案_基于UWB技术的消防应急救援定位解决方案

    目前国内应急救援市场都是基于被动定位应用 在特殊情况下救援也大多处于单兵作战的情况 并不能及时知道自己和自己组员的位置信息和状态 且没有场景感知和室内外一体位置信息结合 使相关救援人员处于更加危险境地 本篇就带大家详细了解一下微能信息针对消
  • 微服务内部服务调用@Inner

    1 外部从Gateway访问 需要鉴权 eg CURD操作 这种是最常使 的 户登录后正常访问接 不需要我们做什么处理 可能有的接 需要加权限字段 2 外部从Gateway访问 不需要鉴权 eg 短信验证码 需要我们将uri加 到secur
  • SpringCloud gateway (史上最全)

    1 1 SpringCloud Gateway 简介 SpringCloud Gateway 是 Spring Cloud 的一个全新项目 该项目是基于 Spring 5 0 Spring Boot 2 0 和 Project Reacto
  • GateWay 服务网关

    介绍 Cloud全家桶中有个很重要的组件就是网关 在1 x版本中都是采用的Zuul网关 但在2 x版本中 zuul的升级一直跳票 SpringCloud最后自己研发了一个网关替代Zuul 那就是SpringCloud Gateway Gat
  • 四. Gateway 限流

    目录 一 限流中的基础问题 1 为什么限流及常见限流方案 2 常见限流算法 计数器限流算法 令牌桶算法 漏桶算法 3 几种基础版限流实现方案 基于redis实现限流 基于 Guava RateLimiter 实现令牌算法 二 Gateway
  • SpringCloud组件之Gateway网关详细教程

    目录 一 概念 1 1 什么是微服务网关 1 2 为什么需要使用网关 网关的作用 1 3网关的好处 二 Gateway网关的快速入门 1 快速创建 2 网关路由的流程 3 Gateway断言工厂 predicates 4 gateway过滤
  • gateway+nacos秒级上下线

    gateway nacos秒级上下线 spring cloud gateway和nacos是我们常用的组件 如果不做处理 服务启动或停止后在gateway上并不会立即上线或者下线 带来的问题就是 部署服务的时候 要把新的服务启动 等待gat
  • SpringCloud Gateway:status: 503 error: Service Unavailable

    使用SpringCloud Gateway路由请求时 出现如下错误 yml配置如下 可能的一种原因是 yml配置了gateway discovery locator enabled true 此时gateway会使用负载均衡模式路由请求 但
  • java中获取默认网关

    我想使用 java 获取本地计算机的默认网关 我知道如何通过执行dos或shell命令来获取它 但是还有其他方法来获取吗 还需要获取主要和辅助 dns ip My way is try DatagramSocket s new Datagr
  • 当应用程序发送 401 时,Azure 应用程序网关抛出 502

    Azure 应用程序网关显示502 bad gateway error 当应用程序返回时401 or 500 errors 它应该发送应用程序发送的任何内容 但默认情况下它发送502 知道发生了什么以及有任何配置或代码更改建议吗 EDIT
  • 增加504超时错误

    有什么方法可以使错误 504 网关超时更长 如果可以的话 如何以及更改它的文件位于何处 我在centos 6上使用nginx 根据您拥有的网关类型 您应该使用类似以下内容的内容 proxy read timeout 600s 检查文档 ht
  • 从IP地址获取子网掩码和网关

    我该如何计算subnet mask and gateway从一个IP address 假设我的 IP 地址是180 12 24 68 那么如何计算这个IP的子网掩码和网关呢 您无法计算您的子网掩码or仅来自 IP 地址的网关 您可以在给定
  • 从 IP 块计算网络掩码/网关

    我们的数据中心为我们提供了所有机器的 JSON 转储 以便导入到我们自己的库存管理系统中 这提供了 IP 块 例如 192 168 1 1 26 但当我导入数百个块时 我还想计算网络掩码和网关 我查看了 PHP Doxygen 上的网络功能
  • 视频馈送至 ThingsBoard 仪表板

    我目前使用 ThingsBoard 作为 IoT 代理来捕获来自多个传感器的遥测数据并将其显示到仪表板 我想添加显示来自 iPhone 相机或网络摄像头的实时视频源的功能 我想知道这里是否有人知道 ThingsBoard 是否支持任何类型的
  • 从 Power BI Web 刷新 AWS RDS 数据库

    我在 Power BI Desktop 中创建了一个报表 连接到 AWS RDS 数据库 并将其发布到 Power BI Web 应用程序 目的是从 Web 应用程序刷新数据集 我尝试使用 MySQL 和 SQL Server 在 RDS

随机推荐

  • 关于UEFI引导的理解

    UEFI 和 Legacy区别 UEFT和Legacy是引导模式 xff0c 是用来引导系统的 按下开机键到看到windows标识 Legacy 传统BIOS模式 xff0c 启动顺序 xff1a 开机 gt BIOS初始化 gt BIOS
  • IDEA license server 地址

    旧地址 xff1a http jetbrains license server 新地址 xff1a http fls jetbrains agent com
  • 线性探测再散列

    哈希表又称散列表 哈希表存储的基本思想是 xff1a 以数据表中的每个记录的关键字 k为自变量 xff0c 通过一种函数H k 计算出函数值 把这个值解释为一块连续存储空间 xff08 即数组空间 xff09 的单元地址 xff08 即下标
  • 特征选择的几种方法

    目录 1 过滤法 xff08 Filter xff09 1 1 方差选择法 1 2 相关系数法 1 3 卡方检验 1 4 互信息法 1 5 relief算法 2 包裹法 xff08 Wrapper xff09 2 1 递归特征消除法 2 2
  • Excel调用有道词典实现批量翻译

    如图所示 xff0c 我们在B2单元格中写入公式 xff1a 61 FILTERXML WEBSERVICE 34 http fanyi youdao com translate amp i 61 34 amp A2 amp 34 amp
  • Python的使用技巧:any all的短路

    注意迭代类型和list的结果是不一样的 xff1a if name 61 61 39 main 39 a 61 1 2 3 if any print i is None for i in a print 6666666666 1 2 3 6
  • curl升级到7.87(centos7和TencentOS2.4 tk)

    centos7升级curl到7 8 7 按照之前写过的一篇文章 大致按描述操作即可 只不过需要做一点点修正 CentOS 7升级curl 乐大师的博客 CSDN博客 centos7 curl升级 更新操作中会报错安装失败 提示如下 nbsp
  • Python中raise…from用法

    本来这几天是计划阅读string模块的源码 xff0c 恰好其中一段异常处理的代码我觉得很新奇 xff0c 也就是raise from的用法 xff0c raise的用法大家都知道 因为我之前没遇到过 xff0c 所以就去网上查了相关的资料
  • AI模型隐私风险及防护技术

    一 背景 随着AI成为新一代关键技术趋势 xff0c 围绕着AI的服务也越来越普及 特别是结合了云计算以后 xff0c 机器学习数据的标注 模型训练及预测等服务纷纷上云 xff0c 为用户提供了强大的算力和优秀的算法 xff0c 极大方便了
  • 汉诺塔的图解递归算法

    一 xff0e 起源 xff1a 汉诺塔 xff08 又称河内塔 xff09 问题是源于印度一个古老传说的益智玩具 大梵天创造世界的时候做了三根金刚石柱子 xff0c 在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘 大梵天命令婆罗门把圆
  • 推荐系统中的矩阵分解总结

    最近学习矩阵分解 xff0c 但是学了好多种类 xff0c 都乱了 xff0c 看了这篇文章 xff0c 系统性的总结了矩阵分解 xff0c 感觉很棒 xff0c 故分享如下 前言 推荐系统中最为主流与经典的技术之一是协同过滤技术 xff0
  • 几种常见的离群点检验方法

    在一组平行测定中 xff0c 若有个别数据与平均值差别较大 xff0c 则把此数据视为可疑值 xff0c 也称离群值 如果统计学上认为应该舍弃的数据留用了 xff0c 势必会影响其平均值的可靠性 相反 xff0c 本应该留用的数 据被舍弃
  • Spring框架介绍及使用(一)

    文章目录 概念为什么要用 xff1f Spring的体系结构Spring框架之控制反转 xff08 IOC xff09 概念Spring文件包解释入门程序入门程序需要的jar包配置文件入门程序的建立ApplicationContext与Be
  • SpringMVC 相关配置

    SpringMVC 相关配置 打印请求与响应日志 打印 64 RequestBody 64 Response日志 https blog csdn net ww 1997 article details 116006445 https www
  • 普通表到分区表转换

    A 通过 Export import 方法 B 通过 Insert with a subquery 方法 C 通过 Partition Exchange 方法 D 通过 DBMS REDEFINITION 方法 比如把test用户下的普通表
  • Ubuntu 20.04 上安装 Node.js 和 npm 的三种方法

    主要介绍三种在 Ubuntu 20 04 上安装 Node js 和 npm 的方法 xff1a 通过Ubuntu标准软件库 这是最简单的安装方法 xff0c 并且适用大多数场景 但是标准软件库中最高版本只有 v10 19 0 root 6
  • android databinding 数据绑定错误 错误:任务':app:compileDebugJavaWithJavac' 的执行失败

    今天到公司照常打开项目 xff0c 突然运行不了显示databinding错误 Error Execution failed for task 39 app compileDebugJavaWithJavac 39 gt android d
  • 解决idea新建Module的奇怪路径问题

    问题由来 xff1a 在部署SpringCloud的时候想新建一个module来快速创建 xff0c 结果被创建出来的目录结构搞得一脸懵逼 xff0c 新建的module的根目录跑到了 xff0c 项目的src目录下 xff0c 整个看起来
  • ThingsBoard源码解析-数据订阅与规则链数据处理

    前言 结合本篇对规则链的执行过程进行探讨 根据之前对MQTT源码的学习 xff0c 我们由消息的处理入手 org thingsboard server transport mqtt MqttTransportHandler void pro
  • Thingsboard使用gateway网关

    简介 xff1a 本次是想测试一下thingsboard网关的使用 xff0c 实现通过网关 43 mqtt 43 thingsboard 43 emqx 实现间接设备创建和数据传输 前期准备 xff1a thingsboard平台 thi