我是用的树莓派通过IIC协议连接一块oled屏幕显示时间,cpu温度,ip地址,里面需要用一个luma的库。然后之后配置这个开机自启动总是无法让这个屏幕自动点亮。所以修了一段时间,把经验分享一下。
注意:平时在终端中用的环境跟在rc-local中用的库有很大区别。所以不要以为在base下pip安装了库就能够正常运行
首先输入sudo nano /etc/rc.local进入配置文件
然后输入以下代码(第一次打开可能是空的)
#!/bin/sh -e
/home/psw/miniconda3/envs/oled/bin/python3 /home/psw/py/oled2.py & # 使用环境中的 Python
#sudo python /home/psw/py/oled2.py & #如果环境中不需要什么库直接就能运行就用这个命令
# 需要注意把文件的位置改为自己文件的位置
exit 0
这里面那个&表明在后台保持运行。
然后exit 0一定不要忘了打
这其中如果直接使用sudo python /home……的话,日志中会有如下提示
日志的调取命令是:
sudo systemctl status rc-local
表明这个文件缺少一个库,这时候得在执行这个python命令的时候指定函数的环境。
指定环境:
在终端中输入
conda env list
告诉你这些环境位置的时候,需要手动补全具体到这个python3的地址,比如我要调用oled这个环境
/home/psw/miniconda3/envs/oled/bin/python3
所以这就是为什么上文中粘贴代码的时候要在前面加上这么一大串了。(最好使用绝对地址,而不是用相对地址。)