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

news2024/11/17 9:51:50


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

本节目标:本节目标是进行云产品流转配置为后面实际的手机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.coloradmin.cn/o/1359450.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

计算机基础知识——数据的表示概述

目录 1 进制转换 1.1 二进制、十进制和十六进制等常用数制及其相互转换 1.2 十进制和二进制之间转换 1.3 二进制数与八进制数、十六进制数之间的转换 2 码值:原码、反码、补码 2.1 原码 2.2 反码 2.3 补码 3 浮点数表示 3.1 浮点数的运算 1 进制转换 1…

基于闪电搜索算法优化的Elman神经网络数据预测 - 附代码

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

Android 相机库CameraView源码解析 (四) : 带滤镜预览

1. 前言 这段时间,在使用 natario1/CameraView 来实现带滤镜的预览、拍照、录像功能。 由于CameraView封装的比较到位,在项目前期,的确为我们节省了不少时间。 但随着项目持续深入,对于CameraView的使用进入深水区,逐…

Javaweb之Mybatis的基础操作之新增和更新操作的详细解析

1.4 新增 功能:新增员工信息 1.4.1 基本新增 员工表结构: SQL语句: insert into emp(username, name, gender, image, job, entrydate, dept_id, create_time, update_time) values (songyuanqiao,宋远桥,1,1.jpg,2,2012-10-09,2,2022-10-…

十年磨一剑

随着不停的优化和改进,JRT开发已经接近尾声,计划过年时候低调发布JRT1.0,框架目标:只做信创下的医疗龙头而不是信创下的苟活着。 十年前,我从南京踏上去沈阳的火车,去东北参加三方协议的启航计划&#xff…

电极箔,预计到2025年市场规模将达到35亿美元

电极箔是一种关键性材料,广泛应用于太阳能电池、电动汽车电池、储能电池、5G基站电池等领域。随着新能源产业的迅猛发展,电极箔市场也在逐步壮大。下面将从全球市场和中国市场进行分析其发展趋势。全球市场分析: 在全球范围内,随着…

HarmonyOS4.0系统性深入开发14AbilityStage组件容器

AbilityStage组件容器 AbilityStage是一个Module级别的组件容器,应用的HAP在首次加载时会创建一个AbilityStage实例,可以对该Module进行初始化等操作。 AbilityStage与Module一一对应,即一个Module拥有一个AbilityStage。 DevEco Studio默…

深入理解Python中的二分查找与bisect模块

💗💗💗欢迎来到我的博客,你将找到有关如何使用技术解决问题的文章,也会找到某个技术的学习路线。无论你是何种职业,我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章,也欢…

PCIe 6.0生态业内进展分析总结-2

3.PCIe 6.0协议分析仪 (1)Keysight Keysight是德科技在2023年6月份对外宣布,第一款支持PCIe 6.0协议验证调试工具。 Keysight PCIe 6.0架构解决方案具备以下特点: 分析PCIe 6.0技术设计的数据链路/事务层 支持所有PCIe技术速率——从2.5 GT/s至64 GT/…

一篇文章认识微服务中Eureka的原理和服务注册与发现

目录 1、认识Eureka 2、Eureka原理 2.1 和Dubbo架构对比: 2.2 三大角色 3、微服务常见的注册中心 3.1 Zookeeper 3.2 Eureka 3.3 Consul 3.4 Nacos 3.5 区别 Netflix 在设计Eureka 时,遵循的就是AP原则。 CAP原则又称CAP定理,指的…

STM32使用中断方式进行USART数据收发以及printf函数的重写

时间记录:2024/1/5 一、USART/UART介绍 协议介绍 (1)起始位,一位逻辑电平0表示 (2)数据位,8-9位,逻辑高低电平,一般使用8位 (3)校验位&#xff…

5分钟搞懂AI的可解释性

大家好啊,我是董董灿。 想象一下,如果有一天,有人跑过来突然告诉你,他搞懂了人类大脑记忆的运行机制,你会是什么反应? 你可能会和我一样,把他当做疯子。 因为我觉得这个课题太深奥了&#xf…

kali-Linux安装ARL灯塔教程以及timeout of 20000ms exceeded 的解决方法

FLAG:别和妈妈诉苦,她帮不上,也睡不着。 专研方向: docker,ARL资产灯塔系统 每日emo:天冷了,你还在坚持吗? 欢迎各位与我这个菜鸟交流学习 kali安装ARL灯塔教程 1.安装docker环境,…

【智慧零售】东胜物联蓝牙网关硬件解决方案,促进零售门店数字化管理

依托物联网(IoT)、大数据、人工智能(AI)等快速发展,数字化和智能化已成为零售企业的核心竞争力。更多的企业通过引入人工智能、大数据等先进技术手段,提高门店运营效率和服务质量。 某连锁咖啡企业牢牢抓住…

位运算 (运算符)

文章目录 位运算位运算概述位运算概览& 按位与&#xff08;AND&#xff09;| 按位或&#xff08;bitwise OR&#xff09;^ 按位异或&#xff08;bitwise XOR&#xff09;~ 按位非&#xff08;bitwise NOT&#xff09;<< 左移&#xff08;bitwise shift left&#xff…

zookeeper应用场景之分布式的ID生成器

1. 分布式ID生成器的使用场景 在分布式系统中&#xff0c;分布式ID生成器的使用场景非常之多&#xff1a; 大量的数据记录&#xff0c;需要分布式ID。大量的系统消息&#xff0c;需要分布式ID。大量的请求日志&#xff0c;如restful的操作记录&#xff0c;需要唯一标识&#x…

分布式(7)

目录 31.基于Zookeeper如何实现分布式锁&#xff1f; 32.什么是ACID&#xff1f; 33.什么是分布式的XA协议&#xff1f; 34.什么是2PC&#xff1f; 35.什么是3PC&#xff1f; 31.基于Zookeeper如何实现分布式锁&#xff1f; 顺序节点 创建一个用于发号的节点“/test/lock…

Mybatis缓存实现方式

文章目录 装饰器模式Cache 接口及核心实现Cache 接口装饰器1. BlockingCache2. FifoCache3. LruCache4. SoftCache5. WeakCache 小结 缓存是优化数据库性能的常用手段之一&#xff0c;我们在实践中经常使用的是 Memcached、Redis 等外部缓存组件&#xff0c;很多持久化框架提供…

Unity3D Shader 之透视效果XRay

1、 Shader "Unlit/XRay" {Properties{_MainTex("Texture", 2D) "white" {}// 漫反射_Diffuse("Diffuse", COLOR) (1,1,1,1)// XRay 效果_XRayColor("XRay Color", COLOR) (0,1,1,1)_XRayPower("XRay Power",…

python识别验证码+灰度图片base64转换图片

一、为后面识别验证码准备 1、base64转换为图片&#xff0c;保存本地、并且置灰 上文中的base64,后面的就是包含Base64编码的PNG图像的字符串复制下来 import base64 from PIL import Image import io# 这里是你的Base64编码的字符串 base64_data "iVBORw0KGgoAAAANSUhE…