单片机数据上传到阿里云物联网平台后,如何在手机端和网页端获取获取数据?

最近遇到了一个需求:单片机上传数据到阿里云物联网平台,手机端或者网页端能够从物联网平台获取数据并显示到出来,再加一个手机端/网页端通过物联网平台控制单片机。
在这里插入图片描述
最终采用了阿里云物联网平台提供的方法,使用规则引擎数据转发的功能,把Topic 1 的消息转发到 Topic 2中,

一、创建一个产品并自定义一个主题

在这里插入图片描述

创建主题的时候建议操作权限选择发布和订阅,方便调试。主题中有${deviceName},代表产品下的每一个设备都可以使用这一个类型主题,只要把deviceName改为设备名字(开发时填写主题要把" ${} " 去掉),这样每个设备就具有一个自己的主题,然后使用数据流转功能,每个设备之间就可以进行通信。

二、创建该产品下的一个设备

在这里插入图片描述
创建一个设备时,设备名字(我用web1来表示网页端设备)建议都填上。创建好设备后,设备处于未激活状态,这时需要复制该设备的三元组,解析出阿里云物联网平台的域名、用户id、用户名、密码等信息,用于给单片机连接到物联网平台。
在这里插入图片描述

三、解析三元组

解析三元组的工具有很多,包括阿里官方也提供了,我习惯用下面这个工具。
在这里插入图片描述

四、设备连接到物联网平台

这里我就用MQTT.fx来模拟网页端连接到物联网平台,把相关信息填写好,点击connect按钮即可,如果是真实的单片机设备,也是需要用到这些信息来连接到物联网平台的。
在这里插入图片描述
连接成功后,刷新一下设备,可以看到web1这个设备已经显示在线
在这里插入图片描述
验证一下web1设备订阅的主题是否能正常使用。
在这里插入图片描述

五、规则引擎数据转发功能

根据上面的步骤,我有创建了一个名为stm32的设备,用来模拟真实单片机给物联网平台发消息,接着把消息流转到web1这个中。现在确保两个设备在线。
在这里插入图片描述
在右边的规则引擎中点击云产品流转,点击创建规则,规则名称可以随便,但是数据格式这里有个坑:

  • 如果你选这json格式,那么stm32给物联网平台发的数据必须是json格式,才能被流转到另外一个主题,否则,另外一个主题是收不到任何消息的。
  • 如果选择了二进制,那就可以随意一点,任何消息都可以转发,根据个人需求选择。

在这里插入图片描述
点击编辑规则,在这个页面这,处理数据中点击编写SQL,这里就是数据来源的地方,SQL语句可以起到一定的筛选作用,用*号就代表转发所有数据,因为是stm32给我的web1网页端发数据,所以数据来源的是stm32设备下的主题(前面创建产品时自定义的主题,它会为产品下的每个设备分配的一个主题)。
在这里插入图片描述
接着在转发数据那里添加一个操作,选择发布到另外一个主题,然后下面的信息填写我们的目标设备的主题即可
在这里插入图片描述
编辑完规则后,记得返回启动规则,到此就大功告成啦!
在这里插入图片描述

六、测试

stm32发给web1:
在这里插入图片描述
stm32发给手机:
在这里插入图片描述
以上就是我测试的过程,如果博客有错误的地方欢迎指出,还不了解这个过程的朋友可以评论留言哈!

版权声明:本文为CSDN博主「Let's GO Tiger」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43627022/article/details/116048007

生成海报
点赞 0

Let's GO Tiger

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

esp8266搭建智能家居系统

一 背景 以前一直想着做一个智能家居的监控系统,说没时间是虚伪了,舍不得钱买服务器是真的…,后来想过内网穿透,使用树莓派或者pc本机跑服务程序,感觉太麻烦也一直没搞&#xf

(一)STM32连上阿里云

STM32连上Aliyun 1、首先你得有一个阿里云的账号,没有的话就注册一个 2、找到物联网平台 3、选择华东2,点击公共实例 4、创建产品 5、给产品添加设备,这里添加两个设备,将