单片机学习小组
直播中

李娓仑

7年用户 1338经验值
私信 关注

如何在手机端和网页端去获取上传的数据呢

怎样将单片机的数据上传到阿里云物联网平台上呢?
如何在手机端和网页端去获取上传的数据呢?

回帖(1)

王君凯

2022-2-22 11:07:00
最近遇到了一个需求:单片机上传数据到阿里云物联网平台,手机端或者网页端能够从物联网平台获取数据并显示到出来,再加一个手机端/网页端通过物联网平台控制单片机。

最终采用了阿里云物联网平台提供的方法,使用规则引擎数据转发的功能,把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发给手机:

以上就是我测试的过程,如果博客有错误的地方欢迎指出,还不了解这个过程的朋友可以评论留言哈!
举报

更多回帖

发帖
×
20
完善资料,
赚取积分