【物联网】手把手完整实现STM32+ESP8266+MQTT+阿里云+APP应用——第3节-云产品流转配置


🌟博主领域:嵌入式领域&人工智能&软件开发

本节目标:本节目标是进行云产品流转配置为后面实际的手机APP的接入做铺垫。云产品流转配置的目的是为了后面能够让后面实际做出来的手机APP可以控制STM32/MCU,STM32/MCU可以将数据发给实际的手机APP。

配置步骤主要分为三步:1.创建数据源;2.创建数据目的;3.创建解析器

需要注意:手机APP数据传至STM32的数据源是手机APP,数据目的是STM32,反过来就是STM32数据传至手机APP的数据源是STM32,数据目的是手机APP。即需要来回配置两次。

其余章节见本专栏:https://blog.csdn.net/m0_61712829/category_12545281.html

1.手机APP发送指令至STM32云流转配置

实现为后续做铺垫:实际的手机APP将数据发给阿里云设备APP-v0,阿里云设备APP-v0就流转给阿里云设备mqtt_stm32,然后阿里云设备mqtt_stm32将数据给ESP8266,ESP8266再将数据发给STM32设备。

首先新建设备APP-v0,选择当前的产品,填入名称及备注。需要注意:新建的设备APP-v0为阿里云平台流转时用到的设备,并不是实际上的手机APP。

1.创建数据源

首先点击消息转发一栏,点击云产品流转,点击创建解析器,输入解析器名称及描述,点击确定。需要注意:当前是手机APP发送指令至STM32的解析器配置,所以解析器名称是APP-TO-MCU

创建解析器成功后,点击关联数据源,再点击创建数据源。

点击创建数据源后,输入数据源名称及描述fromAPP。需要注意:当前创建的数据源是来自于手机APP

创建完数据源后,选择刚刚创建的数据源fromAPP,点击确定。

然后在APP-TO-MCU处点击查看,接下来进行Topic的配置

点击添加Topic,选产品,选APP-v0,选user/update,然后点击确定。有关于Topic的解释见本文末尾。需要注意:此时的设备为APP-v0(即你在阿里云平台创建的手机APP设备对应的名称)

创建成功Topic后,结果如下

2.创建数据目的

首先点云产品流转一栏,点击数据目的,点击关联数据目的。

然后点击创建数据目的。需要注意:当前创建的数据目的是STM32/MCU

 创建数据目的,写上数据目的名称及描述toMCU,选择自己创建的产品,然后点击确定。

然后关联数据目的选择刚创建的数据目的fromMCU,点击确定

创建成功如下所示。注意:此处的数据目的ID与后面填写解析器脚本时的ID保持一致。2024年阿里云已自动帮我们填写了数据目的ID,此处可不需注意(多讲了一下ID出处)

3.创建解析器

首先点击解析器脚本,查看是否是自己的数据目的ID(可省略)、在括号内填写设备mqtt_stm32的productKey、deviceName(设备mqtt_stm32即为你在阿里云创建的STM32设备名称)

需要注意,这里的productKey、deviceName为设备mqtt_stm32的。点击设备一栏,然后点击DeviceSecret处查看设备mqtt_stm32的 productKey、deviceName

最终修改为如下。填入设备mqtt_stm32的 productKey、deviceName

最后,返回云产品流转处一栏,点击启动,确认启动,最后显示为运行中。即创建手机APP发送指令至STM32云流转成功。

以上就实现了实际的手机APP发送数据到我们创建的阿里云设备APP-v0,然后阿里云设备APP-v0会将数据发送到我们创建的阿里云设备mqtt_stm32,然后阿里云设备mqtt_stm32会将数据发送到我们实际的板子上

接下来就是反过来,stm32将数据发送给esp8266,然后esp8266再将数据发给阿里云的设备mqtt_stm32,然后阿里云的设备mqtt_stm32再将数据发送给阿里云的设备APP-v0,然后阿里云的设备APP-v0再将数据发给我们实际的手机APP上

2.STM32发送数据至手机APP云流转配置

同理,接下来反过来再建一条路径

1.创建数据源

首先创建解析器,输入名称及描述,点击确定。需要注意:当前是STM32发送数据至手机APP云流转配置,所以解析器名称是MCU-TO-APP

然后点击关联数据源,进行创建数据源

创建数据源,输入数据源名称以及描述fromMCU,点击确定

选择数据源为我们刚创建的数据源fromMCU,点击确定

然后在数据源中点击查看,进行添加Topic。

然后点击添加Topic,选择自己的产品、设备,选择user/update,点击确定。需要注意:此时的设备为mqtt_stm32(即你在阿里云平台创建的STM32对应的设备名称)

2.创建数据目的

