STM32+ESP8266(ESP32)+MQTT+阿里云物联网平台

1、阿里云物联网平台

- 阿里云物联网平台配置

产品-设备-编辑物模型-设备端开发-查看上报数据

在产品上添加物模型,然后设备是继承自产品的,因此也具有物模型

添加产品、添加设备、产品上添加物模型
在这里插入图片描述

- 使用IOT Studio 绘制界面显示温度、湿度、灯开关

在这里插入图片描述
绘制图形化界面,添加数据来源
在这里插入图片描述

2、mqtt.fx模拟MQTT客户端发布与订阅消息

在直接使用单片机与阿里云通信前,先利用mqtt.fx工具模拟客户端确认阿里云这边配置无问题。

(1)、获取连接阿里云的三要素

(2)、利用MQTT_Password生成连接标准MQTT协议需要的参数,填在MQTT.fx中,连接阿里云物联网平台

  • 1.Broker Address
  • Client ID
  • User Name
  • Password

    在MQTT.fx填写参数
    在这里插入图片描述
    连接成功
    在这里插入图片描述

在这里插入图片描述
可以看到设备状态变化
在这里插入图片描述

(3)、在产品中获取设备的发布和订阅主题,写入MQTT.fx

在这里插入图片描述
填写主题
在这里插入图片描述

(4)、发送数据、接收数据

在这里插入图片描述

设置发布主题后,客户端发送数据,阿里云平台收到数据,温度表和湿度表显示,点击开关,客户端mqtt.fx收到数据

在这里插入图片描述

3、通过at命令控制esp8266发布与订阅消息

(1) 给esp8266烧录mqtt固件

(2) 控制esp8266通过at指令发送消息和订阅消息

  • 1.AT+CWMODE=1 热点模式
  • 2.AT+CWJAP=“decadeylp”,“qweasdzxc” 连接Wifi wifi名 密码 2.4G热点
  • 3.AT+MQTTUSERCFG=0,1,“MQTT连接的client ID”,“用户名”,“密码”,0,0,“” 配置阿里云连接,根据阿里云三元素生成的
  • 4.AT+MQTTCONN=0,“ProductKey.iot-as-mqtt.cn-shanghai.aliyuncs.com”,1883,0
  • 5.AT+MQTTSUB=0,“/sys/ProductKey/device name/thing/service/property/set”,0 订阅MQTT主题
  • 6.AT+MQTTPUB=0,“/sys/ProductKey/device name/thing/event/property/post”,“{“params”: {“temp”:30,“humi”:20},“version”:“1.0.0”}”,0,0 发布数据

利用sscom串口工具,测试esp8266通过at指令发布订阅消息

4、编写stm32程序通过at命令控制esp8266发布与订阅消息

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

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

相关文章

Tomcat(+Servlet)笔记+代码

Tomcat安装和配置 安装在不含中文的路径,路径不能太长 Apache 官网👇 Apache Tomcat - Welcome! 配置部分 点击下图红框处,找到Tomcat安装位置 添加项目的文件 配好的话,红框这里有个猫 代码部分 新建jsp文件,里…

1019记录

人瑞 - SDK - 外派米哈游 1,接口测试的工具 回答的是postman, 改进:JMeter 2,接口502,什么问题导致的?如何定位? 参考答案:502错误定义:是网关错误, 通俗…

【MotionCap】在wsl2 ubuntu20.04构建及运行

https://github.com/MVIG-SJTU/AlphaPose/issues/1157conda create -n alphapose python=3.7 -y conda activate alphapose conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1

如何用CSS3画一条0.5px的直线?

