草庐IT

在arduino IDE上搭建ESP32环境(解决JSON下载失败和下载速度慢的问题)

你的幻境 2023-04-20 原文

正常情况下需要在arduino IDE上搭建ESP32环境的操作是:

一、在设置中的"附加开发管理器网址"中加入JSON文件的网址,比如当前最新版本的Arduino ESP32 Version 2.0.4的JSON的地址为:

https://github.com/espressif/arduino-esp32/releases/download/2.0.4/package_esp32_index.json

这个网址可以在项目:https://github.com/espressif/arduino-esp32里找到,如图的最新稳定版本

 找到

 可以直接右键复制该链接

二、选择工具=》开发板=》开发板管理器,在搜索框中输入ESP32,找到对应的包点击安装就可以了。

但是,当IDE在下载"附加开发管理器网址"中设置的网址下载对应的JSON文件时,由于这个文件来源大多是github的服务器,下载大多数情况下会失败,就算该文件下载成功,在后续下载包的过程也大多是缓慢或失败。就算用下载工具去直接下载安装包,再用离线的方式安装,但是如果因为版本更新,有可以造成下载的包不一定是最新或错误的包。同时下载包的过程也是比较漫长的。

所以,最好的办法还是使用github.com的镜像站来加速下载。

一、首先,用搜索引擎找到一个好用的镜像站,当然了,搜索到的镜像站质量参差不齐。这里提供一些当前还能用的,如果质量不满意只能自已去搜索一些质量比较好的镜像了

        https://hub.0z.gs

        https://hub.fastgit.org        

        https://cdn.githubjs.cf

二、把之前的JSON文件地址改为镜像地址:

https://github.com/espressif/arduino-esp32/releases/download/2.0.4/package_esp32_index.json

改为

https://hub.0z.gs/espressif/arduino-esp32/releases/download/2.0.4/package_esp32_index.json

正常来说原地址和镜像地址的主域名会有区别,后面的路径是一样的。这个时候,如果镜像地址没有问题,就可以正常下载到JSON文件。

三、但是下载到这个文件,并不代表就能正常下载包文件了,因为JSON文件的内容是保存了所有包的地址,里面的地址并非为镜像地址。所以还要对这个已经下载的JSON文件进行修改。因为每次使用开发板管理器时会重新下载这个JSON文件,会造成改动过的JSON文件被覆盖,所以以下的操作比较重要,首先,打开开发板管理器,如果IDE里没有出现下载错误的提示,同时可以搜索到由Espressif Systems用户开发的ESP32开发环境,如图:

 此时,不要点击安装,也不要关闭"开发板管理器",找到下载的JSON文件进行修改。

这个文件在WIN10系统下会被下载到:C:\Users\Administrator\AppData\Local\Arduino15文件夹,如果系统不同,路径也会不同,这时可以打开 文件=》首选项 ,点击如图所示的路径

 用记事本或其它文本编辑工具打开该JSON文件(注意并非打开图中所指的文件),把里面的网址用替换功能把地址内容:https://github.com全部替换为镜像地址如:https://hub.0z.gs

替换完成后保存一下,回到还未关闭的"开发板管理器",点击安装,如果镜像地址没问题,就能快速地安装好ESP32环境。如果下载还是过于缓慢,可以试着另外找一个质量比较好的镜像地址。

