1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 树莓派开机启动python文件_树莓派开机自启动Py文件

树莓派开机启动python文件_树莓派开机自启动Py文件

时间:2022-03-31 07:54:48

相关推荐

树莓派开机启动python文件_树莓派开机自启动Py文件

第一种办法先简单提一下,比较简单。但是不知道为什么我开机同时运行三个python脚本的时候就不能运行了。

输入命令:

sudo nano /etc/rc.local

1

在exit 0上一行输入:

python /home/pi/test.py

开机运行命令是python + (空格) + python脚本位置

或者打开这个文件来修改自启动,网上有很多方法都是新建一个脚本来完成的。由于我们是自启动python文件,所以命令会有不同。

如果你要执行的程序路径为 /home/pi/run.py。在rc.local文件里Exit 0 前加入

sudo /usr/bin/python /home/pi/run.py

这样就设置好了开机自启python脚本。

重启 sudo reboot

如果你是想要程序死循环不退出一直执行 那么你必须确保在命令的最后添加“&”符号让命令运行在其后台。

python /home/pi/myscript.py &

必须是绝对路径

这个时候怎么看我们的程序是否自启动了呢

sudo systemctl status rc-local

可以查看运行状态来判断我们的程序是否正确运行

第二种方法带桌面

在/home/pi/.config下创建一个文件夹,名称为autostart,并在该文件夹下创建一个xxx.desktop文件,文件内容如下:

[Desktop Entry]

Name=ScanTest

Comment=My Python Program

Exec=python /home/pi/ScanTest/Scan.py

Icon=/home/pi/ScanTest/Scan.png

Terminal=false

MultipleArgs=false

Type=Application

Categories=Application;Development;

StartupNotify=true

之后sudo reboot重启,就可以看到Scan.py在树莓派启动后也自动启动

Name、Comment、Icon 可以自定,表示启动项的名称、备注和图标。Exec 表示调用的指令,和在终端输入运行脚本的指令格式一致。如果你的树莓派没有png图标,那么就和我一样,找到python_game文件夹,那里有几个简单的图标可以现成拿来使用。

sudo reboot

3 方法3 doma化

1、首先写个简单的python 脚本

脚本很简单,就是树莓派上一个灯闪烁程序

文件保存在/home/pi/script/ledblink.py

#!/usr/bin/env python

import RPi.GPIO as GPIO

import time

GPIO.setmode(GPIO.BCM)

GPIO.setup(21,GPIO.OUT)

while True:

try:

GPIO.output(21,True)

time.sleep(1)

GPIO.output(21,False)

time.sleep(1)

except (KeyboardInterrupt, SystemExit):

GPIO.close()

print “exit”

2、开机启动脚本

保存脚本为/etc/init.d/ledblink文件

#!/bin/bash

#/etc/init.d/ledblink

###BEGIN INIT INFO

#Provides: embbnux

#Required-Start: $remote_fs $syslog

#Required-Stop: $remote_fs $syslog

#Default-Start: 2 3 4 5

#Default-Stop: 0 1 6

#Short-Description: ledblink initscript

#Description: This service is used to manage a led

###END INIT INFO

case “$1” in

start)

echo “Starting LED Blink”

/home/pi/script/ledblink.py &

;;

stop)

echo “Stopping ledblink”

#killall ledblink.py

kill $(ps aux | grep -m 1 ‘python /home/pi/script/ledblink.py’ | awk ‘{ print $2 }’)

;;

*)

echo “Usage: service ledblink start|stop”

exit 1

;;

esac

exit 0

3、 设置python脚本开机启动

sudo chmod +x /etc/init.d/ledblink

这样启动改脚本用service 命令就可以

sudo service ledblink start#启动

sudo service ledblink stop#停止

最后设置开机启动就好了

sudo update-rc.d ledblink defaults

这样就完工了,重启树莓派就会发现led自己闪烁了,停止用

sudo service ledblink stop

参考: Run a script on start up

方法四:

要在rc.local中启动python脚本,最好将python脚本Daemon化,

请参考这里:

/articles//02/a_simple_unix_linux_daemon_in_python/

我成功在rc.local中启动了daemon化后的python脚本。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。