STM32/51单片机+ESP8266-01sWIFI模块连接OneNET(新版MQTT)实现微信小程序等远程控制单片机和查看温湿度数据(第一节创建OneNET的MQTT协议产品)

章节

本项目教程总共分为四节
1.(当前文章)创建OneNET新版MQTT设备:为微信小程序与单片机通信打基础(微信小程序通信单片机前置任务)

2.ESP8266-01s入门:烧录AT固件与OneNET MQTT通信教程包含MQTT.fx1.7.1教程(微信小程序通信单片机前置任务)

3.物联网实践教程:微信小程序结合OneNET平台MQTT实现51/STM32单片机智能控制【单片机代码篇】

4.物联网实践教程(终章):微信小程序结合OneNET平台MQTT实现51/STM32单片机智能控制【微信小程序篇】

前言

之前在学校获得了一个新玩意:ESP8266-01S WIFI模块,去搜了一下这个小东西很有玩点,远程控制LED啥的,然后我就想着用一用,结果发现网上的资源很多都是比较过时的,或者跟不上版本。有大佬自己手搓了一个MQTT通信代码(很长很长),但是对于小白的我完全不懂为什么要这样写代码,所以也不太好移植,而且很多都只有说怎么上传数据,比较少说怎么操控单片机,有的也比较深奥(有可能是我自己没搜到相关内容)。后面通过自己慢慢查资料的理解,再结合前人的智慧,自己也是终于通过了微信小程序控制单片机等操作,所以我也是打算写一个博客用来记录自己的学习,以及让开始和我一样的小白少走一点弯路

引言

在这个物联网迅速发展的时代,通过智能设备实现数据的收集和远程控制已经变得越来越常见。本系列文章将引导您完成一个非常实用的项目:利用51单片机或者32单片机结合ESP8266-01s WIFI模块OneNET云平台,构建一个智能监控系统。该系统能够和实时监测温度和光照等环境参数,并将数据上传到微信小程序。不仅如此,您还可以通过小程序下发指令来控制相连硬件,比如远程开关灯光。这不仅涉及物联网概念的实践,更融合了微信小程序这一现代移动互联网的便捷接入点,使得控制指令和数据展示触手可及。

本篇文章中,我们将聚焦于项目的第一步——创建OneNET设备。该文章将详细指导您如何配置和注册您的设备至OneNET平台,确保您的单片机可以成功连接到ESP8266-01s WIFI模块,并建立起与微信小程序的通信桥梁。完成本篇内容后,您将为整个智能监控系统的搭建打下坚实的基础。

最终项目视频演示:

利用ESP8266的AT指令实现MQTT连接:

AT指令集是您在使用ESP8266模块时可以依赖的强大工具。它允许您通过简单的串口指令来管理复杂的网络连接和通信过程,大大简化了单片机连接到MQTT服务器的难度。这意味着我们无需深入底层网络编程,便可以轻松实现物联网设备的云端交互。

项目所需材料清单:

在开始我们的项目之前,请确保您拥有以下所需硬件和软件:

硬件:

  1. 单片机
  2. ESP8266-01s WIFI模块

软件及服务:

  1. OneNET新版MQTT服务
  2. ESP8266固件烧入软件
  3. STC-ISP单片机烧录软件
  4. ESP8266-01s固件
  5. 串口助手
  6. OneNET token计算软件

所有相关材料和软件已经在压缩包中准备好,您可以在文章底部找到下载链接。

OneNET云平台

OneNET云平台是由中国移动推出的一个开放性的物联网平台。它提供了设备连接、数据存储、设备管理和应用开发等一系列服务,旨在帮助开发者快速搭建和部署物联网应用。

OneNET云平台具有以下特点:

  1. 兼容性强:支持包括但不限于2G、3G、4G、NB-IoT、LoRa和WIFI等多种网络接入方式。
  2. 设备管理:提供设备注册、认证、连接状态监控、远程配置等设备管理功能。
  3. 数据处理:支持数据持久化存储,同时提供数据转发、数据解析、规则引擎等数据处理能力。
  4. 安全性:实现设备数据的加密传输,确保通信安全。
  5. 应用开发:提供API接口,方便开发者集成至自己的应用或系统之中。

