当前位置: 首页 > news >正文

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

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

操作

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

import json
import os.pathimport requests as requests
from contextlib import closingwith 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 = 0with 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) * 100print("\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的点击安装

http://www.lryc.cn/news/306062.html

相关文章:

  • Linux基础命令—系统服务
  • qt-动画圆圈等待-LED数字
  • SpringBoot3整合Swagger3,访问出现404错误问题(未解决)
  • Django配置文件参数详解
  • Docker+Kafka+Kafka-ui安装与配置
  • 单例模式的介绍
  • JavaSec 基础之 XXE
  • AI:137-基于深度学习的实时交通违法行为检测与记录
  • 【深度学习笔记】3_14 正向传播、反向传播和计算图
  • Jenkins详解
  • Java8 Stream API 详解:流式编程进行数据处理
  • 【机器学习】特征选择之过滤式特征选择法
  • C#_扩展方法
  • LeetCode 热题 100 | 二叉树(一)
  • k8s之nodelocaldns与CoreDNS组件
  • Java中的访问修饰符
  • 【论文解读】transformer小目标检测综述
  • springboot215基于springboot技术的美食烹饪互动平台的设计与实现
  • Rust核心:【所有权】相关知识点
  • 单片机05__串口USART通信__按键控制向上位机传输字符串
  • 实习日志30
  • 【MySQL】探索表结构、数据类型和基本操作
  • 解决采集时使用selenium被屏蔽的办法
  • stream流-> 判定 + 过滤 + 收集
  • 人工智能在测绘行业的应用与挑战
  • 四、分类算法 - 随机森林
  • pytorch -- DataLoader
  • 【MySQL面试复习】索引创建的原则有哪些?
  • 四种主流的prompt框架
  • Educational Codeforces Round 160 (Rated for Div. 2) E. Matrix Problem(费用流)