打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
树莓派用服务方式设置开机启动 | 树莓派实验室


最近有个项目利用树莓派来完成,主要是在树莓派上用python写了个脚本来处理一些信息与逻辑。这边就遇到一个问题,即设置该脚本在开机的时候自动运行,而不是需要人登陆到树莓派上在执行这个程序,这样太麻烦了,顶多在实验室玩玩,拿不出去。本文主要讲诉设置该python脚本在树莓派上自动运行。

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/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"

二 开机启动脚本

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/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

三 设置python脚本开机启动

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

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

1
2
sudo service ledblink start#启动
sudo service ledblink stop#停止

最后设置开机启动就好了

1
sudo update-rc.d ledblink defaults

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

参考: Run a script on start up

原文链接

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
gpio引脚介绍 树莓派3b
树莓派程序开机自启动方法总结
树莓派新手入门教程
树莓派 python 百度语音控制 gpio 控制开关灯 | | URl
树莓派raspberry使用spi接口oled显示屏:基于python和c | Blog of Embbnux
树莓派实现温度监控并控制风扇散热 | 树莓派实验室
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服