【thingsboard】实现两个LoRaWAN设备联动

本文通过thingsboard平台配置规则链和数据解析脚本,详细介绍了如何实现当一个LoRaWAN设备(节点A)检测到温度超过预设阈值32℃时,联动控制另一个LoRaWAN设备(节点B)的LED灯亮起,反之则熄灭。文章涵盖了数据上下行逻辑、联动场景描述、规则链配置以及mqtt消息的JSON数据解析流程。
摘要由CSDN通过智能技术生成

本实验实现:通过在thingsboard中配置规则链和数据解析脚本,实现智能场景下的设备联动
点赞收藏,评论区获取原文

0.实验结果

描述:节点RAK3272模拟采集温度值,上传thingsboard平台;温度值大于32℃,控制节点LM401的led灯亮(模拟报警功能);温度值低于32℃,控制led灯灭(消除报警)
请添加图片描述

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_39217004/article/details/129670303
———————————————— 版权声明:本文为CSDN博主「Ethernet_Comm」的原创文章,遵循CC 4.0
BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
WPF 中可以通过路由实现控件的联动,比如当一个控件的值改变时,另一个控件的值也跟着改变。 具体实现可以通过以下步骤: 1. 使用 `DependencyProperty` 定义一个依赖属性,用于存储控件的值。 2. 在控件的 XAML 中,将该依赖属性绑定到控件的值属性上。 3. 使用 `PropertyChangedCallback` 方法监听值的变化,在方法中通过路由查找找到需要联动的控件,并将其值更新。 以下是一个实现两个 `TextBox` 联动的示例代码: ``` public class TextBoxHelper { public static readonly DependencyProperty TextProperty = DependencyProperty.RegisterAttached("Text", typeof(string), typeof(TextBoxHelper), new PropertyMetadata(null, OnTextChanged)); public static string GetText(DependencyObject obj) { return (string)obj.GetValue(TextProperty); } public static void SetText(DependencyObject obj, string value) { obj.SetValue(TextProperty, value); } private static void OnTextChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { // 获取路由根节点 var root = (FrameworkElement)Application.Current.MainWindow; // 查找需要联动的控件 var textBoxes = FindVisualChildren<TextBox>(root); // 更新控件的值 foreach (var textBox in textBoxes) { if (textBox != d) { textBox.Text = e.NewValue as string; } } } private static IEnumerable<T> FindVisualChildren<T>(DependencyObject obj) where T : DependencyObject { if (obj != null) { for (int i = 0; i < VisualTreeHelper.GetChildrenCount(obj); i++) { DependencyObject child = VisualTreeHelper.GetChild(obj, i); if (child is T t) { yield return t; } foreach (T childOfChild in FindVisualChildren<T>(child)) { yield return childOfChild; } } } } } ``` 在 XAML 中,将 `Text` 属性绑定到 `TextBoxHelper` 中定义的依赖属性,实现联动: ``` <TextBox local:TextBoxHelper.Text="{Binding Text1, Mode=TwoWay}" /> <TextBox local:TextBoxHelper.Text="{Binding Text2, Mode=TwoWay}" /> ``` 其中,`Text1` 和 `Text2` 分别为两个 `TextBox` 的值。 这样,当一个 `TextBox` 的值改变时,另一个 `TextBox` 的值也会跟着改变。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

积跬步、至千里

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值