Arduino中安装ESP32网络抽风无法下载 暴力解决办法 python

不知道什么仙人设计的arduino连接网络部分,死活下不下来。(真的沙口,第一次看到这么抽风的下载口)

操作

给爷惹火了我踏马解析json选zip直接全部下下来
把这个大家的开发板管理地址下下来跟后面python放在同一目录下,下载下来的东西也都在一起
https://espressif.github.io/arduino-esp32/package_esp32_index.json

import json
import os.path

import requests as requests
from contextlib import closing

with open('package_esp32_index.json') as f:
    metadata = json.load(f)

def download_with_prigress(url, store_path):
    with closing(requests.get(url, stream=True)) as response:
        chunk_size = 1024  # 单次请求最大值
        content_size = int(response.headers['content-length'])  # 内容体总大小
        data_count = 0
        with open(store_path, "wb") as file:
            for data in response.iter_content(chunk_size=chunk_size):
                file.write(data)
                data_count = data_count + len(data)
                now_jd = (data_count / content_size) * 100
                print("\r 文件下载进度:%d%%(%d/%d) - %s" % (now_jd, data_count, content_size, url), end=" ")
    print("\n")

for platform in metadata['packages'][0]['platforms']:
    if platform['url'][-4:] == '.zip':
        url = platform['url']
        target_name = platform['archiveFileName']
        if os.path.exists(target_name):
            print('exist', target_name)
        else:
            print('downloading', url)
            download_with_prigress(url, target_name)

for tool in metadata['packages'][0]['tools']:
    for system in tool['systems']:
        # if system_or_platform['host'] == 'x86_64-mingw32' or system_or_platform['host'] == 'i686-mingw32':
        if system['url'][-4:] == '.zip':
            url = system['url']
            target_name = system['archiveFileName']
            if os.path.exists(target_name):
                print('exist', target_name)
            else:
                print('downloading', url)
                download_with_prigress(url, target_name)

直接运行把这些下完的zip通通滚去这软件的默认下载暂存的地方,再arduino
C:\Users\xxxxxxx\AppData\Local\Arduino15\staging\packages


整个文件夹:下好的全zip、代码、元数据json

github其实连接很快的,防谁还抽风我直接传百度云了,有需自取
链接:https://pan.baidu.com/s/1O8yZFpKJAHDlx6HJhzOaPA
提取码:ud1c


废弃的分析过程不用管

有幸等了半天下下来了部分包,经过观察:某一个包报错请求的是这个文件:https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip
发现通过浏览器可以直接下载该文件
在这里插入图片描述
然后我们直接干去首选项要我们填入的地址:https://espressif.github.io/arduino-esp32/package_esp32_index.json,看看里面是什么东西:在这里插入图片描述
https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip 同时发现和下的url的对应关系,于是就可以拼接了,可以一个一个拼url把它下载,但是懒,试试url
https://github.com/espressif/crosstool-NG/releases
可以访问,再找到版本,发现对应列表在,检验发现list中文件url和上面报错要下载的是一样的,可以依此类推,但是好像还有些文件是不行的
https://github.com/espressif/crosstool-NG/releases/tag/esp-2021r2-patch5
本地的位置经过搜索得到:C:\Users\xxxxxxx\AppData\Local\Arduino15\staging\packages
把zip放到这个文件夹下就行了,然后再运行原来arduino包管理的ESP32的点击安装

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Arduino ESP32-S3是一款基于ESP32-S3芯片的开发板,具有强大的功能和灵活的使用方式。 首先,ESP32-S3芯片是一种高度集成的微控制器,具有双核处理器、低功耗特性和丰富的通信接口,可以使Arduino ESP32-S3在各种应用发挥出色的表现。双核处理器使得该开发板可以同时运行多个任务,提高了处理效率和响应速度。低功耗特性使得开发板在运行过程能够最大限度地减少能耗,延长电池寿命,非常适合需要长时间运行的应用场景。通信接口包括WiFi、蓝牙等,可以方便地与其他设备进行通信,实现远程控制和信息传输。 其次,Arduino ESP32-S3支持使用Arduino开发平台进行编程,使得它非常易于使用和学习。Arduino开发平台拥有丰富的库函数和示例代码,可以帮助开发者快速上手和实现功能。通过编写简单的代码,结合丰富的传感器和模块,开发者可以实现各种各样的应用,如智能家居、物联网等。 此外,Arduino ESP32-S3还具有丰富的硬件接口,如GPIO、I2C、SPI等,可以方便地连接外部设备。这使得开发者可以灵活地扩展功能,根据需求添加各种传感器、执行器等外设。 总之,Arduino ESP32-S3是一款功能强大、易于使用的开发板,适用于各种物联网和嵌入式系统的开发和应用。无论是初学者还是有经验的开发者,都可以通过Arduino ESP32-S3轻松实现自己的创意和想法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值