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

news2024/11/16 1:16:53

一、概述

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.coloradmin.cn/o/1620353.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JavaEE >> Spring(2)

前面已经介绍了 Spring 的基本使用以及创建,本文将介绍使用注解的方式实现对 Spring 更简单的存储对象和读取对象. 将对象存储到 Spring 中 创建 Spring 项目 前面已经做过详细步骤,此处不再赘述. 链接在此 Spring 基本使用及创建 pom.xml 和 Spring…

机器学习模型效果不好及其解决办法

当训练出来的机器学习模型效果不佳时,可能涉及多个方面的原因。为了改善模型的效果,需要系统地检查和分析问题的根源,并采取相应的措施进行优化。 一、数据问题 数据质量 检查数据是否干净、完整,是否存在噪声、异常值或缺失值。…

【后端】python2和python3的安装与配置

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、python是什么二、python环境的安装与配置Python 2的安装与配置Python 3的安装与配置注意事项 三、总结 前言 随着开发语言及人工智能工具的普及&#xff0…

C++ //练习 13.17 分别编写前三题中所描述的numbered和f,验证你是否正确预测了输出结果。

C Primer(第5版) 练习 13.17 练习 13.17 分别编写前三题中所描述的numbered和f,验证你是否正确预测了输出结果。 环境:Linux Ubuntu(云服务器) 工具:vim 代码块 /*************************…

git提交注释规范插件

1、前言 为什么要注重代码提交规范? 在团队协作开发时,每个人提交代码时都会写 commit message。 每个人都有自己的书写风格,翻看我们组的git log, 可以说是五花八门,十分不利于阅读和维护。 一般项目开发都是多分支共存&#x…

浅涉ROS世界中的坐标系及其他

声明:文中图片素材均采用了其他博主文章(文末参考来源),如有侵权或不妥(确有不妥和不安,奈何苦于佳图难觅),还望告知,立即删除! 坐标系统 ROS中的…

影视后期特效合成:DaVinci Fusion Studio19 激活版

DaVinci Fusion Studio是一款功能强大的影视后期特效合成软件,可广泛应用于视觉效果、广播电视设计、动态图形设计、3D动画设计等领域。 如综合的绘图、动态掩蔽、遮片、图层叠加、字幕等工具,结合高效的粒子生成系统,通过它可以创建各种精细…

51单片机入门_江协科技_35~36_OB记录的自学笔记_AD与DA转换(XPT2046)

35. AD_DA 35.1. AD/DA介绍 •AD(Analog to Digital):模拟-数字转换,将模拟信号转换为计算机可操作的数字信号 •DA(Digital to Analog):数字-模拟转换,将计算机输出的数字信号转换…

【Word中如何对比文档修改前后的不同之处】

1、准备两个word文档(一个是修改前文档,一个是修改后文档) 2、双击打开两个文档,点击【审阅】-【比较】-选择修改前的文档和修改后的文档-【确定】,进入文档比较界面。 3、在比较结果文档中,可以查看修改前…

杰出贡献!51Sim助力ASAM新版本智驾标准发布

日前,ASAM(德国自动化及测量系统标准协会)正式发布了自动驾驶仿真场景标准OpenSCENARIO XML V1.3.0和OpenSCENARIO DSL V2.1.0,这两项标准是自OpenSCENARIO标准版本V1及V2拆分为两个独立标准以来首次正式发布。 作为ASAM会员单位…

stripe.js踩坑日记

stripe.js踩坑日记 先附上代码【选择支付方式并唤起对应支付后重定向到支付结果页面】 先安装依赖包 npm install stripe/stripe-js代码【vue3语法】 <template><div class"stripe-pay-ment-box"><div id"payment-element"></div…

shopify二次开发在首页调用最新的博客文章

在section分区里面新建一个 article.json {"type": "header","name": "Group name","sections": {"blog-posts": {"type": "blog-posts","disabled": true,"settings":…

移动零 ----双指针

题目链接 题目: 分析: 上述题目, 是将数组分块, 分为前半非零, 后半零, 这种数组分块题我们首先想到双指针 思路: 定义两个指针, 一个cur 一个dest, cur用来遍历数组, dest 指向分界处的第一个零位置, 将数组分块首先让cur 0; dest 0;cur 遍历数组, 如果cur 0, 那么cur…

基于springboot+vue+Mysql的漫画网站

开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…

dubbo本地调试说明

1、连接dubbo服务 telnet ip 端口号比如&#xff1a;dubbo的端口你配置的是20980连接本地&#xff1a; telnet localhost 20980连接之后&#xff0c;输入ls进入dubbo命令行&#xff0c;然后invoke接口进行调试了 2、传入单独参数实例 dubbo>invoke com.kaishustory.userx.…

Maven基础篇6

Idea环境中资源上传与下载 具体问题本地仓库如何与私服打交道&#xff1b; 本地仓库向私服上传文件&#xff0c;上传的文件位置在哪里&#xff1f; 访问私服配置相关信息&#xff1a;用户名密码&#xff1b; 下载东西&#xff0c;需要的各种信息&#xff0c;需要的仓库组的…

串口服务器可以直接连接工业路由器吗

串口服务器可以直接连接工业路由器吗 在工业物联网的架构中&#xff0c;串口服务器和工业路由器都是不可或缺的重要组件。串口服务器的主要功能是将串口通信转换为网络通信&#xff0c;实现数据的远程传输和管理&#xff1b;而工业路由器则负责在工业环境中提供稳定、可靠的网…

C语言——联合与枚举

大家好&#xff0c;上篇文章和大家分享了C语言中的自定义类型结构体。接下来&#xff0c;我们再来了解一下其他的自定义类型——联合与枚举&#xff0c;记得三连支持一下哦&#xff01; 一、联合体 像结构体⼀样&#xff0c;联合体也是由⼀个或者多个成员构成&#xff0c;这些…

AI预测福彩3D第9套算法实战化测试第1弹2024年4月24日第2次测试

今天继续进行新算法的测试&#xff0c;今天是第2次测试。好了&#xff0c;废话不多说了&#xff0c;直接上图上结果。 2024年4月24日福彩3D预测结果 6码定位方案如下&#xff1a; 百位&#xff1a;1、0、2、3、6、7 十位&#xff1a;2、4、1、6、0、5 个位&#xff1a;3、2、4、…

企业工商信息查询API接口如何对接

企业工商信息查询API接口指的是输入公司名全称/注册号/社会统一信用代码的任意一种&#xff0c;获得企业工商注册登记中包含的各类重要信息&#xff0c;主要信息包括&#xff1a;注册号&#xff0c;注册资金&#xff0c;登记机关&#xff0c;注册地址&#xff0c;核准时间&…