ESP32+Micropython+MQTT阿里云物联网
前言
本文章将从零讲起,ESP32硬件介绍–>Micropthon开发环境搭建–>helloworld编写与运行–>创建阿里云物联网设备–>MQTT协议介绍–>ESP32接入阿里云物联网平台–>通过阿里云的数据流转规则实现两个ESP32通讯
提示:以下是本篇文章正文内容,下面案例可供参考
博主已录制视频上传,请查阅:
https://m.toutiao.com/is/NyVHV8d/
一、ESP32是什么?
是乐鑫继ESP8266后推出的又一款集成WiFi蓝牙功能的微控制器。ESP32拥有比ESP8266更加强大的性能,可以用来开发更加复杂的应用。
WiFi支持 802.11 b/g/n,802.11 n (2.4 GHz) 速度高达 150 Mbps;
支持蓝牙 v4.2 完整标准,包含传统蓝牙 (BR/EDR) 和低功耗蓝牙 (BLE);
32位双核处理器,CPU正常工作速度为80MHz,最高可达240MHz,运算能力高达 600 MIPS;
内置 448 KB ROM;
内置520 KB SRAM;
最大支持 16 MB 片外 SPI Flash;
最大支持 8 MB 片外 SPI SRAM;
包含常用微控制器的基本功能;
更多相关内容参考乐鑫官网: https://www.espressif.com/zh-hans/products/hardware/esp32/overview
二、Micropthon开发环境搭建
1.ESP32串口驱动下载与安装
买到ESP32开发板后,首先要下载对应的USB转串口驱动。
如下如示,博主使用的模块中,USB转串口模块型号为:CP2102系列,因此需要在windows安装如下驱动软件:https://download.csdn.net/download/weixin_42089940/81364076
下载附件的驱动软件,点击.exe文件安装即可
安装完串口驱动后,使用MicroUSB数据线接入电脑,在我的电脑右键–>管理–>设备管理器–>端口,查看接入的串口号,这里是COM3,后续使用串口软件登录ESP32时需要用到此串口号COM3
三、IDE工具下载及使用说明
推荐使用uPyCraft ,此IDE优点:既支持Micropython程序编写,也支持烧写ESP32固件,也支持下载py脚本到ESP32,还支持串口信息打印,且免安附带丰富的例程,使用简单。
1.IDE下载
官方下载地址:http://download3.dfrobot.com.cn/uPyCraft/
博主使用的版本:https://download.csdn.net/download/weixin_42089940/81366838
2.uPyCraft使用说明
1、设置板子型号:Tools–>board–>esp32
3.设置串口参数
设置串口参数:Tools–>Preferences–>Serial
4.下载ESP32固件
MicroPython官方针对不同的微控制器有不同的固件:http://www.micropython.org/download#esp32
博主使用的固件:https://download.csdn.net/download/weixin_42089940/81367535
5.烧写ESP32固件
Tools–>BurnFirmware
注意:burn_addr参数必须设置为0x1000
erase_flash:是否擦除flash,可选
选择在上一步下载到的ESP32固件.bin文件,点击OK烧写到ESP单板中
ESP32固件烧写中
6.串口连接
关于串口连接的特别说明
烧写完固件后,在没有下载过py脚本的时候,串口插上点击连接就可以连接上,但是一旦之前下载过py脚本,重新拔插串口线后,再点击连接就会提示open serial error, please try again.
并且软件自动弹出Burn Firmware界面,此时注意了,在已经下载过py脚本的情况下,再次连接串口需要重新烧写固定并把flash清空。
重新设置一下烧写固件参数,如下图所示,特别注意的是要把erase_flash选择yes,点击OK烧写一遍即可。
在平时连接好串口来调试代码时,请不要随意拔插串口以及不要点击关闭连接铵键。
四、HelloWorld编写与运行
1.编写helloworld脚本
注意:
1、创建的py文件必须命名为main.py,ESP上电只会自动运行main.py脚本,其它脚本不会被执行,如果要执行其它py文件,只能在main.py中import再调用相关方法执行
2、#coding:utf-8是一种编码声明,需要加上,否则在有中文时会因编码问题而报错,中文注释也会报错
main.py示例如下:
#-*-coding:utf-8-*-
print('helloworld')
2.下载main.py到ESP32中
注意:
main.py下载到ESP32完成后,需要按一下ESP32单板上的EN复位键启动程序运行
五、阿里云物联网
1.什么是物联网平台
阿里云官方指导手册:https://help.aliyun.com/document_detail/30522.html
阿里云官方有详细的操作指导,建议大家仔细阅读。
下文将简要介绍:如何在阿里云物联网平台创建产品–>创建设备–>ESP32如何通过MQTT协议接入–>数据流转–>两个ESP32通过阿里云物联网平台实现通信
阿里云物联网平台是一个集成了设备管理、数据安全通信和消息订阅等能力的一体化平台。向下支持连接海量设备,采集设备数据上云;向上提供云端API,服务端可通过调用云端API将指令下发至设备端,实现远程控制。
物联网平台与设备、服务端、客户端的消息通信流程如下。
使用物联网平台实现设备完整的通信链接,需要您自行完成设备端的设备开发、云端服务器的开发(云端SDK的配置)、数据库的创建、手机App的开发。在设备和服务器开发中,您需完成设备消息的定义和处理逻辑。
设备通过物联网平台上下行通信说明如下。
2.创建产品与设备
1、登录阿里云
使用支付宝APP扫码
https://account.aliyun.com/login/login.htm?oauth_callback=https%3A%2F%2Fhelp.aliyun.com%2Fdocument_detail%2F30528.html
2、登录物联网平台
3、创建产品
4、创建设备