选择数据目的,点击关联数据目的

点击创建数据目的,输入数据目的名称及描述toAPP,选择自己创建的产品,点击确定

然后选择刚刚创建的数据目的toAPP,点击确定,创建成功数据目的

3.创建解析器

需要注意:在括号内填写设备APP-v0的productKey、deviceName。查看方式为:点击设备一栏,在DeviceSecret处点击查看设备APP-v0的productKey、deviceName,一键复制

然后再返回云产品流转的解析器脚本处,将设备APP-v0的productKey、deviceName填入相应的括号内,查看ID与解析器ID是否保持一致(可省略)。然后点击发布。

然后点击启动,确定启动该解析器。

以上就配置好了。为后续让实际的手机APP可以控制STM32/MCU,STM32/MCU可以将数据发给实际的手机APP做好了铺垫。

有关Topic解释如下:

  • MQTT(Message Queuing Telemetry Transport)协议是一种轻量级的消息传输协议,常用于物联网设备间的通信。在MQTT中,Topic用于定义消息传输的通道和路径。
  • 设备通过将消息发布到一个特定的Topic,将消息发送给物联网平台。物联网平台会根据订阅规则,将消息发送给订阅了该Topic的设备。这种发布/订阅模式使得设备可以方便地进行异步通信,消除了直接点对点通信的限制。
  • 为了方便海量设备基于Topic进行通信,并简化授权操作,物联网平台定义了产品Topic类和设备Topic。
  • 产品Topic类:每个产品都有一个唯一的产品Topic类,用于定义该产品的消息发布和订阅的前缀。产品Topic类通常包含产品的唯一标识符和产品所属的组织信息。
  • 设备Topic:每个设备都有一个唯一的设备Topic,用于定义该设备的消息发布和订阅的完整路径。设备Topic由产品Topic类和设备的唯一标识符组成,形式为"{产品Topic类}/{设备唯一标识符}"。
  • 通过使用产品Topic类和设备Topic,设备可以方便地根据自己的标识和所属产品进行消息传输,同时也确保了消息的安全性和权限控制。
  • 总结起来,MQTT协议使用Topic来定义消息传输的通道和路径,设备通过Topic将消息发布到物联网平台,物联网平台根据订阅规则将消息发送给订阅Topic的设备。为了方便海量设备基于Topic进行通信,简化授权操作,物联网平台定义了产品Topic类和设备Topic。

🌟个人主页:阿齐Archie

 🌟个人vx公众呺:阿齐Archie

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/231474.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【自学笔记】01Java基础-07面向对象基础-01封装

