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即可调出所有指令啦。