文章目录
- 1.装好ESP32-VSCode开发环境
- 2.git阿里云代码
- 3.先编译例程,看看能否编译成功
- 4.创建分区表-增加ota分区
- 5.查看分区空间
- 6.擦除整片Flash
- 7.未烧录四元组情况下,看看会报什么错
- 8.阿里云四元组
-
- 8.1方法一:将四元组生成bin/烧录
-
- 8.1.1四元组生成bin
- 8.1.2烧录bin
- 8.1.3复位,看看有什么效果
- 8.2方法二:将四元组烧录到代码中
- 9.配网
-
- 9.1方法一:手机配网(一键配网),让esp32连接上wifi
-
- 9.1.1首先在阿里云平台上,将设备开启使用公版App控制
- 9.1.2配网一直显示 passwd err
- 9.2方法二:将WiFi账号密码写在代码里
1.装好ESP32-VSCode开发环境
基于VSCode的ESP32开发环境的搭建
2.git阿里云代码
esp-aliyun
3.先编译例程,看看能否编译成功
4.创建分区表-增加ota分区
5.查看分区空间
可以看到引用的是我们自定义的空间分区
*******************************************************************************
# ESP-IDF Partition Table
# Name, Type, SubType, Offset, Size, Flags
nvs,data,nvs,0x9000,16K,
otadata,data,ota,0xd000,8K,
phy_init,data,phy,0xf000,4K,
ota_0,app,ota_0,0x10000,1M,
ota_1,app,ota_1,0x110000,1M,
fctry,data,nvs,0x210000,16K,
*******************************************************************************
要注意最后一个
fctry,data,nvs,0x210000,16K,
阿里云的设备是一机一码的,到时候我们需要将阿里云设备的四元组烧录到0x210000地址里面
6.擦除整片Flash
将…componentsesptool_pyesptoolesptool.py更换成你的位置
python D:APPesp_idf_tools.espressifframeworksesp-idf-v4.4componentsesptool_pyesptoolesptool.py erase_flash
注意:erase_flash是擦除整片flash,你在上面保存得四元组/wifi的账号密码都会被擦除
7.未烧录四元组情况下,看看会报什么错
没有烧录四元组就会报 wrapper_product: HAL_GetProductParam nvs_open failed with 1102 错误
8.阿里云四元组
8.1方法一:将四元组生成bin/烧录
8.1.1四元组生成bin
components/nvs_flash/nvs_partition_generator/nvs_partition_gen.py 修改成自己的目录位置
python D:/APP/esp_idf_tools/.espressif/frameworks/esp-idf-v4.4/components/nvs_flash/nvs_partition_generator/nvs_partition_gen.py generate single_mfg_config.csv single_mfg.bin 0x4000
8.1.2烧录bin
componentsesptool_pyesptoolesptool.py 修改成自己的目录位置
python D:APPesp_idf_tools.espressifframeworksesp-idf-v4.4componentsesptool_pyesptoolesptool.py write_flash 0x210000 single_mfg.bin
8.1.3复位,看看有什么效果
8.2方法二:将四元组烧录到代码中
如果你觉得上面的四元组生成bin,再烧录很麻烦,可以试试下面这个方法(适合调试使用,不适合量产)
// 产品设备信息设置函数声明
int HAL_SetProductKey(char *product_key);
int HAL_SetProductSecret(char *product_secret);
int HAL_SetDeviceName(char *device_name);
int HAL_SetDeviceSecret(char *device_secret);
void app_main()
{
{// 代码中配置产品设备信息,用于调试
HAL_SetProductKey("*********");
HAL_SetProductSecret("************");
HAL_SetDeviceName("**************");
HAL_SetDeviceSecret("*****************************");
}
}
9.配网
9.1方法一:手机配网(一键配网),让esp32连接上wifi
9.1.1首先在阿里云平台上,将设备开启使用公版App控制
注意:一定要选择”一键配网”,否则会一直在扫描通道,无法配网
9.1.2配网一直显示 passwd err
[crt] zconfig_get_ssid_passwd(326): SSID1: [*******]
[crt] zconfig_get_ssid_passwd(362): passwd err
解决方法:检测清楚你的四元组是否正确
9.2方法二:将WiFi账号密码写在代码里
void app_main()
{
{ // 设置wifi账号密码
const char *ssid = "*************";
const char *password = "*****************";
conn_mgr_set_wifi_config_ext((const uint8_t *)ssid, strlen(ssid), (const uint8_t *)password, strlen(password));
}
}
待续…
相关推荐: 一个基于.Net Core 开源的物联网基础平台
在智慧工厂领域,智慧城市领域,都需要对设备进行监控。比如工厂需要对周围环境温度、湿度、气压、电压,灯的开关进行监控。这时候就需要物联网平台来进行管理。 在智慧工厂领域,宝马集团通过英伟达的Omniverse平台在计算机中创建数字孪生工厂,并在数字孪生工厂中进行…