本帖最后由 沧海笑1122 于 2021-8-17 23:07 编辑
M5以及esp32的arduino ide 开发板管理器使用问题处理
【问题的提出】 目前在arduino ide 下开发板管理器的使用中,存在访问不畅、json文件读取失败,开发板不能建立、维护和更新等问题。 本文尝试用离线下载的方式,加上本地HFS(http file server)来解决这一问题。 前提条件是:开发板管理所需要的文件,您能够通过各种合法有效方式下载到本地硬盘。 本文适用:m5stack以及esp32的安装,亲测可用,操作系统为win7/win10以及ubuntu 20.04. 实际上,所有类似因网络访问不畅造成的开发板管理器使用不成功的问题,都可以用本思路去解决。 正常两个系列开发板的的arduino ide 链接是: 如果您的安装没有问题,就不用往下看了。
【借鉴及感谢】 本文借鉴了这两篇教程,在此向作者致谢。
【解决的过程】 一、问题的分析及解决思路 arduino ide 下开发板管理器是通过在首选项中,一个json文件,来获取开发板所需要的各类支持性文件,里面包含了各版本对应的支持性文件链接。这个json文件就是整个安装工作的路书、导航图。 实际使用中,在这些链接里,就可能存在一些访问不畅的内容,因而造成IDE的开发板管理器在安装过程中受阻、终止。 网上有非常多的方法去解决这一问题,社区也提供了离线安装包。 本文的解决思路就是在前面两篇帖文的指导下,一是将访问受阻的文件用各种合法有效方法下载到本地,二是修改安装配置json文件;三是利用HFS(httpfile server),建立一个本地http文件访问,使得ide的开发板管理器从本地直接读取已经准备好的支持性文件。 二、在win下,esp32的开发板管理问题解决
在本地硬盘,建立一个目录,目录必须是英文,比如:d:\esp32,将这两个红框文件下载到该目录下。 对于win而言,我们一共需要下载这样四个文件: Step3:安装hfs 服务器,这是一个优秀的绿色软件,免费、免安装。 下载后,解压在一个工作目录,然后打开运行,程序会建立一个本地http文件服务。并且自动将本机的局域网IP地址用于服务器地址,你可以制定一个端口,比如8080
将你刚才建立的d:\esp32目录整个upload上来,我选择的是虚拟目录方式。 此刻一个本地局域网的http file服务就建立了。
Step4:修改json文件,这一步非常重要,就是把指向github上的json文件修改为指向本地路径的“导航图”。 比如: 下载了几个文件,就需要修改几处。 改完以后存盘,记得再upload更新一下这个json文件。
打开开发板管理器,搜索esp32,选择1.0.6版,安装,一切顺利。 我已经安装完了,所以指一下位置即可。
至此,此问题得以顺利解决。
三、在win下,m5stack的开发板管理问题解决 关于M5stack管理器,大部分小伙伴不存在问题,因为m5stack将支持性文件大部分放在访问顺畅的服务器上。我这边只有一个文件访问不到,那就是github的链接。 那么解决问题的思路也是一样,只是要简单一些。所以思路同上: step1:将访问不到的文件下载到d:\temp\目录下。 Step2:将该目录upload到hfs服务器上 Step3:修改json文件 需要修改的内容只有一处,然后存盘、更新json的上传(本地hfs) Step4:将json文件添加到管理器网址(附加开发板)里: 后面的安装就一样了,选择最新的1.0.7版,然后点击安装即可。 至此,问题解决。
四、关于ubuntu下的解决 ubuntu下arduino ide的编译速度比win提速很多,得益于其文件管理系统、更友好的gcc支持以及对编译中间文件的充分运用。 有文章建议,ubuntu下面可以用wine+hfs安装服务,hfs官网也很明确说,这个exe是支持wine的。我觉得这个思路也很好,但因为我在解决win的问题时,已经有一台安装了hfs的pc,所以就不需要再ubuntu下面再装一个了。 那么ubuntu下面就简单了,刚才截图中已经显示了,我把linux64的支持文件也已经下载,放在了hfs上面,
所以ubuntu上面,只有一个步骤: Step:只需要把开发板管理的json链接放在首选项就可以了。然后正常安装即可。 注意,这台ubuntu机器要和hfs在同一个局域网下。一定要注意这点。 Mark一下:ubuntu编译时,如果遇到以下错误: “exec: ”python": executable file not found in $PATH 原因就是ubuntu 20.0.4 的python3与arduino的python之间需要做一个映射。 - sudo ln -s /usr/bin/python3 /usr/bin/python
复制代码
至此,问题得到解决。 大家可以充分享受ubuntu下面的提速了。玩得开心些。 沧海抱拳。
|