我们使用 Raspberry Pi 设置了一个语音工具包(使用“MagPi essentials AIY Projects”手册)。Raspberry Pi 启动后,我们可以在开发终端中使用命令“src/assistant_library_demo.py”启用 Google Assistant。我们希望将语音套件嵌入带有便携式电源的毛绒动物中(即,用于在旅途中为手机充电)。但是当便携式电源充电时,树莓派会重置。这需要我们回到 Raspberry Pi,打开开发终端,然后运行 Google Assistant 文件。我的问题:是否可以运行一个启动脚本,在 Raspberry Pi 启动时自动运行 Google Assistant?这个怎么做?
2 回答
等待 10 秒后,我最终创建了一个 crontab 作业。从开机就开始并没有给它足够的时间让互联网完全连接。
在终端类型中:
crontab -e
如果它询问您要如何打开/编辑文件,请选择一个选项。然后在底部放置:
@reboot sleep 10 && /home/pi/pathtofile > /home/pi/cronlog 2>&1
保存文件并重新启动或拔出电缆并将其重新插入。cronlog 帮助我排除了整个过程的故障并获得有关它为什么不起作用的反馈。
看看这个页面。它告诉您如何设置将自动运行的服务。
如果链接坏了,这里有一个简短的解释:
在目录中创建一个名为 my_assistant.service 的src
文件,并放入以下代码
[Unit]
Description=My awesome assistant app
[Service]
Environment=XDG_RUNTIME_DIR=/run/user/1000
ExecStart=/bin/bash -c 'python3 -u src/my_assistant.py'
WorkingDirectory=/home/pi/AIY-projects-python
Restart=always
User=pi
[Install]
WantedBy=multi-user.target
在文件中显示的地方src/my_assistant.py
,将 my_assistant 替换为您的程序的文件名。现在转到 .service 文件所在的文件夹,然后运行命令sudo mv my_assistant.service /lib/systemd/system/
。此代码将文件移动到服务文件夹。现在您可以运行以下命令来更改服务:
启用服务-sudo systemctl enable my_assistant.service
禁用它-sudo systemctl disable my_assistant.service
启动它(只需运行一次,启用使其在启动时运行)-sudo service my_assistant start
停下来-sudo service my_assistant stop
查看日志,程序何时启动以及是否发生错误 -sudo service my_assistant status