最近有个项目利用树莓派来完成,主要是在树莓派上用python写了个脚本来处理一些信息与逻辑。这边就遇到一个问题,即设置该脚本在开机的时候自动运行,而不是需要人登陆到树莓派上在执行这个程序,这样太麻烦了,顶多在实验室玩玩,拿不出去。本文主要讲诉设置该python脚本在树莓派上自动运行。
个人原创,版权所有,转载请注明原文出处,并保留原文链接:
一、首先写个简单的python 脚本
脚本很简单,就是树莓派上一个灯闪烁程序,需要学gpio可以看我之前的博客
文件保存在/home/pi/script/ledblink.py
#!/usr/bin/env python
from gpiozero import LED
from time import sleep
led = LED(21) # GPIO 21
while True:
try:
led.on()
sleep(1)
led.off()
sleep(1)
except (KeyboardInterrupt, SystemExit):
led.off()
print("led exit")
break
二 开机启动脚本
保存以下代码为 /etc/systemd/system/ledblink.service 文件
[Unit]
Description=LED blink service
after=network.target
[Service]
ExecStart=/usr/bin/python3 -u /home/pi/script/ledblink.py
WorkingDirectory=/home/pi/script
StandardOutput=inherit
StandardOutput=inherit
Restart=always
User=pi
[Install]
WantedBy=multi-user.target
三 设置python脚本开机启动
sudo systemctl daemon-reload
这样启动该脚本用service 命令就可以
sudo service ledblink start#启动
sudo service ledblink stop#停止
最后设置开机启动就好了
sudo systemctl enable ledblink.service
禁止开机启动:
sudo systemctl disable ledblink.service
这样就完工了,重启树莓派就会发现led自己闪烁了,停止用sudo service ledblink stop就行