700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > ESP32连接阿里云MQTT

ESP32连接阿里云MQTT

时间:2023-06-01 04:21:48

相关推荐

ESP32连接阿里云MQTT

ESP32连接阿里云的github链接

ESP32官网文档:可下载开发文档

文章目录

一、ESP32介绍二、搭建ESP32开发环境(一)、调出终端(二)、代码补全 三、ESP32接入阿里云(一)、编译项目(二)、配置项目(三)、烧录程序(四)、配置四组数(五)、完成 四、其他make指令

一、ESP32介绍

首先ESP32有辣么辣么多的优点:性能稳定,工作温度宽,电压自平衡;高集成度,将辣么多无线组件往身上放;超低功耗,陪你到天荒地老;wifi&蓝牙两位大佬一起陪你嗨,还有各种外设小姐姐任你挑选!!

二、搭建ESP32开发环境

附上ESP-IDF编程指南,里面详细讲解了如何构建开发环境,我就不赘述了。值得一提的是,在Windows下程序的编译是真滴慢(想要提升速度的话可以在编译时这样写 make -jN,N是你CPU核数),推荐Linux环境啦,但我不怎么用Linux所以就当是喝茶时间吧~

它默认用的IDE是mingw32.exe,当然习惯用vscode的也可以在它里面嵌入mingw32.exe的终端啦。具体操作步骤如下:

(一)、调出终端

File->Preferences->Settings->Features->Terminal然后点击Edit in settings.json,在它里面进行编辑。

然后将对应位置的路径编辑成你msys2_shell.cmd的路径即可,最后按下Ctrl+`即可调出终端!

还是不懂的话可以看第三章 Windows搭建ESP32开发环境(vscode)

(二)、代码补全

接下来是vscode的代码补全功能啦,按下键盘shift+ctrl+P点击Edit Configurations(JSON)配置路径。

下面是我的配置,includePath用于编译,browse的路径用于代码补全。你们copy的时候记得将没有的路径去掉哦,还有将路径换成你自己的。

{"configurations": [{"name": "Win32","includePath": ["${workspaceRoot}","D:/msys32/home/Administrator/esp/esp-idf/components","D:/msys32/home/Administrator/esp/esp-idf/components/newlib/include","D:/msys32/home/Administrator/esp/esp-idf/components/esp32/include","${workspaceFolder}/components/user_driver/include","C:/Program Files/Espressif/ESP-IDF Tools/toolchain/lib/gcc/xtensa-esp32-elf/5.2.0/include","D:/msys32/home/Administrator/esp/esp-idf/components/driver/include","D:/msys32/home/Administrator/esp/esp-idf/components/soc/esp32/include","D:/msys32/home/Administrator/esp/esp-idf/components/freertos/include","${workspaceFolder}/build/config","D:/msys32/home/Administrator/esp/esp-idf/components/log/include","D:/msys32/home/Administrator/esp/esp-idf/components/heap/include","D:/msys32/home/Administrator/esp/esp-idf/components/soc/include","D:/msys32/home/Administrator/esp/esp-idf/components/spi_flash/include","D:/msys32/home/Administrator/esp/esp-idf/components/tcpip_adapter/include","D:/msys32/home/Administrator/esp/esp-idf/components/lwip/include/lwip","D:/msys32/home/Administrator/esp/esp-idf/components/lwip/include/lwip/port","D:/msys32/home/Administrator/esp/esp-idf/components/vfs/include","D:/msys32/home/Administrator/esp/esp-idf/components/nvs_flash/include","D:/msys32/home/Administrator/esp/esp-idf/components/newlib/platform_include","D:/msys32/home/Administrator/esp/esp-idf/components/mbedtls/mbedtls/include","D:/msys32/home/Administrator/esp/esp-idf/components/json/cJSON","D:/msys32/home/Administrator/esp/esp-idf/components/wpa_supplicant/port/include","D:/msys32/home/Administrator/esp/esp-aliyun/iotkit-embedded/**"],"browse": {"limitSymbolsToIncludedHeaders": true,"databaseFilename": "","path": ["${workspaceRoot}","D:/msys32/home/Administrator/esp/esp-idf/components", "C:/Program Files/Espressif/ESP-IDF Tools/toolchain","D:/msys32/home/Administrator/esp/esp-aliyun/iotkit-embedded","D:/msys32/home/Administrator/esp/esp-aliyun/conn_mgr"]},"defines": ["_DEBUG","UNICODE","_UNICODE"],"windowsSdkVersion": "10.0.16299.0","compilerPath": "C:/Program Files (x86)/Microsoft Visual Studio//Community/VC/Tools/MSVC/14.11.25503/bin/Hostx64/x64/cl.exe","cStandard": "c11","cppStandard": "c++17","intelliSenseMode": "msvc-x64"}],"version": 4}

之后你就可以愉快地进行开发啦!

三、ESP32接入阿里云

下载完espressif的aliyun程序后,进入…\esp\esp-aliyun\examples\mqtt\mqtt_example,这是关于mqtt的例程,其实这部分接入的教程ESP32的readme已经写得很清楚了,我只讲一些细节好了。

(一)、编译项目

如果此时你已经将includePath的路径填充进去了,就可以开始编译。

在终端中输入make -j8进行代码编译,这个过程会很漫长,准备好小板凳看会电影或者喝几壶茶吧。

(二)、配置项目

编译成功后输入make menuconfig进行配置(如果编译失败就看下是什么头文件路径缺失了),界面如下,我们要配置wifi、烧写程序的端口和其他配置。当然想偷懒的话可以直接在sdkconfig.h里修改对应内容,代码如下,当然最好还是到menuconfig里面配置啦。

#define CONFIG_PARTITION_TABLE_FILENAME "partitions_esp32.csv"#define CONFIG_PARTITION_TABLE_CUSTOM_FILENAME "partitions_esp32.csv"#define CONFIG_IDF_TARGET "esp32"#define CONFIG_WIFI_SSID "seanOY"#define CONFIG_WIFI_PASSWORD "A614A614"#define CONFIG_ESPTOOLPY_PORT "COM13"#define CONFIG_MONITOR_BAUD_OTHER_VAL 115200

menuconfig界面

串口配置

WIFI配置

CSV分区配置,方便用于后面修改配置物联网产品设备四组数

(三)、烧录程序

输入make flash,当弹出等待连接时按下ESP32上的boot键几秒松开即可开始烧录程序

(四)、配置四组数

接下来按照README.md里的操作将四组数烧录到你的ESP32。

如果你已经在阿里云物联网平台注册了你的产品(product)和设备(device)后获得四组数,分别是

DeviceName、DeviceSecret、ProductKey、ProductSecret。

然后进入…\esp\esp-aliyun\config\mass_mfg里拷贝single_mfg_config.csv到你的项目并填充你的四组数,更名为my_single_mfg_config.csv。

通过使用如下命令生成对应的 NVS 分区:

$IDF_PATH/components/nvs_flash/nvs_partition_generator/nvs_partition_gen.py --input my_single_mfg_config.csv --output my_single_mfg.bin --size 0x4000

然后将其烧录到你的设备

$IDF_PATH/components/esptool_py/esptool/esptool.py write_flash 0x210000 my_single_mfg.bin

值得注意的是,如果你之前没有在menuconfig里面修改partition_esp32.csv会出现如下错误(我之前就遇到了)

(五)、完成

输入make monitor打开监视器,如果出现如下信息则代表你成功啦!

进入阿里云物联网平台发现设备上线,然后就开始尽情开发吧!

四、其他make指令

在终端输入make help即可调出所有指令啦。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。