千家信息网

树莓派怎么用服务方式设置开机启动

发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,这篇文章将为大家详细讲解有关树莓派怎么用服务方式设置开机启动,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一、首先写个简单的python 脚本脚本很简
千家信息网最后更新 2024年11月11日树莓派怎么用服务方式设置开机启动

这篇文章将为大家详细讲解有关树莓派怎么用服务方式设置开机启动,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

一、首先写个简单的python 脚本
脚本很简单,就是树莓派上一个灯闪烁程序,需要学gpio可以看我之前的博客
文件保存在/home/pi/script/ledblink.py

  1. #!/usr/bin/env python

  2. import RPi.GPIO as GPIO

  3. import time

  4. GPIO.setmode(GPIO.BCM)

  5. GPIO.setup(21,GPIO.OUT)

  6. while True:

  7. try:

  8. GPIO.output(21,True)

  9. time.sleep(1)

  10. GPIO.output(21,False)

  11. time.sleep(1)

  12. except (KeyboardInterrupt, SystemExit):

  13. GPIO.close()

  14. print "exit"

启动脚本可以是python,可以是shell,也可以是C语言C++编译的可执行文件。

二 、开机启动脚本
保存脚本为/etc/init.d/ledblink文件

  1. #!/bin/bash

  2. # /etc/init.d/ledblink

  3. ### BEGIN INIT INFO

  4. # Provides: embbnux

  5. # Required-Start: $remote_fs $syslog

  6. # Required-Stop: $remote_fs $syslog

  7. # Default-Start: 2 3 4 5

  8. # Default-Stop: 0 1 6

  9. # Short-Description: ledblink initscript

  10. # Description: This service is used to manage a led

  11. ### END INIT INFO

  12. case "$1" in

  13. start)

  14. echo "Starting LED Blink"

  15. /home/pi/script/ledblink.py &

  16. ;;

  17. stop)

  18. echo "Stopping ledblink"

  19. #killall ledblink.py

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

  21. ;;

  22. *)

  23. echo "Usage: service ledblink start|stop"

  24. exit 1

  25. ;;

  26. esac

  27. exit 0


三、设置python脚本开机启动

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


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

  1. sudo service ledblink start#启动

  2. sudo service ledblink stop#停止


最后设置开机启动就好了

  1. sudo update-rc.d ledblink defaults

这样就完工了,重启树莓派就会发现led自己闪烁了,停止用sudo service ledblink stop就行。

关于树莓派怎么用服务方式设置开机启动就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

0