ThingsBoard规则链节点:Azure IoT Hub 节点详解

目录

引言

[1. Azure IoT Hub 节点简介](#1. Azure IoT Hub 节点简介)

[2. 节点配置](#2. 节点配置)

[2.1 基本配置示例](#2.1 基本配置示例)

[3. 使用场景](#3. 使用场景)

[3.1 数据传输](#3.1 数据传输)

[3.2 数据分析](#3.2 数据分析)

[3.3 设备管理](#3.3 设备管理)

[4. 实际项目中的应用](#4. 实际项目中的应用)

[4.1 项目背景](#4.1 项目背景)

[4.2 项目需求](#4.2 项目需求)

[4.3 实现步骤](#4.3 实现步骤)

[5. 总结](#5. 总结)


引言

ThingsBoard 是一个开源的物联网平台,提供了设备管理、数据收集、处理和可视化等功能。规则链是 ThingsBoard 中的一个强大功能,允许用户定义复杂的业务逻辑来处理设备上报的数据。在规则链中,Azure IoT Hub 节点用于将消息发送到 Microsoft Azure IoT Hub。

ThingsBoard从入门到实战课程,深入透析底层原理,快速搭建自己的IOT平台_哔哩哔哩_bilibiliThingsBoard从入门到实战课程,深入透析底层原理,快速搭建自己的IOT平台共计36条视频,包括:1、ThingsBoard项目介绍、2、ThingsBoard前端Vue版本代码编译、3、ThingsBoard本地后端源码编译等,UP主更多精彩视频,请关注UP账号。https://www.bilibili.com/video/BV1CH36egEDM/?spm_id_from=333.999.0.0&vd_source=5b535ac3589f53abe431d7f6afc44ff4

1. Azure IoT Hub 节点简介

Azure IoT Hub 节点的主要作用是在规则链执行过程中,将消息发送到 Azure IoT Hub。Azure IoT Hub 是 Microsoft Azure 提供的一项完全托管的服务,用于可靠地连接、监视和管理数十亿个 IoT 设备。通过使用 Azure IoT Hub 节点,可以将设备上报的数据或处理结果发送到 Azure IoT Hub,再由其他 Azure 服务或系统消费这些消息,实现数据的进一步处理和分析。

2. 节点配置
  • IoT Hub 连接字符串:提供 Azure IoT Hub 的连接字符串,用于身份验证。
  • 设备 ID:指定要发送消息的设备 ID。
  • 消息:指定要发送的消息内容,可以是静态文本或动态变量。
2.1 基本配置示例
复制代码
{
  "connectionString": "HostName=youriothub.azure-devices.net;SharedAccessKeyName=iothubowner;SharedAccessKey=yoursharedaccesskey",
  "deviceId": "yourdeviceid",
  "message": "This is a test message from ThingsBoard"
}
3. 使用场景

Azure IoT Hub 节点在多种场景下都非常有用,特别是在需要将设备数据发送到 Azure 云服务进行进一步处理和分析的场景中。以下是一些具体的应用场景:

3.1 数据传输

在需要将设备上报的数据发送到 Azure IoT Hub 时,可以通过 Azure IoT Hub 节点将数据发送到指定的设备。

复制代码
{
  "connectionString": "HostName=youriothub.azure-devices.net;SharedAccessKeyName=iothubowner;SharedAccessKey=yoursharedaccesskey",
  "deviceId": "yourdeviceid",
  "message": "Device ${msg.deviceId} reported data: ${msg.data}"
}
3.2 数据分析

在需要对设备数据进行实时分析时,可以通过 Azure IoT Hub 节点将数据发送到 Azure IoT Hub,再由 Azure Stream Analytics 或其他 Azure 服务进行处理和分析。

复制代码
{
  "connectionString": "HostName=youriothub.azure-devices.net;SharedAccessKeyName=iothubowner;SharedAccessKey=yoursharedaccesskey",
  "deviceId": "yourdeviceid",
  "message": "Device ${msg.deviceId} reported data: ${msg.data}"
}
3.3 设备管理

在需要管理和控制设备时,可以通过 Azure IoT Hub 节点将命令或配置发送到指定的设备。

复制代码
{
  "connectionString": "HostName=youriothub.azure-devices.net;SharedAccessKeyName=iothubowner;SharedAccessKey=yoursharedaccesskey",
  "deviceId": "yourdeviceid",
  "message": "Command to device: ${msg.command}"
}
4. 实际项目中的应用

下面是一个实际项目中的例子,展示如何在智能家居系统中使用 Azure IoT Hub 节点。

4.1 项目背景

假设我们正在开发一个智能家居系统,该系统需要支持用户通过手机应用控制家中的灯光、空调等设备,并记录设备的状态和使用情况。此外,还需要将设备数据发送到 Azure IoT Hub 进行进一步处理和分析。

4.2 项目需求
  • 记录设备的状态,例如当前温度、湿度等。
  • 记录设备的使用情况,例如开关次数、能耗等。
  • 实现实时反馈,确保用户能够及时了解操作结果。
  • 将设备数据发送到 Azure IoT Hub 进行进一步处理和分析。
4.3 实现步骤
  1. 部署设备

    • 在家中安装智能灯光、空调等设备,并连接到 ThingsBoard 平台。
  2. 创建规则链

    • 添加 Azure IoT Hub 节点,用于将设备上报的数据发送到 Azure IoT Hub。
    • 添加其他处理节点,如设备控制、状态查询和数据存储。
  3. 配置规则链

    • 配置 Azure IoT Hub 节点,用于发送设备数据。

    {
    "connectionString": "HostName=youriothub.azure-devices.net;SharedAccessKeyName=iothubowner;SharedAccessKey=yoursharedaccesskey",
    "deviceId": "yourdeviceid",
    "message": "Device {msg.deviceId} reported data: {msg.data}"
    }

  4. 处理数据

    • 根据业务逻辑,动态地将设备数据发送到 Azure IoT Hub。

    // 发送设备数据到 Azure IoT Hub
    public void sendDeviceDataToAzureIoTHub(String deviceId, String data) {
    // 配置 Azure IoT Hub 节点
    JsonNode config = JsonNodeFactory.instance.objectNode()
    .put("connectionString", "HostName=youriothub.azure-devices.net;SharedAccessKeyName=iothubowner;SharedAccessKey=yoursharedaccesskey")
    .put("deviceId", deviceId)
    .put("message", "Device " + deviceId + " reported data: " + data);

    复制代码
     azureIoTHubNode.sendMessage(config);

    }

  5. 前端界面

    • 开发一个前端界面,显示设备的状态和使用情况。
    • 提供一个界面,让用户能够查看和管理设备的状态和使用情况,以及接收通知。
  6. 数据查询

    • 使用 SQL 查询,获取设备的状态和使用情况。

    SELECT * FROM device_status WHERE device_id = 'device1' ORDER BY timestamp DESC LIMIT 10;
    SELECT * FROM device_usage WHERE device_id = 'device1' ORDER BY timestamp DESC LIMIT 10;

5. 总结

Azure IoT Hub 节点在 ThingsBoard 规则链中是一个非常有用的工具,可以帮助将消息发送到 Azure IoT Hub,实现数据的进一步处理和分析。通过合理地使用 Azure IoT Hub 节点,可以在数据传输、数据分析和设备管理等场景中,确保系统的高效性和灵活性。无论是在智能家居、工业监控还是其他物联网应用中,Azure IoT Hub 节点都能发挥重要作用。

🌐 项目地址

Things Vuehttp://thingsvue.tpson.cn:7772/#/login?redirect=/tb-home/index

复制代码
账号:[email protected] 
密码:admin123456

🎽 安装使用

获取项目代码:

代码地址https://gitee.com/tpsonwell_admin/thingsvue

相关推荐
小麦嵌入式1 小时前
Linux驱动开发实战(十一):GPIO子系统深度解析与RGB LED驱动实践
linux·c语言·驱动开发·stm32·嵌入式硬件·物联网·ubuntu
触角010100012 小时前
STM32F103低功耗模式深度解析:从理论到应用实践(上) | 零基础入门STM32第九十二步
驱动开发·stm32·单片机·嵌入式硬件·物联网
方渐鸿4 小时前
【2025】物联网发展趋势介绍
物联网
A_ugust__5 小时前
vue3项目使用 python +flask 打包成桌面应用
开发语言·python·flask
hepherd5 小时前
Flask学习笔记 - 视图函数
flask
码视野6 小时前
基于SpringBoot的河道水情大数据可视化分析平台设计与实现(源码+论文+部署讲解等)
spring boot·后端·物联网·信息可视化·论文·本科毕业论文·计算机专业毕业论文
古希腊掌握嵌入式的神7 小时前
[物联网iot]云服务实现机制
物联网
蝎蟹居7 小时前
GB/T 4706.1-2024 家用和类似用途电器的安全 第1部分:通用要求 与2005版差异(1)
人工智能·单片机·嵌入式硬件·物联网·安全
飞飞翼14 小时前
python-flask
后端·python·flask
天天进步201518 小时前
Python项目-基于Flask的个人博客系统设计与实现(2)
开发语言·python·flask