ThingsBoard服务端使用RPC通过网关给设备发送消息

一、概述

1、发送服务器端网关RPC

二、案例:

1、建立设备与网关之间的通讯

2、查看设备和网关是否在线状态啊

3、通过 仪表盘,创建设备A的模拟RPC调用的窗口链接

4、在客户端的网关设备上订阅RPC网关的主题信息

5、通过服务端的窗口,发送设备的命令

6、查看客户端的MQTT端口是否已接受到对应的消息 

7、当客户端已接受到消息后,通过网关进行回复消息接受

8、服务端查看已接受到对应的消息

一、概述

1、发送服务器端网关RPC

服务器端 RPC 通常使用 REST API 或仪表板小部件发送。事实上,仪表板小部件使用相同的 REST API。一旦平台收到 RPC,它就会验证有效负载并运行权限检查。然后,服务器端RPC命令被转换为规则引擎消息。规则引擎可以用附加参数来丰富命令,并最终将命令传送到设备。

我们来详细回顾一下如何发送命令:

为了从服务器订阅 RPC 命令,请将 SUBSCRIBE 消息发送到以下主题:

v1/gateway/rpc

并期望带有以下格式的单独命令的消息:

{"device": "Device A", "data": {"id": $request_id, "method": "toggle_gpio", "params": {"pin":1}}}

一旦设备处理了命令,网关就可以使用以下格式发回命令:

{"device": "Device A", "id": $request_id, "data": {"success": true}}

其中$request_id是您的整数请求标识符,Device A是您的设备名称,method是您的 RPC 方法名称。
 

v1/gateway/connect

二、案例:

 ThingsBoard服务端使用RPC通过网关给设备发送消息,首先本设备需要是和网关建立通讯的,才能进行RPC的调用

1、建立设备与网关之间的通讯

建立网关与设备的链接的Topic

v1/gateway/connect

 对应的设备信息

{"device":"Device A"}

2、查看设备和网关是否在线状态啊

3、通过 仪表盘,创建设备A的模拟RPC调用的窗口链接

4、在客户端的网关设备上订阅RPC网关的主题信息

v1/gateway/rpc

5、通过服务端的窗口,发送设备的命令

toggle_gpio {"pin":1}

6、查看客户端的MQTT端口是否已接受到对应的消息 

7、当客户端已接受到消息后,通过网关进行回复消息接受

注意:内部的ID,必须和repuest请求过来的相同

Topic

v1/gateway/rpc

回复的消息 

{"device": "Device A", "id": 13, "data": {"success": true}}

8、服务端查看已接受到对应的消息

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

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

相关文章

电脑提示丢失iutils.dll怎么办?一分钟教你搞定dll丢失问题

在计算机世界中,DLL(Dynamic Link Library,动态链接库)文件扮演着至关重要的角色,它们如同乐高积木中的基础模块,不同程序通过调用这些模块来实现各种功能。其中,iutils.dll就是这样一款不可或缺…

苹果电脑装虚拟机好用吗 苹果电脑装虚拟机要钱吗 Parallels对mac的损害 Parallels占用多大空间 PD19

在当今数字化的时代,人们对电脑系统跨设备互联的需求越来越高。作为拥有广泛用户群体的苹果电脑,许多用户会有在Mac系统中运行其他操作系统的需求。在这种情况下,安装虚拟机是一个较好的解决方案。那么接下来就给大家介绍苹果电脑装虚拟机好用…

Neo-reGeorg明文流量

Neo-reGeorg 1 同IP对,同一个URI,第一个TCP流是“GET”请求,随后的TCP流请求为“POST”。(jsp\jspx\php) 2 第一个TCP流中,GET只有一个会话。(jsp\jspx\php),响应body79…

Echarts-知识图谱

Echarts-知识图谱 demo地址 打开CodePen 效果 思路 1. 生成根节点 2. 根据子节点距离与根节点的角度关系,生成子节点坐标,进而生成子节点 3. 从子节点上按角度生成对应的子节点 4. 递归将根节点与每一层级子节点连线核心代码 定义节点配置 functio…

10.接口自动化测试学习-Pytest框架(2)

1.mark标签 如果在每一个模块,每一个类,每一个方法和用例之前都加上mark标签,那么在pytest运行时就可以只运行带有该mark标签的模块、类、接口。 这样可以方便我们执行自动化时,自主选择执行全部用例、某个模块用例、某个流程用…

区块链技术与应用学习笔记(10-11节)——北大肖臻课程

目录 10.分岔 ①什么是分叉? ②导致分叉的原因? ③在比特币新共识规则发布会会导致什么分叉? 什么是硬分叉? 硬分叉例子? 什么是软分叉? 软分叉和硬分叉区别? 软分叉实例 11.问答 转…