记录学习Java基础中有关面向对象编程的基础知识,包括面向对象思想,构造方法,封装思想,JavaBean。 1 面向对象概述 1.1 什么是面向对象编程 严谨来说:   面向对象编程(Object-Oriented Programming&…

《深入理解Java虚拟机(第三版)》读书笔记:虚拟机类加载机制、虚拟机字节码执行引擎、编译与优化

下文是阅读《深入理解Java虚拟机(第3版)》这本书的读书笔记,如有侵权,请联系删除。 文章目录 第6章 类文件结构第7章 虚拟机类加载机制7.2 类加载的时机7.3 类加载的过程7.4 类加载器7.5 Java模块化系统 第8章 虚拟机字节码执…

手动创建idea SpringBoot 项目

步骤一: 步骤二: 选择Spring initializer -> Project SDK 选择自己的JDK版本 ->Next 步骤三: Maven POM ->Next 步骤四: 根据JDK版本选择Spring Boot版本 11版本及以上JDK建议选用3.2版本,JDK为11版本…

大数据 - 大数据入门第一篇 | 关于大数据你了解多少?

🐶1.1 概述 大数据(BigData):指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。 大数据主要解决、海量数据的采…

torch.meshgrid和np.meshgrid的区别

numpy中meshgrid: 把数组a当作一行,再根据数组b的长度扩充行。 把数组b当作一列,再根据数组a的长度扩充列。 torch中meshgrid: 把数组a当作一列,再根据数组b的长度扩充列。 把数组b当作一行,再根据数组a的…

最优化理论期末复习笔记 Part 2

数学基础线性代数 从行的角度从列的角度行列式的几何解释向量范数和矩阵范数 向量范数矩阵范数的更强的性质的意义 几种向量范数诱导的矩阵范数 1 范数诱导的矩阵范数无穷范数诱导的矩阵范数2 范数诱导的矩阵范数 各种范数之间的等价性向量与矩阵序列的收敛性 函数的可微性与展…

Camtasia2024录屏软件简单实用的4K录制视频软件

Camtasia是一款功能强大的屏幕录制软件,适用于Windows和Mac操作系统。它具有简单的操作界面和丰富的编辑功能,coco玛奇朵可以让你轻松录制和编辑屏幕视频。Camtasia还支持添加文字、图像、动画等元素,同时提供了丰富的特效和滤镜功能&#xf…

RK3568 学习笔记 : ubuntu 20.04 下 Linux-SDK 镜像烧写

前言 开发板:【正点原子】ATK-DLRK3568 开发板,编译完 Linux-SDK 后,生成了相关的镜像文件,本篇记录一下 镜像烧写,当前编译环境在 VMware 虚拟机中,虚拟机系统是 ubuntu 20.04 此次烧写还算顺利&#xff…

redisson作为分布式锁的底层实现

1. redisson如何实现尝试获取锁的逻辑 如何实现在一段的时间内不断的尝试获取锁 其实就是搞了个while循环,不断的去尝试获取锁资源。但是因为latch的存在会在给定的时间内处于休眠状态。这个事件,监听的是解锁动作,如果解锁动作发生。会调用…

202402读书笔记|《当你老了》——灰蒙曙光比爱情温柔,清晨露珠比希望更可爱

202402读书笔记|《当你老了》——灰蒙曙光比爱情温柔,清晨露珠比希望更可爱 《当你老了》作者叶芝,断断续续碎片时间读完的一本书,不是很惊艳,但值得一读。就因为很喜欢当你老了,所以拾起的这本书。读完知道了原来叶芝…

VR与数字孪生:共同构筑未来的虚拟世界

随着科技的不断发展,数字孪生和VR已经成为当今热门的科技话题。作为山海鲸可视化软件的开发者,我们对这两者都有深入的了解。在此,我们将详细探讨数字孪生与VR的区别和联系。 首先,数字孪生(Digital Twin)…

QT上位机开发(网络程序界面开发)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 传统的上位机对接方式还是以232、485、can为主,随着网络的发展,越来越多的设备都是以网络进行通信的。毕竟相比较之前&…

C++ 之LeetCode刷题记录(七)

😄😊😆😃😄😊😆😃 开始cpp刷题之旅,多学多练,尽力而为。 先易后难,先刷简单的。 28. 找出字符串中第一个匹配项的下标 给你两个字符串 haystac…

windows安装RabbitMQ

1、下载 下载地址:https://www.rabbitmq.com/ 因为RabbitMQ是基于Erlang语言开发的,所以我们要先安装Erlang环境。 2、安装erlang 双击otp_win64_20.2.exe,点击next 选择安装路径 3、配置erlang环境变量 新建系统变量名为:ERLA…

ssrf之dict协议和file协议

1.dict协议 dict是什么协议呢? 定义:词典网络协议,在RFC 2009中进行描述。它的目标是超越Webster protocol,并允许客户端在使 用过程中访问更多字典。Dict服务器和客户机使用TCP端口2628。 官方介绍:http://dict.o…

基于帝国主义竞争算法优化的Elman神经网络数据预测 - 附代码

基于帝国主义竞争算法优化的Elman神经网络数据预测 - 附代码 文章目录 基于帝国主义竞争算法优化的Elman神经网络数据预测 - 附代码1.Elman 神经网络结构2.Elman 神经用络学习过程3.电力负荷预测概述3.1 模型建立 4.基于帝国主义竞争优化的Elman网络5.测试结果6.参考文献7.Matl…

【电路笔记】-电感器

电感器 文章目录 电感器1、概述2、电感器的时间常数3、电感器示例1 电感器是一种由线圈组成的无源电气元件,其设计目的是利用电流通过线圈而产生的磁力和电力之间的关系。 1、概述 在本中,我们将看到电感器是一种电子元件,用于将电感引入到电…

2023年高级软考系统架构师考题参考

对于一些有实践经验的同学来说,感觉不难,但是落笔到纸面上,就差强人意了,平时这方面要多练习,所想所思要落到纸面上,或者表达清晰让别人听懂,不仅是工作中的一个基本素质,也是个非常…

微服务整合:构建高效灵活的分布式系统

随着软件开发的不断演进和业务的复杂性增加,微服务架构已经成为一种流行的解决方案。然而,当涉及到多个微服务之间的整合时,我们需要谨慎考虑如何实现高效、灵活的分布式系统。 微服务架构的流行使得软件开发变得更加灵活和可扩展。然而&…

贝锐花生壳全新功能:浏览器一键远程访问SSHRDP远程桌面

为了满足特定场景的远程访问需求,如:远程群晖NAS设备、远程SQL Server数据库/MySQL数据库、3389远程桌面(RDP远程桌面)、远程SSH、我的世界游戏联机…… 贝锐花生壳推出了场景映射服务,不仅提供满足相应场景的网络带宽…