【通用】树莓派系列产品设置开机自启程序指南

前言

如果您想将某个程序设置为开机自启程序,如:实现 TurboPi 开机自动舵机复位功能。
为了方便客户做开发使用,我们提供相关设置方法,本教程仅供拓展学习,具体使用效果以用户使用结果为准。

一、设置步骤

用 systemd 服务自启,去到自启文件目录 /etc/systemd/system/ 下创建一个自启文件,将所要开机自启动的程序放入自启文件中,即可开机自启动。

具体操作步骤:

步骤一:进入自启文件目录

去到自启文件目录 /etc/systemd/system/ 下:

cd /etc/systemd/system/
ls

在系统本地黑色终端执行。

步骤二:参考已有自启文件格式

打开已有的自启文件(后缀 .service 的文件),参考如何编辑自启文件。这里以 wifi 为例,输入命令行:

sudo vim hw_wifi.service

进入后界面如下图:
按下Esc,再输入“Shift键 + :” 再加上 “wq” 可以保存并退出,这是vim编辑器的保存退出操作方式。

步骤三:创建新的自启文件

在此路径下创建自启文件,输入命令行(xxx 为自己命名的文件名):

sudo touch xxxx.service

步骤四:编辑自启文件

再输入命令行,打开创建好的自启文件(此处以创建 RGB 灯闪烁的自启文件为例,我们将文件名命名为RGBControlDemo.service):

sudo vim RGBControlDemo.service

在文件中编辑程序(参考已编辑好的自启文件)。

按一下 Esc 键,然后按下 “Shift + :” 再输入":wq",保存退出。

通过观察我们发现,其实程序只需要修改三部分:

编号 修改位置 说明 示例
① Description 行 开启文件名(服务描述) Description=start RGBControlDemo
② ExecStart 行 所要执行的自启玩法的文件路径 /usr/bin/python3 /home/pi/Armpi/HiwonderSDK/RGBControlDemo.py
③ ExecStop 行 停止文件名(服务名) /bin/systemctl kill RGBControlDemo

步骤五:启用自启服务

编辑好自启文件程序后,输入命令行:

sudo systemctl enable RGBControlDemo.service

回车,即可启动自启文件。

步骤六:重启验证

然后输入命令行重启:

sudo reboot

即可实现开机玩法自启动。

二、系统服务常用命令行

功能 命令
开机启动 sudo systemctl enable RGBControlDemo.service
关闭开机启动 sudo systemctl disable RGBControlDemo.service
启动服务(本次开机有效) sudo systemctl start RGBControlDemo.service
停止服务(关闭已启动的文件) sudo systemctl stop RGBControlDemo.service
重启服务 sudo systemctl restart RGBControlDemo.service
查看服务状态 sudo systemctl status RGBControlDemo.service
结束服务进程 sudo systemctl kill RGBControlDemo.service

三、资源下载

:globe_with_meridians: 官方在线课程与资料库: 幻尔科技官网在线教程

:speech_balloon: 客服领取:联系你购买设备的店铺客服(淘宝/京东/官网客服),提供订单号即可免费领取最新版本资料包。

:warning: 社区工程师【避坑提示】

  1. 摄像头相关注意事项:

    如果设置的开机自启代码中存在调用摄像头等功能,需要将 frame 画面注释掉,否则无法正常运行自启程序。

  2. 编辑建议:

    建议直接复制一份已写好的自启服务,再去修改,这样不会因为格式等问题报错。