MQTT

MQTT是一种轻量级的消息传输协议,专为物联网设备设计,适合在网络环境不太稳定,带宽有限的场景中使用。它基于发布/订阅模式,效率高,开销小,数据包占用带宽极低。

在OneNET平台上使用MQTT进行设备通信时,设备充当MQTT客户端,通过发布(publish)消息到平台,或者订阅(subscribe)平台消息来实现与云端的双向通信。

利用MQTT设备进行数据上传的步骤通常包括:

  1. 设备注册:在OneNET平台注册设备,获取设备ID等必要信息。
  2. MQTT连接:设备使用MQTT协议与OneNET建立连接,完成认证。
  3. 数据上传:设备发布消息到指定的Topic,将数据上传到云平台。
  4. 命令下发及控制:云平台可发布消息给设备,设备订阅对应Topic以接收命令或控制信息。
  5. 实时监控:开发者或用户利用平台提供的应用程序接口(API),实现数据监控和设备管理。

OneNET的MQTT服务使得IoT设备能够以一种稳定且高效的方式与云端资源进行交互,使得管理和操作变得更加简单灵活。

MQTT与HTTP区别

MQTT设备与HTTP设备在连接OneNET云平台时使用的协议不同,各自有着不同的特点和适用场景。以下是两者的主要区别:

MQTT:

  1. 轻量级协议:MQTT设计简洁,数据包小,适用于带宽有限的情况。
  2. 节省能源:设备可以长时间保持连接状态,但不会频繁发送数据,适合用电池供电的设备。
  3. 支持离线消息:通过“遗嘱消息”等机制,即使设备离线也能保证一定程度的消息传递。
  4. 低延迟:基于发布/订阅机制,可以快速响应和分发消息,几乎实时的通讯体验。
  5. 支持多对一和一对多通讯:一个主题可以有多个订阅者,适用于广播和分布式消息通讯。

HTTP:

  1. 基于请求/响应模式:客户端发起请求,服务器回应请求,没有长期连接状态。
  2. 更加通用和普遍:HTTP作为互联网的基础协议,被绝大多数网络应用支持。
  3. 连接简单:HTTP的无状态特性使得每次通信简洁明了,但每次交互都需要重新建立连接。
  4. 相对较高的功耗和延迟:因为需要频繁的连接建立和断开,对能量消耗和通信延迟有影响。

在物联网应用中,选择MQTT还是HTTP通常取决于特定的需求和场景。 如果需要低功耗、持续连接、低延迟及大量设备间通信的应用,MQTT是更好的选择。而对于偶尔传送数据或者和现有Web服务进行交互的应用,HTTP可能更为合适。

OneNET云平台提供了对这两种协议的支持,以满足不同物联网项目的需求。开发者可以根据具体情况选择最适合的通信方式。

创建OneNET账号

打开官方网址中国移动物联网开放平台

创建一个账号

在这里插入图片描述

开发者中心

创建完成后打开开发者中心
在这里插入图片描述

创建一个产品

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

添加物模型

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

添加设备

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

到这里产品和设备就创建好了,上图的内容记得记录下来方便后续使用

Token生成

Token生成工具网址
时间戳生成网址

在这里插入图片描述

打开下载的软件
对应官方文档填写Token生成工具使用方法

在这里插入图片描述

资源包下载

创建完成,可开启下一章

至此,我们的设备已成功创建。请务必妥善保存您的设备名称、产品ID及生成的Token。这些信息是您在后续步骤中连接硬件、编写程序以及实现微信小程序控制等环节必不可少的关键要素。建议您将其记录在安全的地方,并确保在进行后续操作时能够轻松地调用这些数据。

敬请期待接下来的文章,我们将进一步深入探讨如何将单片机与ESP8266-01s WIFI模块相连接,并实现数据的双向传输。让我们一步步搭建起这座现代物联网的桥梁,解锁更多可能性。

  • 34
    点赞
  • 86
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

送外卖的CV工程师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值