茴香豆:搭建你的RAG智能助理-作业三

本次课程由书生浦语社区贡献者【北辰】老师讲解【茴香豆:搭建你的 RAG 智能助理】课程。分别是: RAG 基础介绍茴香豆产品简介使用茴香豆搭建RAG知识库实战 课程视频:https://www.bilibili.com/video/BV1QA4m1F7t4/ 课程文档:ht…

Scala的函数至简原则

对于scala语言来说,函数的至简原则是它的一大特色。下面让我们一起来看看分别有什么吧! 函数至简原则:能省则省! 初始函数 def test(name:String):String{return name }1、return可以省略,Scala会使用函数体的最后一…

Docker in Docker的原理与实战

Docker in Docker(简称DinD)是一种在Docker容器内部运行另一个Docker实例的技术。这种技术允许用户在一个隔离的Docker容器中创建、管理和运行其他Docker容器,从而提供了更灵活和可控的部署选项。以下是DinD的主要特点: 隔离性&am…

Linux下载及安装OpenSSL

文章目录 前言一、OpenSSL下载二、OpenSSL安装1.上传下载好的安装包到服务器2.解压3.切换目录4.配置config5.编译6.安装7.备份旧版本OpenSSL7.创建软链接8.添加OpenSSL动态链接库9.更新库缓存10.查看OpenSSL版本验证安装是否成功 前言 一般系统会自带有OpenSSL,我们…

ssm和springboot项目运行与部署

java项目可以打成jar包或者war包,以前SSM前后端不分离的项目,一般都是打成war包,现在前后端分离springboot项目,一般都是打成jar包,当然前后端分离springboot项目打成war包也可以。 总结: ssm项目 前后端分…

详细解析什么是期权交易的获利方法

期权交易的获利方法 在期权交易之前进行充分的准备工作和风险评估是至关重要的。其中行情结构、策略方法、预期收益和风险评估,是期权交易成功的关键要素。它们能帮助我们更好地制定交易计划,控制风险,并追求稳定的利润。以下是对这四点的详…

SpringBoot+MyBatis-Plus+jsqlparser实现多租户功能

前言 多租户技术(multi-tenancy technology)是一种软件架构技术,它允许在单个系统实例上为多个用户或组织提供服务,同时确保这些用户之间数据的隔离性。在多租户架构中,每个租户(可以是个人用户、企业、组…

Golang | Leetcode Golang题解之第46题全排列

题目: 题解: func permute(nums []int) [][]int {var (n len(nums)dfs func(vals []int) // 已选择数 排列为vals 后续回溯继续选择 直至选完ans [][]int)dfs func(vals []int) {//边界if len(vals) n {ans append(ans, vals)}//转移 枚举选哪个f…

LM1875L-TB5-T 音频功率放大器 PDF中文资料_参数_引脚图

LM1875L-TB5-T 规格信息: 商品类型音频功率放大器 音频功率放大器的类型- 输出类型1-Channel (Mono) 作业电压16V ~ 60V 输出功率25W x 1 4Ω 额外特性过流保护,热保护 UTC LM1875是一款单片功率放大器,可为消费类音频应 用提供极低失真和高品质的…

Linux用户与权限

切换账户 su su [-] [用户名]- 可选,表示在切换用户后加载环境变量,一般都使用 用户名 可选,省略表示切换到root切换用户后,可以使用exit命令退回上一用户,或用快捷键ctrld 为普通命令授权 sudo sudo命令:…

算法06链表

算法06链表 一、链表概述1.1概述1.2链表的组成部分:1.3链表的优缺点: 二、链表典例力扣707.设计链表难点分析:(1)MyLinkedList成员变量的确定:(2)初始化自定义链表:&…

RIP最短路实验(华为)

思科设备参考:RIP最短路实验(思科) 一,技术简介 RIP(Routing Information Protocol,路由信息协议)是一种基于距离矢量的内部网关协议,工作原理是每个路由器周期性地向邻居路由器发…

对EKS(AWS云k8s)启用AMP(AWS云Prometheus)监控+AMG(AWS云 grafana)

问题 需要在针对已有的EKS k8s集群启用Prometheus指标监控。而且,这里使用AMP即AWS云的Prometheus托管服务。好像这个服务,只有AWS国际云才有,AWS中国云没得这个托管服务。下面,我们就来尝试在已有的EKS集群上面启用AMP监控。 步…

vue 脚手架创建

脚手架创建 介绍 脚手架是什么呢,就是vue自动创建脚手架的项目模板,用于搭建项目的整体骨架,就比如后端开发时,咱们可以创建一个空项目,一步步创建为mvc项目,但是vs封装了mvc的框架,我们可以直…