ESP32C3对接阿里云生活物联网平台

文章目录

  • 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.先编译例程,看看能否编译成功

ESP32C3对接阿里云生活物联网平台
ESP32C3对接阿里云生活物联网平台

4.创建分区表-增加ota分区

ESP32C3对接阿里云生活物联网平台
ESP32C3对接阿里云生活物联网平台
ESP32C3对接阿里云生活物联网平台ESP32C3对接阿里云生活物联网平台

5.查看分区空间

可以看到引用的是我们自定义的空间分区
ESP32C3对接阿里云生活物联网平台

*******************************************************************************
# 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

ESP32C3对接阿里云生活物联网平台
将…componentsesptool_pyesptoolesptool.py更换成你的位置

python D:APPesp_idf_tools.espressifframeworksesp-idf-v4.4componentsesptool_pyesptoolesptool.py erase_flash

注意:erase_flash是擦除整片flash,你在上面保存得四元组/wifi的账号密码都会被擦除

7.未烧录四元组情况下,看看会报什么错

ESP32C3对接阿里云生活物联网平台
没有烧录四元组就会报 wrapper_product: HAL_GetProductParam nvs_open failed with 1102 错误

8.阿里云四元组

8.1方法一:将四元组生成bin/烧录

ESP32C3对接阿里云生活物联网平台
ESP32C3对接阿里云生活物联网平台
ESP32C3对接阿里云生活物联网平台

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

ESP32C3对接阿里云生活物联网平台

8.1.2烧录bin

componentsesptool_pyesptoolesptool.py 修改成自己的目录位置

python D:APPesp_idf_tools.espressifframeworksesp-idf-v4.4componentsesptool_pyesptoolesptool.py write_flash 0x210000 single_mfg.bin

ESP32C3对接阿里云生活物联网平台

8.1.3复位,看看有什么效果

ESP32C3对接阿里云生活物联网平台

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控制

注意:一定要选择”一键配网”,否则会一直在扫描通道,无法配网
ESP32C3对接阿里云生活物联网平台

ESP32C3对接阿里云生活物联网平台
ESP32C3对接阿里云生活物联网平台

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));
    }
}

待续…

本文章来源于互联网,如有侵权,请联系删除!原文地址:ESP32C3对接阿里云生活物联网平台

相关推荐: 一个基于.Net Core 开源的物联网基础平台

在智慧工厂领域,智慧城市领域,都需要对设备进行监控。比如工厂需要对周围环境温度、湿度、气压、电压,灯的开关进行监控。这时候就需要物联网平台来进行管理。 在智慧工厂领域,宝马集团通过英伟达的Omniverse平台在计算机中创建数字孪生工厂,并在数字孪生工厂中进行…