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

2017/11/05 22:03
阅读数 4K

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

  1. #!/usr/bin/env python
  2.   
  3. import RPi.GPIO as GPIO
  4. import time
  5. GPIO.setmode(GPIO.BCM)
  6. GPIO.setup(21,GPIO.OUT)
  7. while True:
  8.   try:
  9.     GPIO.output(21,True)
  10.     time.sleep(1)
  11.     GPIO.output(21,False)
  12.     time.sleep(1)
  13.   except (KeyboardInterrupt, SystemExit):
  14.     GPIO.close()
  15.     print "exit"

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

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

  1. #!/bin/bash
  2. # /etc/init.d/ledblink
  3.   
  4. ### BEGIN INIT INFO
  5. # Provides: embbnux
  6. # Required-Start: $remote_fs $syslog
  7. # Required-Stop: $remote_fs $syslog
  8. # Default-Start: 2 3 4 5
  9. # Default-Stop: 0 1 6
  10. # Short-Description: ledblink initscript
  11. # Description: This service is used to manage a led
  12. ### END INIT INFO
  13.   
  14. case "$1" in
  15.     start)
  16.         echo "Starting LED Blink"
  17.         /home/pi/script/ledblink.py &
  18.         ;;
  19.     stop)
  20.         echo "Stopping ledblink"
  21.         #killall ledblink.py
  22.         kill $(ps aux | grep -m 1 'python /home/pi/script/ledblink.py' | awk '{ print $2 }')
  23.         ;;
  24.     *)
  25.         echo "Usage: service ledblink start|stop"
  26.         exit 1
  27.         ;;
  28. esac
  29. 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 评论
0 收藏
0
分享
返回顶部
顶部