Raspberry pi 如何在启动时运行Google Assistant SDK?

Raspberry pi 如何在启动时运行Google Assistant SDK?,raspberry-pi,gpio,google-home,python-venv,google-assistant-sdk,Raspberry Pi,Gpio,Google Home,Python Venv,Google Assistant Sdk,如何让GoogleAssistant演示在启动时运行 我可以手动运行它 $ source /home/pi/env/bin/activate (env) $ google-assistant-demo 但我想在启动时,在CLI模式或GUI模式下运行它。 我希望它在虚拟环境(venv)中运行。 所有这些都在后台进行,不会干扰任何终端或SSH会话。以此为基础:–感谢Eric Parisot 但是有一些变化 您需要使用并将其内容提取到/home/pi/src/ 我没有像他在视频中那样运行gassis

如何让GoogleAssistant演示在启动时运行

我可以手动运行它

$ source /home/pi/env/bin/activate
(env) $ google-assistant-demo
但我想在启动时,在CLI模式或GUI模式下运行它。 我希望它在虚拟环境(venv)中运行。 所有这些都在后台进行,不会干扰任何终端或SSH会话。

以此为基础:–感谢Eric Parisot

但是有一些变化

您需要使用并将其内容提取到
/home/pi/src/

我没有像他在视频中那样运行gassist.sh
sudo
,因为它给了我以下错误:

OpenAlsaHandle PcmOpen: No such file or directory
[7689:7702:ERROR:audio_input_processor.cc(756)] Input error
ON_MUTED_CHANGED:
{‘is_muted’: False}
ON_START_FINISHED
ON_ASSISTANT_ERROR:
{‘is_fatal’: True}
[7689:7704:ERROR:audio_input_processor.cc(756)] Input error
ON_ASSISTANT_ERROR:
{‘is_fatal’: True}
修正:不要以sudo运行

如果
gassist.sh
给出了一个关于
RPi.GPIO
的错误(当助手监听时,作者的脚本激活了GPIO引脚25,因此需要在环境中安装RPi.GPIO),您需要执行以下操作:

然后我做了
sudo nano/etc/profile
,并将其附加到末尾:

#Harvs was here on 24/06/17
if pidof -x "gassist.sh" >/dev/null; then
    echo ""
    echo "/etc/profile says:"
    echo "An instance of Google Assistant is already running, will not start again"
    echo ""
else
    echo "Starting Google Assistant..."
    echo "If you are seeing this, perhaps you have SSH within seconds of reboot"
    /home/pi/src/gassist.sh &
fi
这将检查助手是否已在运行,如果未运行,则启动它。注意:如果您的启动脚本调用的不是
gassist.sh
,则必须编辑上述代码

现在,它可以在虚拟环境中,在引导到CLI模式下完美地工作!:)

以此为基础:–感谢Eric Parisot

但是有一些变化

您需要使用并将其内容提取到
/home/pi/src/

我没有像他在视频中那样运行gassist.sh
sudo
,因为它给了我以下错误:

OpenAlsaHandle PcmOpen: No such file or directory
[7689:7702:ERROR:audio_input_processor.cc(756)] Input error
ON_MUTED_CHANGED:
{‘is_muted’: False}
ON_START_FINISHED
ON_ASSISTANT_ERROR:
{‘is_fatal’: True}
[7689:7704:ERROR:audio_input_processor.cc(756)] Input error
ON_ASSISTANT_ERROR:
{‘is_fatal’: True}
修正:不要以sudo运行

如果
gassist.sh
给出了一个关于
RPi.GPIO
的错误(当助手监听时,作者的脚本激活了GPIO引脚25,因此需要在环境中安装RPi.GPIO),您需要执行以下操作:

然后我做了
sudo nano/etc/profile
,并将其附加到末尾:

#Harvs was here on 24/06/17
if pidof -x "gassist.sh" >/dev/null; then
    echo ""
    echo "/etc/profile says:"
    echo "An instance of Google Assistant is already running, will not start again"
    echo ""
else
    echo "Starting Google Assistant..."
    echo "If you are seeing this, perhaps you have SSH within seconds of reboot"
    /home/pi/src/gassist.sh &
fi
这将检查助手是否已在运行,如果未运行,则启动它。注意:如果您的启动脚本调用的不是
gassist.sh
,则必须编辑上述代码


现在,它可以在虚拟环境中,在引导到CLI模式下完美地工作!:)

这就是我在我的Raspberry Pi模型B上实现无显示器启动(我想有人称之为无头?)所做的。希望这能有所帮助

  • 使用arecord录制声音文件
  • 在/home/pi/config/lxsession/LXDE-pi/autostart-add中

    @lxterminal--命令“/home/pi/googlehome.sh”

  • 像这样的

    @lxpanel --profile LXDE-pi
    @pcmanfm --desktop --profile LXDE-pi
    @lxterminal --command "/home/pi/googlehome.sh"
    @xscreensaver -no-splash
    @point-rpi
    
    其中googlehome.sh是在启动时运行GoogleAssistant演示的脚本

  • 在googlehome.sh中,让它播放一个声音文件,然后运行演示

    #!/bin/bash
    echo Running Google Home Assistant...
    sleep 2
    aplay --format=S16_LE --rate=16k "/home/pi/googlehomeready.raw"
    
    source env/bin/activate
    google-assistant-demo
    
  • 因为我不确定开机时谷歌助手什么时候准备好了,所以我让它播放一个声音文件googlehomeready.raw。一旦我听到它,我知道谷歌助手演示正在运行


    哦,请确保将googlehome.sh的模式类型更改为可执行。这就是我在我的Raspberry Pi模型B上实现无监视器启动(我想有人称之为无头启动)的方法。希望这有帮助

  • 使用arecord录制声音文件
  • 在/home/pi/config/lxsession/LXDE-pi/autostart-add中

    @lxterminal--命令“/home/pi/googlehome.sh”

  • 像这样的

    @lxpanel --profile LXDE-pi
    @pcmanfm --desktop --profile LXDE-pi
    @lxterminal --command "/home/pi/googlehome.sh"
    @xscreensaver -no-splash
    @point-rpi
    
    其中googlehome.sh是在启动时运行GoogleAssistant演示的脚本

  • 在googlehome.sh中,让它播放一个声音文件,然后运行演示

    #!/bin/bash
    echo Running Google Home Assistant...
    sleep 2
    aplay --format=S16_LE --rate=16k "/home/pi/googlehomeready.raw"
    
    source env/bin/activate
    google-assistant-demo
    
  • 因为我不确定开机时谷歌助手什么时候准备好了,所以我让它播放一个声音文件googlehomeready.raw。一旦我听到它,我知道谷歌助手演示正在运行


    哦,确保将googlehome.sh的模式类型更改为可执行。

    我在Github上发布了Sid指南之后,它就可以工作了:我在Github上发布了Sid指南之后,它就可以工作了: