今天得空,研究一下阿里物联网平台新版“云产品流转”设置方法。手头只有一片ESP32,考虑先将消息发送给平台,然后平台再将消息转发给自己,这样消息转了一圈,还是回到自己手里!主要目的无非就是一个闭环检测,看看网络是否畅通,功能设置是否正确。这里的“云产品流转”就要设置为将自己发布的消息再流转到自己订阅的Topic上。感觉是不是有点绕?但这个要是成功了,转给别人也是一样的道理了。
如果你已经有了连接阿里云物联网平台的相关的背景知识或资源,那下面这段文字可以直接略过。
首先,我们得利用一下我前面奉献给大家的资源:ESP32连接阿里云MQTT物联网平台的Arduino支持库及示例代码。有了这个,才能方便连上阿里云物联网平台。然后,我们得创建产品和设备,可以参考一下我前面的文章:阿里MQTT物联网平台“云产品流转”实战——两片ESP32通过物联网平台实现远程互操作里面关于创建产品和设备的部分。因为该文章里关于“云产品流转”设置部分是旧版的,估计不久将被弃用,今天来设置一下新版的“云产品流转”,才能体现与时俱进哦。
闲话少说,直接开干。登陆平台--->公共实例--->左侧导航栏点“规则引擎”--->“云产品流转”。
啊哈,这里有个教程!不用理会,教程太专业,针对企业用户的,我等穷人不愿花钱买服务,没那资源,还是先按免费路线走一走吧。当然,教程也是很有用的哈,我们这里要理解“云产品流转”的内在机制:物联网设备将消息发送给平台--->平台利用用户设置的脚本进行预处理--->再将处理后的数据发给目的地。这里要理解三个概念:“数据源”、“数据目的”、“解析器”。通常理解,“数据源”就是数据来源,也就是物联网设备发给平台的消息。这些消息区别于产品,区别于设备,区别于发布的主题。你可以将不同产品不同设备不同发布主题的消息放入一个数据源中进行统一处理。也可以将它们分类放入不同的数据源中分别处理。“数据目的”就是要将数据发到哪里去。“解析器”是二者的桥梁,负责进行中间的联系和预处理工作。
我们这里只需要简单加入一个数据源,那就是我的ESP32从自定义Topic(/user/post)发布的消息,通过“解析器”将数据再发到ESP32的自定义订阅Topic(/user/set)。
一、设置“数据源”。
1、点击“数据源”--->“创建数据源”,然后填入名称和描述,点“确定”创建成功。
你会在“数据源名称”下面看见刚建立的数据源,后面有个“数据源ID”。这个ID很重要哈,脚本处理的时候是针对ID的哦。
2、下面给刚建立的数据源添加数据来源。你需要点一下右边的“查看”。
然后点“添加Topic”,在弹出的对话框中选择Topic,我们这里选择的是自己创建的ESP32相关产品和设备的自定义Topic,点确认完成数据源设置工作。
二、设置“数据目的”。
关于“数据目的”就简单一点,就是数据要发到哪里去。这个目的地真是挺多的,但一次只能设置一个目的,如果你想像短信群发那样搞,那得在“解析器”里面去设置哈。我们这里直接将目的设置为我们自己创建的产品就行了。
然后你在“数据目的名称”下面就可以看到刚建立的数据目的,其后有一个“数据目的ID”,这个ID与“数据源ID”一样,非常重要,下面我们设置“解析器”的脚本里要用到。
三、设置”解析器“。
1、下面进入第三步:创建“解析器”。这个很简单,取个名,加个描述,OK。
2、然后会自动进入“解析器详情”页,点一下“①数据源”,再点“关联数据源”,选择前面建立的数据源,确定完成。
3、接着点“②数据目的”,再点“关联数据目的”,然后选择前面建立的数据目的,确定完成。
3、接着点一下“③解析器脚本”,如下图,输入你的处理脚本。
我们这里的脚本非常简单:取得数据,原样发送。脚本代码只有两行:
var data = payload("json");
writeIotTopic(1013, "/a1h5iMRg3fl/ESP32_VS1053_00/user/set", data);
第一行使用payload("json")方法取得数据的JSON格式数据,第二行将数据发送给指定的数据目的。writeIotTopic方法的第一个参数为“数据目的ID”,第二个参数为产品设备的接收Topic(设备必须在连接平台后进行订阅,否则接收不到),第三个参数是我们第一行取得的数据。关于脚本处理的相关方法,平台帮助系统有详细的解说教程,大家有空可以看看,我们这里就简简单单原样返回,不做中间商赚差价的事情。设置好后就像下面这样:
点一下“发布”完成设置工作。脚本可以很简单,也可以很复杂,难免会出错误,需要调试,如果你想调试脚本,可以试试点“调试”按钮。
4、现在需要启动该解析器:如下图,回到“云产品流转”设置首页,在我们创建的解析器后面有个“启动”按钮,启动后就即时生效了。
好了,回顾一下所有操作,是不是很简单,难一点就在那个脚本上面。得多看看系统提供的帮助,了解一下“解析器”脚本到底能干什么,有些什么样的方法,语法规范之类的。当然,你得有相关的阿里物联网平台连接的相关知识,了解其工作机制,记录需要的相关信息。这样才能一次成功。文章来源:https://www.toymoban.com/news/detail-447323.html
现在可以打开我们之前的那个ARDUINO连接阿里云的例程看看,在SETUP()过程里设置发布Toptic和订阅Topic,在LOOP()过程里添加一个5秒发送一次消息的代码,看看能不能接收到自己发布的消息。是不是又是一个熬夜调试的过程?文章来源地址https://www.toymoban.com/news/detail-447323.html
到了这里,关于阿里物联网平台“云产品流转”设置方法(新版)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!