阿里云物联网平台设备间通信(通过规则引擎-云产品流转)

前言

我们正常的使用阿里云物联网平台,一般是:

  1. 设备通过物模型上报数据属性
  2. App通过云端API获取设备的数据属性
  3. App通过云端API调用设备的服务,来控制设备执行各种命令

一般都是设备和App的互动,很少有设备和设备间的通信。但是最近正好就有这种需求,所以开始研究,如何在阿里云物联网平台上面实现设备间通信。

自定义Topic

阿里云物联网平台给了很多Topic,基础通信Topic、物模型通信Topic,这些一看就不知道跟我们的需求没关系,不能乱用。直到看到了自定义Topic,一眼就相中了,感觉遇到了对的人。于是有了如下的思路。

  • 新建一个自定义Topic/${productKey}/${deviceName}/user/m2m
  • A设备订阅/${productKey}/aName/user/m2m主题
  • B设备订阅/${productKey}/bName/user/m2m主题
  • A设备如果想要给B设备发消息,只要往/${productKey}/bName/user/m2m 发送消息即可
  • B设备就可以接收到A设备发送的消息

But,理想是美好的,现实是残酷的,阿里云物联网平台做了限制,设备只能给自身的Topic发送消息,不能给别的设备的Topic发送消息。所以在第4步就行不通,A设备无法往/${productKey}/bName/user/m2m 发送消息
所以,这一招失败,但是自定义Topic还是有用的。后面再说。

云产品流转

选择JSON格式

编写SQL

转发数据


这一步是关键,本来是只能转发到固定的设备,但是通过${target}设置了一个变量,即目标设备的deviceName。

具体操作

  • A设备订阅/${productKey}/aName/user/get主题
  • B设备订阅/${productKey}/bName/user/get主题
  • A设备如果想要给B设备发消息,只要往/${productKey}/aName/user/update 发送消息
  • 消息格式是JSON,里面必须包含target这个字段,target:bName
  • 云产品流转就将一条消息转发到/${productKey}/bName/user/get
  • B设备就可以接收到A设备发送的消息,而且还可以从target这个字段知道是谁发消息给他

阿里云物联网平台设备间通信(通过规则引擎-云产品流转)相关推荐

  1. esp32 + DHT11温湿度传感器+阿里云物联网平台实时数据显示 实现设备上云

    1 课设目的 本课设是通过esp32板子搭配DHT11传感器,检测温度和湿度数据通过MQTT协议实时传输到阿里云物联网开发平台,实现设备上云. 2 阿里云环境准备 2.1开通物联网平台 我们先需要注册 ...

  2. 学习日记——阿里云物联网平台

    文章目录 前言 一.阿里云物联网平台 产品架构 产品规格 计费标准 MQTT 二.阿里云创建产品和设备 1.开通物联网平台 2.创建产品 3.添加设备 4.接入阿里云物联网平台 5. 规则引擎 6.M ...

  3. 利用rfcomm实现树莓派与手机通信_工业物联网 | 怎么用NodeRed实现树莓派与阿里云物联网平台通信?虹科告诉你!...

    想获取更多IIOT干货 请点击蓝字,关注我们 虹科工业树莓派 高性能 多接口 宽温--适应恶劣环境 ★★★★★ Node-RED是构建物联网(IoT)应用程序的强大工具,它使用可视化的编程方法,允许开 ...

  4. 阿里云物联网平台实现MQTT通信

    阿里云物联网平台实现MQTT通信 一.环境搭建 一.阿里云物联网平台 二.MQTT.fx 总结 一.环境搭建 一.阿里云物联网平台 1.首先进入阿里云官网https://www.aliyun.com/ ...

  5. 物联网却不能物物相联?阿里云物联网平台得这么设置!

    阿里云物联网服务器创建步骤 如果你想入门物联网,并参考了网上关于阿里云物联网的教程.你会发现你最终只能实现物与网连接,无法实现物和物通过网连接.那是因为你忽略了一些步骤. 本文主要以图片形式并配以一定 ...

  6. 基于阿里云物联网平台,用20元体验物联网开发( 自制 Arduino 环境监测仪)——实践类

       硬件准备  今天我们在只有20元预算前提下,带领大家完成一次IoT物联网开发之旅! 感谢万能的淘宝,让我们能采购到esp8266开发板,dht11温湿度传感器:   架构方案 我们通过DHT11 ...

  7. MQTT.fx客户端MQTT接入阿里云物联网平台,登录、订阅、发布消息

    目录 1. 准备 2. MQTT.fx 设置登录名.密码 3. MQTT.fx 接入阿里云,订阅Topic 4. 阿里云下发数据给 MQTT.fx 5. MQTT.fx 发布消息给服务器 相关链接:M ...

  8. 阿里云HaaS100物联网开发板学习笔记(四)轻应用初步--用javascript连接阿里云物联网平台

    摘要:本篇文章讲解如何使用JavaScript"轻应用"连接阿里云物联网平台并上报一个数据.仍然延续前几篇文章的结构,从安装软件环境开始讲,以使零基础的同学看了本篇文章之后,也能够 ...

  9. ESP8266 AT指令连接阿里云物联网平台

    模组:ESP-12F   ||   ESP-12S  ||   (保险来说,ESP模组的flash应该 大于4MB.或者说为32Mbit 才可以)待补充 ... 平台:阿里云物联网平台 固件:ESP8 ...

最新文章

  1. POJ--2391--Ombrophobic Bovines【分割点+Floyd+Dinic优化+二分法答案】最大网络流量
  2. Java设计模式圣经连载(05)-代理模式
  3. 报名中 | 微软首席人工智能科学家邀你参加一场AI领域的私密聚会
  4. SAP ABAP实用技巧介绍系列之 ABAP XSLT 使用attribute增加新的属性
  5. 矩形做成翻页的效果html5,HTML5 在canvas中绘制矩形附效果图
  6. python异步io 队列_python 学习笔记九 队列,异步IO
  7. Codeforces Round #668 (Div. 2)
  8. 【C语言】str类与men库函数的实现(如:strcpy,strcmp,strstr,strcat,memmove,memcpy)
  9. 前端学习(2513):组件css作用域
  10. 是选择Keras还是PyTorch开始你的深度学习之旅呢?
  11. Spring-Data-Jpa简介
  12. oracle字符串处理substr、dbms_lob.substr、case when
  13. Android写log到文件模版
  14. SSO之CAS单点登录实例演示
  15. 电脑已安装软件提取安装包_SPSS 24,软件安装包及安装教程
  16. 惯导IMU,INS,AGV的区别
  17. 2019最新《网易云课堂 C++收银系统项目实战教程》 C++开发网吧收银系统(MFC+ADO)
  18. 全国计算机二级考c考点,2019年全国计算机二级C语言考试考点解析(1)
  19. 删除导航窗格多余的图标,如Onedrive、3D对象
  20. 地铁怎么坐才不能做反_地铁怎么坐,地铁怎么坐才不能做反

热门文章

  1. win10无法打开WLAN WLAN autoconfig启动按钮灰色
  2. 设计模式之---工厂模式、建造者模式
  3. Win10下配置IIS并调试PHP程序
  4. Python之Excel文件读取
  5. 网页实现制作一个小日历
  6. 访问服务器网站出现 HTTP ERROR 500 该网页无法正常运作
  7. vue 自定义指令 $refs
  8. 本地项目上传至git码云步骤
  9. 全息图再现matlab程序,Matlab程序错误原因?菲涅耳积分和全息图的生成与再现
  10. 对硅谷和硅谷科技公司的十四问,全程干货