STM32物联网项目---ESP8266微信小程序结合OneNET平台MQTT实现STM32单片机远程智能控制---云平台篇(一)
一、前言
做项目也有一段时间了,串口通讯协议大部分都做过了,但是网络通讯协议却没有接触过;目前手头也没有什么着急的项目,趁着空闲时间自己淘宝买了ESP8266-01S WIFI模块,尝试写一下MQTT协议,丰富一下自己的项目经验。
欢迎跟随本教程,我们将一步一步地构建起一个智慧型项目,使您的单片机设备能够通过网络与世界互联。整个项目可以概括为以下四个核心阶段,每一个阶段都有一篇文章去详细说明:
1.创建云平台(本篇)
2.烧录AT固件
3.MQTT订阅
4.单片机代码编写
5.微信小程序(下载微信开发者工具即可使用)
二、项目描述
本系列文章项目:利用STM32F103C8T6单片机结合ESP8266-01s WIFI模块和OneNET云平台,构建一个智能监控系统。该系统能够和实时监测温度和光照等环境参数,并将数据上传到微信小程序。不仅如此,您还可以通过小程序下发指令来控制相连硬件,比如远程开关灯光。
在本篇文章中,我们将聚焦于项目的第一步——创建OneNET设备。该文章将详细指导您如何配置和注册您的设备至OneNET平台,确保您的单片机可以成功连接到ESP8266-01s WIFI模块,并建立起与微信小程序的通信桥梁。完成本篇内容后,您将为整个智能监控系统的搭建打下坚实的基础。
项目所需材料清单:
在开始我们的项目之前,请确保您拥有以下所需硬件和软件:
硬件:
1.STM32F103C8T6单片机(或其他STM32单片机平替)
2.ESP8266-01s WIFI模块
软件及服务:
1.OneNET新版MQTT服务
2.ESP8266固件烧入软件
3.STC-ISP单片机烧录软件
4.ESP8266-01s固件
5.串口助手
6.OneNET token计算软件
所有相关材料和软件已经在压缩包中准备好,您可以在文章底部找到下载链接。
三、OneNET云平台
OneNET云平台是由中国移动推出的一个开放性的物联网平台。它提供了设备连接、数据存储、设备管理和应用开发等一系列服务,旨在帮助开发者快速搭建和部署物联网应用。
OneNET云平台具有以下特点:
兼容性强:支持包括但不限于2G、3G、4G、NB-IoT、LoRa和WIFI等多种网络接入方式。
设备管理:提供设备注册、认证、连接状态监控、远程配置等设备管理功能。
数据处理:支持数据持久化存储,同时提供数据转发、数据解析、规则引擎等数据处理能力。
安全性:实现设备数据的加密传输,确保通信安全。
应用开发:提供API接口,方便开发者集成至自己的应用或系统之中。
四、MQTT
MQTT是一种轻量级的消息传输协议,专为物联网设备设计,适合在网络环境不太稳定,带宽有限的场景中使用。它基于发布/订阅模式,效率高,开销小,数据包占用带宽极低。
在OneNET平台上使用MQTT进行设备通信时,设备充当MQTT客户端,通过发布(publish)消息到平台,或者订阅(subscribe)平台消息来实现与云端的双向通信。
利用MQTT设备进行数据上传的步骤通常包括:
设备注册:在OneNET平台注册设备,获取设备ID等必要信息。
MQTT连接:设备使用MQTT协议与OneNET建立连接,完成认证。
数据上传:设备发布消息到指定的Topic,将数据上传到云平台。
命令下发及控制:云平台可发布消息给设备,设备订阅对应Topic以接收命令或控制信息。
实时监控:开发者或用户利用平台提供的应用程序接口(API),实现数据监控和设备管理。
OneNET的MQTT服务使得IoT设备能够以一种稳定且高效的方式与云端资源进行交互,使得管理和操作变得更加简单灵活
五、HTTP:
基于请求/响应模式:客户端发起请求,服务器回应请求,没有长期连接状态。
更加通用和普遍:HTTP作为互联网的基础协议,被绝大多数网络应用支持。
连接简单:HTTP的无状态特性使得每次通信简洁明了,但每次交互都需要重新建立连接。
相对较高的功耗和延迟:因为需要频繁的连接建立和断开,对能量消耗和通信延迟有影响。
在物联网应用中,选择MQTT还是HTTP通常取决于特定的需求和场景。 如果需要低功耗、持续连接、低延迟及大量设备间通信的应用,MQTT是更好的选择。而对于偶尔传送数据或者和现有Web服务进行交互的应用,HTTP可能更为合适。
OneNET云平台提供了对这两种协议的支持,以满足不同物联网项目的需求。开发者可以根据具体情况选择最适合的通信方式
六、创建OneNET账号
打开官方网址:中国移动物联网开放平台https://open.iot.10086.cn/
1.创建一个账号
2.开发者中心
这个有时候进来会很卡,没有开发者中心这个选项,只有一个文档中心,可以切换网络试试
3.产品开发--->创建产品
4.添加模型
如果上传的数据不符合0.1(小数点后一位,精度0.1),则该次上传的所有数据都视为无效数据,例如上传0.5摄氏度(有效),1摄氏度(无效),0.01摄氏度(无效)
5.添加设备
到这里产品和设备就创建好了,上图的内容记得记录下来方便后续使用
6.Token生成
时间戳生成网址
打开下载的软件
对应官方文档填写Token生成工具使用方法
打不开就下载
通过网盘分享的文件:17134946071850.exe
链接: https://pan.baidu.com/s/19L2wFDi-p3TO49I1V-f7Jw?pwd=wkny 提取码: wkny
--来自百度网盘超级会员v5的分享
创建完成,可开启下一章
至此,我们的设备已成功创建。请务必妥善保存您的设备名称、产品ID及生成的Token。这些信息是您在后续步骤中连接硬件、编写程序以及实现微信小程序控制等环节必不可少的关键要素。建议您将其记录在安全的地方,并确保在进行后续操作时能够轻松地调用这些数据。
敬请期待接下来的文章,我们将进一步深入探讨如何将单片机与ESP8266-01s WIFI模块相连接,并实现数据的双向传输。让我们一步步搭建起这座现代物联网的桥梁,解锁更多可能性。
本篇文章大部分内容都是复制粘贴@送外卖的CV工程师,我只添加了自己操作过程中遇到的问题和解决方法,原文链接:物联网实践教程:微信小程序结合OneNET平台MQTT实现STM32单片机远程智能控制 远程上报和接收数据——创建新版OneNET的MQTT协议产品_小程序和单片机通信-CSDN博客