在 CSS 中,实际上无法直接指定 0.5px 的线条粗细,因为 CSS 中的像素单位是最小单位,通常无法表示小数像素。但是,可以通过一些技巧来模拟出看起来像是 0.5px 粗细的线条,例如使用伪元素和缩放等技巧。 以下是一种近似实现 0.5px 线条的方法: .line {position: relative…

线程(基础概念)

文章目录 一、线程和进程?二、线程初识2.1 线程属性2.2 线程的调度策略2.3 线程的优先级2.3 线程实验 一、线程和进程? 我们经常描述进程(process)和线程(thread): 进程是资源管理的最小单位&a…

昇思25天学习打卡营第07天 | 函数式自动微分

昇思25天学习打卡营第07天 | 函数式自动微分 文章目录 昇思25天学习打卡营第07天 | 函数式自动微分函数与计算图微分函数与梯度Stop GradientAuxiliary data 神经网络梯度计算总结打卡 神经网络的训练主要使用反向传播算法,首先计算模型预测值(logits&am…

科普文:微服务之服务网格Service Mesh

一、ServiceMesh概念 背景 随着业务的发展,传统单体应用的问题越来越严重: 单体应用代码库庞大,不易于理解和修改持续部署困难,由于单体应用各组件间依赖性强,只要其中任何一个组件发生更改,将重新部署整…

Android SurfaceFlinger——创建Layer(二十)

上一篇文章介绍到,SurfaceComposerClient 中的 createSurface() 方法最终创建的是一个 Layer,这里我们接着看 Layer 的创建。 一、Layer创建 1、SurfaceFlinger.cpp 源码位置:/frameworks/native/services/surfaceflinger/SurfaceFlinger.cpp status_t SurfaceFlinger:…

MUNIK解读ISO26262--什么是DFA

我们在学习功能安全过程中,经常会听到很多安全分析方法,有我们熟知的FMEA(Failure Modes Effects Analysis)和FTA(Fault Tree Analysis)还有功能安全产品设计中几乎绕不开的FMEDA(Failure Modes Effects and Diagnostic Analysis),相比于它们…

VBA中打开、保存关闭Excel工作簿的方法

前言 本节会介绍使用VBA方法打开Excel工作簿、保存关闭Excel工作簿的方法,分别会用到Open、Save、Close方法的使用。 1.使用Open方法打开工作簿 Workbooks.Open(FileName,UpdateLinks,ReadOnly,Format,Password,WriteResPassword,Ignore-ReadOnlyResommended,Orig…

【OceanBase】OBProxy 无状态的理解

SueWakeup 个人主页:SueWakeup 系列专栏:为祖国的科技进步添砖Java 个性签名:保留赤子之心也许是种幸运吧 本文封面由 凯楠📸友情提供 目录 前言 OBProxy 无状态的概述 OBProxy 无状态特性带来的优点 1. 高可用 2. 负载均衡…

centos7.9安装mysql5.7

由于个人配置的服务器性能比较差,容量也不够,没有使用docker或宝塔安装mysql 参考(有细节差异): https://blog.csdn.net/weixin_44304847/article/details/124349013?ops_request_misc%257B%2522request%255Fid%2522…

2024最新版Redis常见面试题包含详细讲解

Redis适用于哪些场景? 缓存分布式锁降级限流消息队列延迟消息队 说一说缓存穿透 缓存穿透的概念 用户频繁的发起恶意请求查询缓存中和数据库中都不存在的数据,查询积累到一定量级导致数据库压力过大甚至宕机。 缓存穿透的原因 比如正常情况下用户发…

C++基础22 字符串与字符数组及其相关操作

这是《C算法宝典》C基础篇的第22节文章啦~ 如果你之前没有太多C基础,请点击👉C基础,如果你C语法基础已经炉火纯青,则可以进阶算法👉专栏:算法知识和数据结构👉专栏:数据结构啦 ​ 目…

蓝牙传输技术的演进与发展

蓝牙模块技术,作为无线通信领域的重要一员,自其诞生之初便受到了广泛的关注和应用。随着技术的不断发展和演进,蓝牙模块技术已经从最初的单一功能、有限传输速度发展到现在的多功能、高速率、低功耗,为人们的生活和工作带来了极大…

MySQL 一些用来做比较的函数

目录 IF:根据不同条件返回不同的值 CASE:多条件判断,类似于Switch函数 IFNULL:用于检查一个值是否为NULL,如果是,则用指定值代替 NULLIF:比较两个值,如果相等则返回NULL&#xff…

信创-系统架构师认证

随着国家对信息技术自主创新的战略重视程度不断提升,信创产业迎来前所未有的发展机遇。未来几年内,信创产业将呈现市场规模扩大、技术创新加速、产业链完善和国产化替代加速的趋势。信创人才培养对于推动产业发展具有重要意义。应加强高校教育、建立人才…

Android Gradle 开发与应用 (五): 构建变体与自定义任务

目录 1. 概述 2. 构建变体 2.1 构建变体的概念 2.2 构建类型 2.3 产品风味 2.4 构建变体的使用 3. 自定义任务 3.1 自定义任务的概念 3.2 创建自定义任务 3.3 配置任务依赖 3.4 任务类型 3.5 动态任务 3.6 自定义任务执行顺序 4. 案例 4.1 多渠道打包 4.2 自动…

Linux CMakeLists编写之可执行程序

目录 1 概述2 文件命名3 实例4 代码分析 1 概述 编译工具有很多(make/cmake/BJam)。cmake是跨平台,使用cmake编译需要编写CMakeLists.txt。本文编写CMakeLists.txt来生成C可执行程序。 2 文件命名 文件命名为CMakeLists.txt,是一个文本文件,可以使用任何编辑器编辑…

iOS项目怎样进行二进制重排

什么是二进制重排 ? 在iOS项目中,二进制重排(Binary Reordering 或者 Binary Rearrangement)是一种优化技术,主要目的是通过重新组织应用程序的二进制文件中的代码和数据段,来提高应用程序的性能&#xff…