【物联网】手把手完整实现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
相关文章:
【物联网】手把手完整实现STM32+ESP8266+MQTT+阿里云+APP应用——第3节-云产品流转配置
🌟博主领域:嵌入式领域&人工智能&软件开发 本节目标:本节目标是进行云产品流转配置为后面实际的手机APP的接入做铺垫。云产品流转配置的目的是为了后面能够让后面实际做出来的手机APP可以控制STM32/MCU,STM32/MCU可以将数…...
Spring Cloud Config相关问题及答案(2024)
1、什么是 Spring Cloud Config,它解决了哪些问题? Spring Cloud Config 是一个为微服务架构提供集中化外部配置支持的项目。它是构建在 Spring Cloud 生态系统之上,利用 Spring Boot 的开发便利性,简化了分布式系统中的配置管理…...
【Azure 架构师学习笔记】- Azure Databricks (4) - 使用Azure Key Vault 管理ADB Secret
本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Databricks】系列。 接上文 【Azure 架构师学习笔记】- Azure Databricks (3) - 再次认识DataBricks 前言 Azure Databricks有access token,是具有ADB内部最高权限的token。在云环境中这些高级别权限的sec…...
[每周一更]-(第50期):Go的垃圾回收GC
参考文章: https://juejin.cn/post/7111515970669117447https://draveness.me/golang/docs/part3-runtime/ch07-memory/golang-garbage-collector/https://colobu.com/2022/07/16/A-Guide-to-the-Go-Garbage-Collector/https://liangyaopei.github.io/2021/01/02/g…...
【嵌入式学习笔记-01】什么是UC,操作系统历史介绍,计算机系统分层,环境变量(PATH),错误
【嵌入式学习笔记】什么是UC,操作系统历史介绍,计算机系统分层,环境变量(PATH),错误 文章目录 什么是UC?计算机系统分层什么是操作系统? 环境变量什么是环境变量?环境变量的添加&am…...
【动态规划】LeetCode-10. 正则表达式匹配
10. 正则表达式匹配。 给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 ‘.’ 和 ‘*’ 的正则表达式匹配。 ‘.’ 匹配任意单个字符‘*’ 匹配零个或多个前面的那一个元素 所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。 …...
lenovo联想拯救者8.8英寸掌上游戏机Legion Go 8APU1(83E1)原装出厂Windows11预装系统
链接:https://pan.baidu.com/s/1d586XWXcAWVxlLyV2Oku7Q?pwdd74t 提取码:d74t 系统自带所有驱动、出厂主题壁纸、Office办公软件、联想电脑管家等预装程序 所需要工具:16G或以上的U盘 文件格式:ISO 文件大小:…...
经典目标检测YOLO系列(一)复现YOLOV1(4)VOC2007数据集的读取及预处理
经典目标检测YOLO系列(一)复现YOLOV1(4)VOC2007数据集的读取及预处理 之前,我们依据《YOLO目标检测》(ISBN:9787115627094)一书,提出了新的YOLOV1架构,并解决前向推理过程中的两个问题,继续按照此书进行YOLOV1的复现。 经典目标检…...
Android Studio xml布局代码补全功能失效问题
这里写目录标题 前言:问题描述原因分析:解决方案:1.更新 Android Studio 版本2.原版本解决XML补全失效 小结 前言: 在开发过程中,你可能遇到很多奇奇怪怪的问题。Android Studio 编译器出现问题也是常有的事情&#x…...
算法每日一题:队列中可以看到的人数 | 单调栈
大家好,我是星恒 今天是一道困难题,他的题解比较好理解,但是不好想出来,接下来就让我带大家来捋一捋这道题的思路,以及他有什么特征 题目:leetcode 1944有 n 个人排成一个队列,从左到右 编号为 …...
报表控件Stimulsoft 2023回顾:都做了哪些产品的改变?
在2023年过去一年中,报表控件Stimulsoft 针各类控件都做了重大改变,其中新增了某些产品、同时加强了很多产品的性能和UI设计,更加符合开发者需求,下面就跟随小编一起来回顾,具体都有哪些↓↓↓ Stimulsoft Ultimate &…...
Mybatis缓存实现方式
文章目录 装饰器模式Cache 接口及核心实现Cache 接口装饰器1. BlockingCache2. FifoCache3. LruCache4. SoftCache5. WeakCache 小结 缓存是优化数据库性能的常用手段之一,我们在实践中经常使用的是 Memcached、Redis 等外部缓存组件,很多持久化框架提供…...
C#用StringBuilder高效处理字符串
目录 一、背景 二、使用StringBuilder便捷、高效地操作字符串 三、实例 1.源码 2.生成效果 四、实例中知识点 1.StringBuilder 构造函数 (1)定义 (2)重载 (3)StringBuilder() (4&…...
python开发案例教程-清华大学出版社(张基温)答案(4.2)
目录 练习 4.2 1. 代码分析题 2. 程序设计题 练习 4.2 1. 代码分析题 阅读下面的代码,给出输出结果。 (1) class A:def __init__(self,a,b,c):self.xabca A(3,5,7);b getattr(a,x);setattr(a,x,b3);print(a.x)18 (2&…...
【MATLAB】【数字信号处理】线性卷积和抽样定理
已知有限长序列:xk1,2,1,1,0,-3, hk[1,-1,1] , 计算离散卷积和ykxk*h(k) 。 程序如下: function [t,x] My_conv(x1,x2,t1,t2,dt) %文件名与函数名对应 %自写的卷积函数 x conv(x1,x2)*dt; t0 t1(1) t2(1); L length(x1) length(x2)-2; t t0:dt…...
什么是 MVVM ?
课堂笔记 什么是 MVVM ? MVVM 是一种架构模式,它最初是由微软的两位工程师在 2005 年的时候所提出的。 Model:Model代表的是你的数据View:视图,直接和用户打交道的ViewModel:ViewModel 是 View 和 Model…...
Redis(一)
1、redis Redis是一个完全开源免费的高性能(NOSQL)的key-value数据库。它遵守BSD协议,使用ANSI C语言编写,并支持网络和持久化。Redis拥有极高的性能,每秒可以进行11万次的读取操作和8.1万次的写入操作。它支持丰富的数…...
自动驾驶预测-决策-规划-控制学习(1):自动驾驶框架、硬件、软件概述
文章目录 前言:无人驾驶分级一、不同level的无人驾驶实例分析1.L2级别2.L3级别3.L4级别①如何在减少成本的情况下,实现类似全方位高精度的感知呢?②路侧终归是辅助,主车的智能才是重中之重:融合深度学习 二、无人驾驶的…...
SSM建材商城网站----计算机毕业设计
项目介绍 本项目分为前后台,前台为普通用户登录,后台为管理员登录; 管理员角色包含以下功能: 管理员登录,管理员管理,注册用户管理,新闻公告管理,建材类型管理,配货点管理,建材商品管理,建材订单管理,建材评价管理等功能。 用…...
js逆向第9例:猿人学第2题-js混淆-动态cookie1
题目2:提取全部5页发布日热度的值,计算所有值的加和,并提交答案 (感谢蔡老板为本题提供混淆方案) 既然题目已经给出了cookie问题,那就从cookie入手,控制台找到数据请求地址 可以看到如下加密字符串m类似md5,后面跟着时间戳 m=45cc41dcdb15159ebb50564635f8e362|1704301…...
【第二十一章 SDIO接口(SDIO)】
第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...
Leetcode 3577. Count the Number of Computer Unlocking Permutations
Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...
今日科技热点速览
🔥 今日科技热点速览 🎮 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售,主打更强图形性能与沉浸式体验,支持多模态交互,受到全球玩家热捧 。 🤖 人工智能持续突破 DeepSeek-R1&…...
如何理解 IP 数据报中的 TTL?
目录 前言理解 前言 面试灵魂一问:说说对 IP 数据报中 TTL 的理解?我们都知道,IP 数据报由首部和数据两部分组成,首部又分为两部分:固定部分和可变部分,共占 20 字节,而即将讨论的 TTL 就位于首…...
C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。
1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj,再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...
Rapidio门铃消息FIFO溢出机制
关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系,以下是深入解析: 门铃FIFO溢出的本质 在RapidIO系统中,门铃消息FIFO是硬件控制器内部的缓冲区,用于临时存储接收到的门铃消息(Doorbell Message)。…...
C# 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...
Java 二维码
Java 二维码 **技术:**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...
Mysql中select查询语句的执行过程
目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析(Parser) 2.4、执行sql 1. 预处理(Preprocessor) 2. 查询优化器(Optimizer) 3. 执行器…...
Windows安装Miniconda
一、下载 https://www.anaconda.com/download/success 二、安装 三、配置镜像源 Anaconda/Miniconda pip 配置清华镜像源_anaconda配置清华源-CSDN博客 四、常用操作命令 Anaconda/Miniconda 基本操作命令_miniconda创建环境命令-CSDN博客...
