完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
说明:1、ESP-IDF版本为v4.3.3,
2、参考的例程为examplesprotocolsesp_http_client的https_with_url 3、网络连接正常,远程的HTTPS地址正常(使用其他工具验证能连接且能收到服务器返回的数据) 4、源码附在最后。 问题如下:1、参考此例程 默认配置参数 .is_async = false ,初始化时直接报错 :The certificate is not correctly signed by the trusted CA! 将.is_async = true ,能过初始化。 2、初始话结束,esp_http_client_perform函数返回值 Error perform http request ESP_ERR_HTTP_EAGAIN 目前本人已经试了很多方法,也按照idf编程技术指南操作流程改了代码,都不行。 也看了其他高版本的IDF这边使用方式都不一样。所以针对此IDF的版本,望技术支持给出合理的解决方法,如何修改? 源码: esp_http_client_config_t config = { .url = "https://indoor.xxxx(此处打码).net/api/extra/test1", .event_handler = _http_event_handler, .is_async = true, .cert_pem = howsmyssl_com_root_cert_pem_start, }; esp_http_client_handle_t client = esp_http_client_init(&config); err = esp_http_client_perform(client); if (err == ESP_OK) { ESP_LOGI(TAG, "HTTP POST Status = %d, content_length = %d", esp_http_client_get_status_code(client), esp_http_client_get_content_length(client)); } else { ESP_LOGE(TAG, "Error perform http request %s", esp_err_to_name(err)); } |
|
相关推荐
1个回答
|
|
根据您提供的信息,我将尝试帮助您解决ESP32使用HTTPS协议无法与服务器建立连接的问题。请按照以下步骤操作:
1. 确保证书有效:首先,请确保您使用的HTTPS服务器证书是有效的,并且已经由受信任的CA(证书颁发机构)签名。您可以使用在线工具或命令行工具(如openssl)来验证证书的有效性。 2. 导入证书:将服务器的证书导入到ESP32的项目中。您可以将证书转换为PEM格式,然后将其放置在项目的某个目录下。例如,将证书保存为`server_cert.pem`。 3. 修改源码:在您的源码中,找到与HTTPS连接相关的部分。您需要修改代码以使用导入的证书。以下是修改后的示例: ```c #include "esp_https_ota.h" // ... static const char *server_cert_pem = "..."; // 将证书内容放置在这里 esp_err_t event_handler(esp_event_base_t base, int32_t event_id, void *data) { // ... } void app_main() { esp_https_ota_config_t config = { .server = "https://your_server_address", .server_cert_pem = server_cert_pem, .event_handler = event_handler, }; esp_err_t ret = esp_https_ota_init(&config); if (ret == ESP_OK) { ESP_LOGI(TAG, "ESP-HTTPS-OTA Initialized"); esp_https_ota_begin(); } else { ESP_LOGE(TAG, "Failed to initialize ESP-HTTPS-OTA (%d)", ret); } } ``` 4. 重新编译和烧录:在完成上述修改后,重新编译您的项目并将其烧录到ESP32设备上。 5. 测试连接:运行您的应用程序,检查是否能够成功建立HTTPS连接并接收服务器返回的数据。 6. 调试:如果问题仍然存在,请使用ESP-IDF的调试工具(如OpenOCD)来调试您的应用程序。检查是否有任何错误或警告信息,这将有助于您找到问题的根源。 |
|
|
|
只有小组成员才能发言,加入小组>>
545浏览 6评论
457浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
437浏览 5评论
441浏览 4评论
411浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-21 20:05 , Processed in 0.897592 second(s), Total 82, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号