【原创】使用本地 HTTP 服务器安装8266编译环境-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3910|回复: 3

【原创】使用本地 HTTP 服务器安装8266编译环境

[复制链接]
发表于 2020-4-10 04:06 | 显示全部楼层 |阅读模式
本帖最后由 t3486784401 于 2020-4-10 04:15 编辑

今天折腾 8266 的开发环境(Win10,Arduino 1.8.3),发现未开启科学上网会有令人发指不稳定(下载不动)。
搜索了站内前辈的帖子,基本都是 ①科学上网;②安装EXE包 之类的解决方法,兼容性相较网络不受限都有逊色。

经研究,原创一套本地 HTTP 服务器的方式实现安装,测试成功,特来分享。
目测与本地 github 原理相似,过程不需要解锁网络限制。

【目的】
解决 Arduino IDE 开发板管理器 安装编译工具包(以8266为例)不稳定的问题,过程不需解锁网络限制。

【原理】
搭建一套本地 HTTP 服务器,将 json 文件、大尺寸 zip 文件都映射到本地地址,实现快速、稳定安装。

【科普】
对于熟悉 HTTP 服务器并且手头已有这类软件的大师,可直接跳过本段内容。

稍微介绍下 HTTP 服务器功能及原理(自行理解,不妥欢迎指正):
有一类软件,可以将电脑目录(例如D:\TEMP)映射为一个网站的网页,
局域网内的电脑(也包括运行软件电脑自身)在浏览器(例如IE)中输入这个网页的地址,即可访问该目录和文件。

这类软件称作 HTTP 服务器,我使用的是 HttpFileServer,官网下载地址:https://www.rejetto.com/hfs/?f=dl
使用 HTTP 服务器,可将本机的文件虚拟成网址的样子,以本机 IP 地址作为访问网址,形如:http://192.168.1.50/yyy.zip

【操作】
1. 按照标准的第三方支持库的方式,在 Arduino IDE “附加开发板管理器网址”当中填入 json 链接地址,
   并在开发板管理器当中安装需要的包。

2. 安装因下载过慢而失败,在 C:\Users\Administrator\AppData\Local\Arduino15 将刚安装的 json 文件考出供修改。
   以我8266为例,是:package_esp8266com_index.json,我考出去后进行了重命名避免混淆。

3. 分析该 json 文件中下载失败的大 zip 包地址,直接用迅雷百度盘把这些大玩意统统下下来。
   以我8266为例,分别是:
   esp8266-2.6.3.zip(32MB)、
   i686-w64-mingw32.xtensa-lx106-elf-b40a506.1563313032.zip(42MB)
   下下来后,可以用工具计算 SHA256,与 json 文件比对确保无误。

4. 将上述 json 文件、超大 zip 文件都用 HTTP 服务器虚拟成本地网址的样子,并在 json 文件中修改各个 url 指向本地。
   设置好本地 HTTP 服务器以后,用 IE 浏览器获得了这些文件的本地地址:
2020-04-10_023359.png

   在另存的 json 文件中,更新这些 zip 压缩包的 url,都换成本地地址:
2020-04-10_023453.png


5. 重复步骤 1,但是“附加开发板管理器网址”中 json 文件连接换成本地 HTTP 虚拟的那一份,
即强制指向本地zip包进行下载(秒传),避免原版的 json 去加载 github 包造成安装失败。

【后记】
经过上述步骤,下载安装包一步将有秒传的速度,瞬间完成并执行后续的安装工作。
2020-04-10_024325.png

至此 8266 编译包成功安装,实测切换开发版、编译代码、导出BIN可执行文件都工作正常。
最后把“附加开发板管理器网址”一栏再改回 github 原来的链接,避免本地 HTTP 服务器关闭后失效。

-------------------------------------------------------------------------------------------------------------

以上,使用本地 HTTP 服务器的方式安装了 8266 编译环境包,验证了使用离线压缩包+HTTP服务器安装开发板的可行性。
在无法科学上网时,不失为一套高效、稳定的安装方案,安装效果与网络不受限一样。

最后祝大家折腾愉快!





 楼主| 发表于 2020-4-20 11:41 | 显示全部楼层
gch1 发表于 2020-4-20 09:57
科学上网=翻墙?

笑而不语: )
发表于 2020-4-10 04:34 | 显示全部楼层
好资料,学习了
发表于 2020-4-20 09:57 | 显示全部楼层
科学上网=翻墙?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 11:48 , Processed in 0.115371 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表