使用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单片机智能控制【微信小程序篇】

前言

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

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

ESP8266视频演示

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

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

项目所需材料清单:

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

硬件:

  1. 51单片机STC89C52RC / STM32单片机
  2. ESP8266-01s WIFI模块

软件及服务:

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

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

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生成工具网址
时间戳生成网址

打开下载的软件

资源包下载

资源包下载
https://pan.baidu.com/s/15iw7kzn4GMUKP3g8809PUA?pwd=jq91

创建完成,可开启下一章

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

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

物联沃分享整理
物联沃-IOTWORD物联网 » 使用OneNET新版MQTT设备创建远程控制单片机,为微信小程序与单片机通信打下基础

发表评论