有关在arduino IDE上搭建ESP32环境(解决JSON下载失败和下载速度慢的问题)的更多相关文章

  1. ruby - 如何使用 Ruby aws/s3 Gem 生成安全 URL 以从 s3 下载文件 - 2

    我正在编写一个小脚本来定位aws存储桶中的特定文件,并创建一个临时验证的url以发送给同事。(理想情况下,这将创建类似于在控制台上右键单击存储桶中的文件并复制链接地址的结果)。我研究过回形针,它似乎不符合这个标准,但我可能只是不知道它的全部功能。我尝试了以下方法:defauthenticated_url(file_name,bucket)AWS::S3::S3Object.url_for(file_name,bucket,:secure=>true,:expires=>20*60)end产生这种类型的结果:...-1.amazonaws.com/file_path/file.zip.A

  2. ruby-on-rails - Rails HTML 请求渲染 JSON - 2

    在我的Controller中,我通过以下方式在我的index方法中支持HTML和JSON:respond_todo|format|format.htmlformat.json{renderjson:@user}end在浏览器中拉起它时,它会自然地以HTML呈现。但是,当我对/user资源进行内容类型为application/json的curl调用时(因为它是索引方法),我仍然将HTML作为响应。如何获取JSON作为响应?我还需要说明什么? 最佳答案 您应该将.json附加到请求的url,提供的格式在routes.rb的路径中定义。这

  3. ruby - 即使失败也继续进行多主机测试 - 2

    我已经构建了一些serverspec代码来在多个主机上运行一组测试。问题是当任何测试失败时,测试会在当前主机停止。即使测试失败,我也希望它继续在所有主机上运行。Rakefile:namespace:specdotask:all=>hosts.map{|h|'spec:'+h.split('.')[0]}hosts.eachdo|host|begindesc"Runserverspecto#{host}"RSpec::Core::RakeTask.new(host)do|t|ENV['TARGET_HOST']=hostt.pattern="spec/cfengine3/*_spec.r

  4. ruby - 安装 Ruby 时遇到问题(无法下载资源 "readline--patch") - 2

    当我尝试安装Ruby时遇到此错误。我试过查看this和this但无济于事➜~brewinstallrubyWarning:YouareusingOSX10.12.Wedonotprovidesupportforthispre-releaseversion.Youmayencounterbuildfailuresorotherbreakages.Pleasecreatepull-requestsinsteadoffilingissues.==>Installingdependenciesforruby:readline,libyaml,makedepend==>Installingrub

  5. ruby-on-rails - 如何使用 Rack 接收 JSON 对象 - 2

    我有一个非常简单的RubyRack服务器,例如:app=Proc.newdo|env|req=Rack::Request.new(env).paramspreq.inspect[200,{'Content-Type'=>'text/plain'},['Somebody']]endRack::Handler::Thin.run(app,:Port=>4001,:threaded=>true)每当我使用JSON对象向服务器发送POSTHTTP请求时:{"session":{"accountId":String,"callId":String,"from":Object,"headers":

  6. Unity 热更新技术 | (三) Lua语言基本介绍及下载安装 - 2

    ?博客主页:https://xiaoy.blog.csdn.net?本文由呆呆敲代码的小Y原创,首发于CSDN??学习专栏推荐:Unity系统学习专栏?游戏制作专栏推荐:游戏制作?Unity实战100例专栏推荐:Unity实战100例教程?欢迎点赞?收藏⭐留言?如有错误敬请指正!?未来很长,值得我们全力奔赴更美好的生活✨------------------❤️分割线❤️-------------------------

  7. ruby-on-rails - 创建 ruby​​ 数据库时惰性符号绑定(bind)失败 - 2

    我正在尝试在Rails上安装ruby​​,到目前为止一切都已安装,但是当我尝试使用rakedb:create创建数据库时,我收到一个奇怪的错误:dyld:lazysymbolbindingfailed:Symbolnotfound:_mysql_get_client_infoReferencedfrom:/Library/Ruby/Gems/1.8/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundleExpectedin:flatnamespacedyld:Symbolnotfound:_mysql_get_client_infoReferencedf

  8. STM32读取串口传感器数据(颗粒物传感器,主动上传) - 2

    文章目录1.开发板选择*用到的资源2.串口通信(个人理解)3.代码分析(注释比较详细)1.主函数2.串口1配置3.串口2配置以及中断函数4.注意问题5.源码链接1.开发板选择我用的是STM32F103RCT6的板子,不过代码大概在F103系列的板子上都可以运行,我试过在野火103的霸道板上也可以,主要看一下串口对应的引脚一不一样就行了,不一样的就更改一下。*用到的资源keil5软件这里用到了两个串口资源,采集数据一个,串口通信一个,板子对应引脚如下:串口1,TX:PA9,RX:PA10串口2,TX:PA2,RX:PA32.串口通信(个人理解)我就从串口采集传感器数据这个过程说一下我自己的理解,

  9. ruby - 正则表达式在哪个位置失败? - 2

    我需要一个非常简单的字符串验证器来显示第一个符号与所需格式不对应的位置。我想使用正则表达式,但在这种情况下,我必须找到与表达式相对应的字符串停止的位置,但我找不到可以做到这一点的方法。(这一定是一种相当简单的方法……也许没有?)例如,如果我有正则表达式:/^Q+E+R+$/带字符串:"QQQQEEE2ER"期望的结果应该是7 最佳答案 一个想法:你可以做的是标记你的模式并用可选的嵌套捕获组编写它:^(Q+(E+(R+($)?)?)?)?然后你只需要计算你获得的捕获组的数量就可以知道正则表达式引擎在模式中停止的位置,你可以确定匹配结束

  10. ruby - 用 YAML.load 解析 json 安全吗? - 2

    我正在使用ruby2.1.0我有一个json文件。例如:test.json{"item":[{"apple":1},{"banana":2}]}用YAML.load加载这个文件安全吗?YAML.load(File.read('test.json'))我正在尝试加载一个json或yaml格式的文件。 最佳答案 YAML可以加载JSONYAML.load('{"something":"test","other":4}')=>{"something"=>"test","other"=>4}JSON将无法加载YAML。JSON.load("

随机推荐