一、问题:E: 无法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不可用)
E: 无法获取 dpkg 前端锁 (/var/lib/dpkg/lock-frontend),是否有其他进程正占用它?
1、sudo rm /var/lib/dpkg/lock-frontend
2、sudo rm /var/cache/apt/archives/lock
3、sudo rm /var/lib/dpkg/lock
二、问题:升级/安装cmake,cmake2.8升级到cmake-3.9.2版本
之前安装了3.10,这个时候需要卸载旧版本
1、下载cmake
wget https://cmake.org/files/v3.9/cmake-3.9.2.tar.gz
2、解压文件
tar zxvf cmake-3.9.2.tar.gz
3、./configure
4、sudo make
5、sudo make install
6、cmake --version
如果查看版本出现:CMake Error: Could not find CMAKE_ROOT !!! CMake has most likely not been installed correctly. Modules directory not found in /usr/local/share/cmake-3.10 cmake version 3.10.2 CMake suite maintained and supported by Kitware (kitware.com/cmake).
【注】安装完后,执行cmake --version会报如下错误
CMake Error: Could not find CMAKE_ROOT !!!
CMake has most likely not been installed correctly.
Modules directory not found in
/Applications/CMake 2.8-11.app/Contents/bin
CMake Error: Error executing cmake::LoadCache(). Aborting.
【解决方法】
先执行:hash -r
然后再执行:cmake --version
三、获取&安装工具链
地址:https://docs.espressif.com/projects/esp8266-rtos-sdk/en/latest/get-started/linux-setup.html
四、获取SDK
地址:https://docs.espressif.com/projects/esp8266-rtos-sdk/en/latest/get-started/index.html
五、问题:串口权限不足
serial.serialutil.SerialException: [Errno 13] could not open port /dev/ttyUSB0: [Errno 13] Permission denied: ‘/dev/ttyUSB0’
/home/book/esp8266/ESP8266_RTOS_SDK/components/esptool_py/Makefile.projbuild:75: recipe for target ‘flash’ failed
make: *** [flash] Error 1
解决办法: 临时设置权限,book是ubuntu登录的用户名
sudo usermod -a -G dialout book
sudo chmod 777 /dev/ttyUSB0
六、编译下载提示不能打开usb,是因为权限不够
解决:ubuntu永久修改USB串口权限。
在终端执行如下指令:lsusb
//查看当前的设备,不清楚自己设备的可以通过插拔对比来获取,可以看到我这里多了
Bus 001 Device 008
找出对应的idVendor及idProduct一会用。
这里有个方法不用在下面一堆东西里找,注意看上面图片中这一行:
ID后面的0403就是idVendor,6001就是idProduct,把他们记下来。
另一种比较麻烦的方法是 lsusb -vvv查看详细列表,找对应的idVendor及idProduct。
sudo gedit /etc/udev/rules.d/50-myusb.rules
//新建一个规则,并填入如下语句
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", GROUP="users", MODE="0777",SYMLINK+="esp_base"
MODE数值代表权限,SYMLINK表示把你的/dev/usb0设备改名为/dev/esp_base。
sudo udevadm control --reload
//加载规则
//之后重启你的电脑!!
//设置完成
ls -al /dev/esp_base
//检查一下有没有设置成功,如下图
权限已经全开了。
机器人程序调用的端口页要记得对应修改一下。
七、自己新建的驱动文件存放位置
至此,搭建ESP8266—RTOS-SDK在Linux下的环境已经完成,希望对刚学或者想学的小伙伴有帮助。有不足的地方还望在评论区帮忙指正。