物联网 STM32【源代码形式-ESP8266透传】连接OneNet IOT从云产品开发到底层MQTT实现,APP控制 【保姆级零基础搭建】

news/2025/2/2 14:13:34/

一、MQTT介绍

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议)是一种基于发布/订阅模式的轻量级通讯协议,构建于TCP/IP协议之上。它最初由IBM在1999年发布,主要用于在硬件性能受限和网络状况不佳的情况下,为远程设备提供可靠的消息传输服务。MQTT协议简单易用、可靠性高、延迟低,因此广泛应用于物联网(IoT)、机器人、智能城市管理、农业物联网以及能源监测与管理等领域。

MQTT协议由三个主要部分组成:客户端、服务器和主题。客户端是发送和接收消息的应用程序,可以是发布者或订阅者。服务器(也称为代理)负责处理消息,接收来自发布者的消息并将其传递给已订阅该主题的订阅者。主题是消息的路径,用于区分不同类型的消息。发布者将消息发布到特定主题,而订阅者则订阅感兴趣的主题以接收消息。

二、MQTT协议的工作原理如下:

连接建立:客户端(发布者或订阅者)与代理之间建立TCP连接。客户端需要提供客户端ID以及连接到代理的凭据(如用户名和密码)。
主题订阅:订阅者向代理发送订阅请求,以订阅特定的主题。
消息发布:发布者将消息发布到特定的主题。代理接收到消息后,会将其传递给已订阅该主题的订阅者。
消息传递:一旦代理接收到发布者发布的消息,并确认订阅者已订阅该主题,代理就会将消息传递给订阅者。订阅者收到消息后可以进行相应的处理。
断开连接:在通信结束后,客户端可以选择断开与代理的连接。断开连接时,客户端需要发送断开连接请求给代理。

三、MQTT协议的优点包括:

轻量级:MQTT协议规范简单,易于实现,对硬件资源要求低,适用于资源受限的设备。
高可靠性:使用TCP协议进行传输,保证了消息的可靠传递。
低延迟:基于发布/订阅模式,减少了消息传递的延迟,提高了实时性。
灵活性:MQTT协议支持多种消息传递方式,如QoS(服务质量)等级设置,以满足不同应用场景的需求。
MQTT协议在物联网领域的应用尤为广泛,可以帮助设备与云平台或中心服务器进行高效的数据交互。设备通过MQTT协议将采集到的数据发布到指定的主题,云平台或中心服务器订阅相应的主题即可实时获取数据。同时,云平台或中心服务器也可以通过MQTT向设备发送控制指令,实现对设备的远程监控与控制。

四、实验开发板:

开发板支持以太网、ESP32、ESP8266连接IOT。所有代码都是以源码形式运行在STM32上面。很方便使用更换其它模组(比如4g)

开发板购买连接:

https://item.taobao.com/item.htm?ft=t&id=881441702637


五、云平台搭建

浏览器输入网址:https://open.iot.10086.cn/
OneNet平台的搭建参考:物联网 STM32【源代码形式-使用以太网】连接OneNet IOT从云产品开发到底层MQTT实现,APP控制 【保姆级零基础搭建】-CSDN博客

六、底层设备修改


1、【修改三元组】

打开软件->组AIOT_APP->mqtt_aiot.c

2、【修改上报消息】

打开软件->组AIOT_APP->bsp_onenet_push.c

 

3、【修改路由器账号密码】

4、【编译下载后就看到设备在线了】

5、【进入设备调试->打开二维码】

6、连接APP

【1、首先下载云中移和物APP】

【云平台打开配网二维码】

用APP扫描绑定。

7、【APP端看到设备信息同步了】

8、【云端数据】

 

 

 

 


http://www.ppmy.cn/news/1568713.html

相关文章

AI(计算机视觉)自学路线

本文仅用来记录一下自学路线方便日后复习,如果对你自学有帮助的话也很开心o(* ̄▽ ̄*)ブ B站吴恩达机器学习->B站小土堆pytorch基础学习->opencv相关知识(Halcon或者opencv库)->四类神经网络(这里跟…

Kubernetes组成及常用命令

Pods(k8s最小操作单元)ReplicaSet & Label(k8s副本集和标签)Deployments(声明式配置)Services(服务)k8s常用命令Kubernetes(简称K8s)是一个开源的容器编排系统,用于自动化应用程序的部署、扩展和管理。自2014年发布以来,K8s迅速成为容器编排领域的行业标准,被…

leetcode刷题记录(七十二)——146. LRU 缓存

(一)问题描述 146. LRU 缓存 - 力扣(LeetCode)146. LRU 缓存 - 请你设计并实现一个满足 LRU (最近最少使用) 缓存 [https://baike.baidu.com/item/LRU] 约束的数据结构。实现 LRUCache 类: * LRUCache(int capacity)…

Redis代金卷(优惠卷)秒杀案例-单应用版

优惠卷表:优惠卷基本信息,优惠金额,使用规则 包含普通优惠卷和特价优惠卷(秒杀卷) 优惠卷的库存表:优惠卷的库存,开始抢购时间,结束抢购时间.只有特价优惠卷(秒杀卷)才需要填写这些信息 优惠卷订单表 卷的表里已经有一条普通优惠卷记录 下面首先新增一条秒杀优惠卷记录 { &quo…

深度学习学习笔记(第31周)

目录 摘要 Abstracts 1、全卷积网络(FCN)的简单介绍 1.1、CNN与FCN的比较 2、FCN上采样理论讲解 2.1、双线性插值上采样 2.2、反卷积上采样 2.3、反池化上采样 2、 FCN具体实现过程 3、 FCN模型实现过程 3.1、模型训练 3.2、FCN模型的简单总结…

在ubuntu下一键安装 Open WebUI

该脚本用于自动化安装 Open WebUI,并支持以下功能: 可选跳过 Ollama 安装:通过 --no-ollama 参数跳过 Ollama 的安装。自动清理旧目录:如果安装目录 (~/open-webui) 已存在,脚本会自动删除旧目录并重新安装。完整的依…

PostgreSQL 数据查询操作(排序、筛选、连接、分组、子查询)

(1)排序查询与筛选查询操作 排序查询使用ORDER BY,对某个表中的列1按照列升序(ASC,默认升序)或降序(DESC)排序,排序后展示列1和列2两列。此外,也可以按照多列…

《深入分析 TNN、MNN 和 NCNN:为不同硬件平台挑选最佳深度学习框架》

文章目录 TNN、MNN 和 NCNN 开源深度学习框架对比引言框架概述TNN (Tencent Neural Network)MNN (Mobile Neural Network)NCNN (Neural Network Compression and Inference) 逻辑推理图神经网络推理流程性能对比内存消耗对比硬件支持对比结论个人观点与推荐1. 针对移动端应用2.…