超详细,手把手带你源码启动 Thingsboard-Gateway + MQTT 接入设备

news/2024/12/23 2:06:44/

超详细,手把手带你源码启动 Thingsboard-Gateway + MQTT 接入设备

前置条件

  • thingsboard,我这里选择的是本地源码启动
  • postgresql,这里采用的是个人服务器部署的公共服务
  • EMQX,这里同样采用服务器部署的公共服务
  • MQTTX 客户端
  • Mysql【可选】,主要作用为 mqtt broker 客户端认证使用
  • thingsboard 控制台配置网关设备
    • 设备—> 添加设备—>设为网关
    • 复制对应访问令牌 accessToken ,下文配置需要

下载源码

git clone https://github.com/thingsboard/thingsboard-gateway.git

这里采用的是 release 最新版:3.5.1

相关配置项修改

  • config 包下 tb_gateway.json 配置项修改
    在这里插入图片描述

  • 修改内容

    在这里插入图片描述

    • thingsboard 服务地址,这里由于是本地源码启动,所以 host 为 localhost,port 为 默认端口 1883【需注意】

    • accessToken 需要在thingsboard 控制台进行配置

    • connectors 添加 mqtt 连接,也可根据其他协议进行添加

        "connectors": [{"type": "mqtt","name": "MQTT Broker Connector","configuration": "mqtt.json"}]
      
  • config 包下 mqtt.json 配置项修改

    在这里插入图片描述

  • 修改内容

    • host
    • port,这里如果是本地启动,则需注意与 thingsboard 端口配置冲突
    • username 【可选】
    • password【可选】

启动

启动完成后,tb 控制台会显示对应设备

流程测试

  • 通过 MQTTX 客户端模拟设备发送数据到 broker,主题与配置文件中某一个对应主题一致即可
    在这里插入图片描述

  • 这里可以看到有两个客户端,一个是 mqttx,另一个就是我们的网关

在这里插入图片描述

  • 通过 tb 控制台可以看到我们的设备显示,然后可以通过属性及最新遥测数据进行处理,属性和配置文件中对应字段一致即可,可自定义

    在这里插入图片描述

总结

  • 实际场景中,可能应用更多的是硬网关通过各种协议收集设备数据,并进行数据格式和协议转换发送到其他平台
  • 可以在硬网关上使用这个软网关

http://www.ppmy.cn/news/1524146.html

相关文章

《JavaScript:前端开发的核心力量》

在当今的数字时代,JavaScript 无疑是前端开发中最重要的编程语言之一。它的强大功能和灵活性使得网页变得更加动态、交互性更强。本文将深入探讨 JavaScript 的各个方面,包括其历史、特点、基本语法、高级特性以及实际应用。 一、JavaScript 的历史 Java…

MDK编译过程、文件及_attribute__关键字

一.MDK编译过程及文件说明 1.MDK 的编译过程 2.编译结果说明 在工程的编译提示输出信息中有一个语句“Program Size:Codexx RO-dataxx RW-dataxx ZIdataxx”,它说明了程序各个域的大小,编译后,应用程序中所有具有同一性质的数据…

揭开面纱--机器学习

一、人工智能三大概念 1.1 AI、ML、DL 1.1.1 什么是人工智能? AI:Artificial Intelligence 人工智能 AI is the field that studies the synthesis and analysis of computational agents that act intelligently AI is to use computers to analog and instead…

11. 建立你的第一个Web3项目

11. 建立你的第一个Web3项目 在这一部分,我们将带你一步步地建立一个简单的Web3项目,从环境搭建到智能合约的创建与部署,再到开发一个去中心化应用(dApp)并与智能合约交互。这是你迈向Web3开发的第一步。 1. 环境搭建…

Groovy -> Groovy 集合操作

List的增删改查 [1, 2, 3, 4] [1, 2, 3, 4, 5, 6] [2, 3, 4] [3, 4] [1, 2, 3, 4] [3, 4, 10] [3, 4, 20] Element: 3 Element: 4 Element: 20 contains 3// log [1, 2, 3, 4] [1, 2, 3, 4, 5, 6] [2, 3, 4] [3, 4] [1, 2, 3, 4] [3, 4, 10] [3, 4, 20] Element: 3 Element: 4…

浅谈C#之任务调度TaskScheduler

一、基本介绍 TaskScheduler 是一个抽象类,用于控制任务的执行方式,特别是它们如何被安排到线程池中的线程上执行。 TaskScheduler 负责将 Task 对象排队并决定何时、以何种方式执行这些任务。 二、TaskScheduler的作用 调度任务:将任务分配…

【网络安全】密码学概述

1. 密码学概述 1.1 定义与目的 密码学是一门研究信息加密和解密技术的科学,其核心目的是确保信息在传输和存储过程中的安全性。密码学通过加密算法将原始信息(明文)转换成难以解读的形式(密文),只有拥有正…

MQ-2烟雾传感器详解(STM32)

目录 一、介绍 二、传感器原理 1.原理图 2.引脚描述 3.工作原理介绍 三、程序设计 main.c文件 mq2.h文件 mq2.c文件 四、实验效果 五、资料获取 项目分享 一、介绍 MQ-2气体传感器是一种常用的气体传感器,用于检测空气中的烟雾浓度。工作原理是基于半导…