You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用云端Python脚本触发Google Home播放音频?

云端Python脚本触发Google Home的可行方案

方案1:基于Cast协议的直接控制(推荐)

Google Home支持Chromecast协议,可通过第三方库直接从云端向设备发送播放指令,无需依赖本地网络反向代理。

  • 前置准备:
    • 确认Google Home设备处于公网可访问环境(开启路由器UPnP,或给设备设置静态IP并映射Cast服务端口(默认8009))。
    • 准备公网可访问的音频文件(如存放在云存储的音效/歌曲URL)。
  • 实现步骤:
    1. 安装依赖库:
      pip install pychromecast
      
    2. 核心控制代码:
      import pychromecast
      from pychromecast.controllers.media import MediaController
      
      def cast_to_google_home(device_name, media_url):
          # 搜索指定名称的Google Home设备
          chromecasts, _ = pychromecast.get_listed_chromecasts(friendly_names=[device_name])
          if not chromecasts:
              print(f"未找到目标设备: {device_name}")
              return
          
          cast_device = chromecasts[0]
          cast_device.wait()  # 等待设备连接
          
          # 初始化媒体控制器并播放音频
          media_controller = MediaController()
          cast_device.register_handler(media_controller)
          media_controller.play_media(media_url, 'audio/mp3')
          media_controller.block_until_active()
          media_controller.play()
      
      # 降雨检测触发示例
      if rain_detected:
          cast_to_google_home("客厅Google Home", "https://your-cloud-storage/rain-alert.mp3")
      

方案2:Google Assistant API 指令调用

通过Google官方API向绑定的Google Home发送语音指令,借助Assistant完成播放操作。

  • 前置准备:
    • 在Google Cloud控制台启用Google Assistant API,创建服务账号密钥并部署到云端服务器(设置环境变量GOOGLE_APPLICATION_CREDENTIALS指向密钥文件)。
    • Google Home已绑定对应Google账号,且已关联音乐服务(如YouTube Music)。
  • 实现步骤:
    1. 安装依赖库:
      pip install google-assistant-sdk[samples]
      
    2. 核心代码:
      from google.assistant.library import Assistant
      from google.assistant.library.event import EventType
      
      def trigger_assistant_command():
          with Assistant() as assistant:
              for event in assistant.start():
                  if event.type == EventType.ON_CONVERSATION_TURN_STARTED:
                      # 发送播放指令(需匹配Assistant可识别的自然语言)
                      assistant.send_text_query("播放降雨提示音效")
                      break
      
      # 降雨检测触发
      if rain_detected:
          trigger_assistant_command()
      

方案3:IFTTT Webhook 无代码中转

利用IFTTT的Webhook服务实现云端脚本与Google Home的联动,无需复杂开发。

  • 前置准备:
    • 在IFTTT创建Applet:触发条件选择Webhooks,设置自定义触发事件名(如rain_alert);动作选择Google Assistant,配置播放音频或播报文本。
  • 实现步骤:
    1. 安装依赖库:
      pip install requests
      
    2. 触发代码:
      import requests
      
      def trigger_ifttt(event_name, api_key):
          webhook_url = f"https://maker.ifttt.com/trigger/{event_name}/with/key/{api_key}"
          requests.post(webhook_url)
      
      # 降雨检测触发
      if rain_detected:
          trigger_ifttt("rain_alert", "your-ifttt-api-key")
      
  • 注意:免费版IFTTT有调用次数限制,高频率场景需升级付费版。

内容的提问来源于stack exchange,提问作者Abhinandan K

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 10:55:33