ESP32连接阿里云的gayhub链接
ESP32官网文档:可下载开发文档
文章目录
一、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/2017/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即可调出所有指令啦。