树莓派能直接运行python程序_树莓派上配置一个开机自启动的python程序实例

需求

树莓派再省电,到了60mA估计也到头了。相比uA级别的单片机来说,树莓派就是电老虎。因此,在不需要树莓派工作的时候,就给树莓派彻底断电。

当需要树莓派工作的时候,给她上电,让她自动启动一个python程序,处理完成后再关机,被断电。

因此,需要设置一个可以上电开机后自动启动的python程序。

查询资料

查询关键词:树莓派 开机启动程序;开机自动启动程序

似乎有多种方法可以实现开机自启动程序。有的是自动启动bash脚本,有的是启动python程序。

下面是主要参考的文章:几种设置树莓派开机自启的方法_嵌入式技术在路上-CSDN博客_树莓派开机自启动​blog.csdn.net树莓派开机程序自启动的2种方案!_欢迎来到小木虫1314的博客-CSDN博客_树莓派开机启动​blog.csdn.net

测试条件

硬件 raspberry pi zero W V1.1

软件:采用官网raspberry pi imagerV1.3烧写的Raspberry PI OS(32 bit)

测试时间:2020/07/15

实现方法

看到上面的文章有这样一句话:用rc.local或桌面应用的方法操作比较简单,但是效果并不好,而通过服务配置的方式,效果良好。

还是决定采用服务配置的方式自动启动。详细步骤如下:

1,编写自己要开机启动的python程序,例如你的python程序名字为:yourpythonprogram.py。

2,然后执行 sudo chmod +x yourpythonprogram.py命令赋予操作权限。

3,编辑无后缀的bash文件yourautostart,并且将该文件放在/etc/init.d 目录下。例子如下:

#!/bin/bash

### BEGIN INIT INFO

# Provides: yourautostart

# Required-Start: $remote_fs

# Required-Stop: $remote_fs

# Default-Start: 2 3 4 5

# Default-Stop: 0 1 6

# Short-Description: Auto Start Test

# Descrption: This service is used to test auto start service

### END INIT INFO

case "$1" in

start):

echo "Stat"

nohup /usr/bin/python3 /home/pi/yourpythonprogram.py &

;;

stop):

echo "Stop"

#killall singlepic2baiduyun.py

echo "Usage: service start_tool start|stop"

exit 1

;;

esac

exit 0

4,给予刚次你建立的bash文件执行权限:sudo chmod +x yourautostart 。

4,执行sudo update-rc.d yourautostart defaults 将该服务添加到自启动项。

注意:

1,你编写python程序时候,可能需要安装的包或者程序。切记采用安装的时候用sudo获取全局权限,免得后续启动程序因为权限或者依赖关系导致运行不起来。

2,开机要启动的python程序,开头最好添加一个延时语句,如sleep(20),等待其他启动程序运行完成,防止你的程序依赖其他启动程序的功能,导致你的程序启动失败。

3,bash文件中,启动服务的那个语句最后面有个&,不要忘记添加。

4,运气不好就要再去查查具体的问题了。有的时候需要试2次,如果同样的结果再去换其他方法。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值