手把手教你:启动时在Raspberry Pi 运行一个程序(树莓派的自启动)

    技术2022-07-10  134

    手把手教你:启动时在Raspberry Pi 运行一个程序(树莓派的自启动)

    背景参考网站具体步骤操作示例图结语

    背景

    (1)树莓派3B+ (2)系统版本为buster (3)python文件:self-starting.py放在/home/pi/Documents/python 文件夹下,具体内容如下:

    #!/usr/bin/python3 import RPi.GPIO as GPIO import time time.sleep(10) GPIO.setmode(GPIO.BCM) GPIO.setup(24,GPIO.OUT) GPIO.output(24,True) time.sleep(3) GPIO.output(24,False) GPIO.cleanup()

    注:代码开头的#!/usr/bin/python3记得加上,它指明了执行这个脚本文件的解释程序

    参考网站

    https://www.dexterindustries.com/howto/run-a-program-on-your-raspberry-pi-at-startup/ 我使用的是其中的第三个方法

    具体步骤

    在启动时在Raspberry Pi上运行程序的第三种方法是将程序(在启动时运行)添加到/etc/init.中d目录。这个目录包含在引导过程中启动的脚本(另外,当您关闭或重新启动系统时,这里的所有程序都将执行)。 (1)将启动时运行的程序添加到init.d目录使用以下命令行:

    sudo cp /home/pi/Documents/python/self-starting.py /etc/init.d/

    (2)移动到init目录并打开示例脚本

    cd /etc/init.d sudo nano self-starting.py

    (3)将以下代码行添加到示例脚本中,使其成为Linux标准基(LSB)(软件系统结构的标准,包括Linux操作系统中使用的文件系统层次结构)init脚本。

    # /etc/init.d/self-starting.py ### BEGIN INIT INFO # Provides: self-starting.py # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start daemon at boot time # Description: Enable service provided by daemon. ### END INIT INFO

    以上代码加入self-starting.py之后,如下图所示: (4)通过更改init目录中的示例脚本的权限,使其可执行。

    sudo chmod +x self-starting.py

    (5)运行这个命令:

    sudo update-rc.d self-starting.py defaults

    (6)现在重新启动

    sudo reboot

    操作示例图

    结语

    之所以会写这个教程是因为我在网上找了许多教程,效果都没有呈现出来,现在我把我的经验写在这里,是想大家不要踩坑。如果教程存在什么问题和错误,欢迎大家指正。

    Processed: 0.017, SQL: 12