3341| 0
|
[入门教程] MacOS下Arduino IDE配置FireBeetle ESP32开发环境遇到的一系列问题 |
2020年3月28日 作者:zhou_yinan 注:系统是macOS Catalina 10.15.3 1. 无法下载json 解决方案:更换网址。 原文中https://git.oschina.net/dfrobot/FireBeetle-ESP32/raw/master/package_esp32_index.json 这个链接已失效,找到官网下载链接http://download3.dfrobot.com.cn/FireBeetle/package_esp32_index.json 来代替,输入首选项中的开发板网址。 2.编译失败, import serial ImportError: No module named serial exit status 1 解决方案:在正确路径下安装pyserial。 1)在终端中使用 pip3 install pyserial 命令后尝试再次编译(如果成功就跳过,如果还是编译失败就继续) 2)这就很奇怪了,因为明明已经安装过pyserial了。我在系统中查找了pyserial的位置,发现它在python3.7的目录下;但是编译错误信息中显示电脑在/usr/bin/python中没有找到;那么/usr/bin/python对应的python是哪个呢?在终端中输入/usr/bin/python检查了一下,跳出来的赫然是python2.7,真相大白了。 2.5)先把系统里的python默认为python3.7,参考该网站:https://www.jb51.net/article/143735.htm (这一步是我在最之前做的,看到这里,还没有安装python新版的同学,我建议你先安装一下,无论什么版本,只要把对应python3.7改成你下载的版本号代入就可以了。) (1)修改 .bash_profile文件
按esc键 然后敲入 :wq 进行退出 (2)修改 bashrc文件
按esc键 然后敲入 :wq 进行退出 (3)使得修改的 bash_profile文件 和 bashrc文件 生效
(4)然后查看当前python版本, python -V 3)因为我安装了新的python3.7.6,pyserial安装在python3.7.6下,但是系统默认的python2.7仍然没有serial。所以esptool.py里面要import serial的时候,在usr/bin/python里面(也就是python2.7)里面找,找不到serial。 要检查自己电脑里的/usr/bin/python指向哪个版本的python只有在终端里输入“/usr/bin/python”就可以了。 因此现在要做的是把/usr/bin/python变成指向python3.7 如果你的系统版本较低,可以直接在终端使用以下命令:(参考https://blog.csdn.net/freewebsys/article/details/104420010 ) rm -f /usr/bin/python ln -s /Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7 /usr/bin/python 4)但是对于我新更新的Catalina系统版本来说,我没有权限更改。查阅资料得知新更新后有rootless机制,即使在root权限下也不能所以读写某些特定路径的文件。平时开启是有好处的,但现在显然需要暂时关闭它。 开启与关闭的方法参考https://blog.csdn.net/qq_28869927/article/details/83058386 关闭Rootless:重启电脑,按住Command+R进入恢复模式,点击上方的实用工具菜单开启Terminal,输入csrutil disable后重启电脑即可。 打开Rootless:同样进入恢复模式,输入csrutil enable后重启电脑。 5)关闭rootless(也简称SIP)后,重启电脑。 现在更改还是会被拒绝,参考https://blog.csdn.net/Mr_BJL/article/details/102780325 在终端中输入sudo mount -uw /来暂时获得权限,这个权限会在电脑重启后消失。 现在在终端中输入: sudo rm -f /usr/bin/python sudo ln -s /Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7 /usr/bin/python (python3.7的路径可以在终端中输入 which python3.7得到) 操作完了之后在终端中输入/usr/bin/python检查一下,没错的话现在它指向的是python3.7.6 既然改完了,现在是时候重启电脑进入恢复模式,打开rootless。然后在重启正常打开电脑。 6)现在再回去Arduino编译,编译成功了! 3.上传出错:A fatal error occurred: Invalid head of packet (0xE0) 错误原因:开发板烧录波特率115200,但是软件上烧录默认选择921600,修改波特率为115200即可。 终于搞定了! |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed