智能家居接入谷歌home/assistant/智能音箱

接入流程

登录谷歌cloud,创建并设置项目

1、登录谷歌cloud

2、创建项目

image.png

3、设置项目OAuth2.0鉴权凭证

image.png

创建客户端凭证

image.png

填写客户端名称(客户端密钥只在首次创建成功页面可以下载,记得下载)

image.png

登录开发者控制台,云到云设置

1、登录谷歌开发者控制台Developer

2、添加在google cloud创建的项目

image.png

3、云对云设置

云到云–>开发–>创建集成项目

image.png
image.png
  • 集成名称 : 必填
  • 设备类型: 必选,选择需要接入的设备类型
  • 应用图标: 比上传,分辨率144 x 144 像素
  • OAuth 客户端 ID : 谷歌cloud创建项目客户端凭证的客户端id
  • 客户端密钥: 谷歌cloud创建项目客户端凭证的客户端密钥
  • 授权网址: 谷歌账号跟halo用户账号关联时,谷歌home App跳转到halo用户授权登录页(如:halo授权登录页,登录成功后就可以访问halo app接口相关接口)
  • 令牌网址: 用户刷新halo授权token
  • 云端执行网址: 谷歌home执行syncqueryexecutedisconnect意图的入口

halo服务实现OAuth2鉴权

实现OAuth2.0服务器谷歌官方文档

1、在授权代码流程中,需要两个端点

  • 授权端点,用于向尚未登录的用户显示登录界面。授权端点还会创建一个短期授权代码,用于记录用户对所请求访问权限的同意情况。
  • 令牌交换端点,负责处理两种类型的交换:
    1. 使用授权代码换取长期刷新令牌和短期访问令牌。当用户完成账号关联流程时,系统会进行此交换。
    2. 用长期有效的刷新令牌换取短期有效的访问令牌。 当 Google 需要新的访问令牌(因为之前的令牌已过期)时,就会发生此交换。

2、注意点

处理授权请求文档中提到,用户从谷歌home App --> 跳转到halo 授权登录页 --> 用户输入halo账号密码 --> 登录 --> 重定向用户浏览器

image.png

从文档描述来看,好像是我们接口要重定向,其实,我们授权端点接口只需返回code即可,无需将用户浏览器重定向,返回code后,谷歌会自动处理跳转问题。

{"code":200, "data":{"code":"ad4f10becfe24354a32e504e62b02087"}}

实现意图

我们halo服务需要实现谷歌home的syncqueryexecutedisconnect意图,详细查看官方文档实现意图。

控制设备:谷歌home --> 谷歌云 --> halo云平台 --> 处理意图(属性转换、控制设备)–> 意图处理结果返回谷歌云 --> 谷歌云返回给谷歌home

主要工作量:

执行意图: 谷歌云–>halo云,需要把谷歌云设备类型、设备特性(属性)转换为halo云设备类型、设备特性(属性)

返回意图: halo云–>谷歌云,需要把halo云设备类型、设备特性(属性)转换为姑姑云设备类型、设备特性(属性)

对接属性转换的时候,光看设备属性文档,是很难知道某设备某型号某属性值是什么,值需不需要进行转换数据之类的(比如色温灯的开/关、亮度、色温值属性id分别是什么,值是什么类型),**如何快速高效对接属性:**设备上电重置接入网关–>根据设备id查看该设备属性表device_attrs有哪些属性和值–>MQTTX订阅该网关上/下行消息–>在halo App控制设备–>查看MQTTX订阅消息+设备属性表属性值变化–>快速定位属性和属性值(如设置色温,MQTTX发送什么属性消息给网关,根据该属性id查询属性表该属性值的变化)

例如:设置D628-ZG设备色温,MQTTX订阅可以看到下发给网关的数据,其中属性id:ColTempMir,val:307,根据设备id查找属性表,属性id和值能对应上的,从而快速定位调整色温的属性id和值类型,不用在设备属性文档中低效来回往返查找还不确定是不是这个属性

image.png
image.png

部署服务

当我们halo云实现了OAuth2.0+意图后,把服务部署到服务器,需要外网能访问,且是https,通过postman或apifox测试接口,没问题接着就是集成测试,测试谷歌home能否控制设备

测试

1、添加测试用户

测试用户添加登录谷歌cloud的账号(我添加其他谷歌账号A,测试时候在谷歌home登录A账号中找不到 hzc-halo-dev100项目,不清楚具体什么原因,添加登录谷歌cloud的账号到测试用户组,在谷歌home中也登录谷歌cloud账号,就能找到项目

image.png

2、安装谷歌应用

一台安卓手机,需要连接翻墙网络,安装谷歌play、谷歌浏览器、谷歌home、谷歌assistant助理

3、谷歌home登录谷歌账号

谷歌home登录谷歌账号(账号必须跟登录谷歌cloud创建项目的账号相同且账号已添加到测试用户组中

4、谷歌home关联应用

谷歌home关联在谷歌cloud创建的项目hzc-halo-dev,同步设备列表、控制设备

image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png

5、谷歌Assistant助理App控制设备

手机安装谷歌助理App–>打开谷歌App对谷歌助理进行常规设置–>打开谷歌助理App–>语音或者文字输入–>控制设备

image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png

6、谷歌智能音箱控制设备

重置谷歌智能音箱–>谷歌home绑定音箱–>绑定成功–>ok goole唤醒智能音箱–>打开灯–>智能音箱播报执行结果

谷歌home绑定谷歌智能音箱类似于国内智能音箱绑定操作,如米家app绑定小爱智能音箱、天猫精灵app绑定天猫精灵

Read more

Hunyuan-MT-7B-WEBUI前端UI采用Vue还是React?技术选型分析

Hunyuan-MT-7B-WEBUI前端技术选型:Vue还是React? 在AI大模型加速落地的今天,一个翻译模型好不好用,往往不只取决于它的BLEU分数有多高,更在于普通用户能不能“打开浏览器就直接用”。腾讯推出的 Hunyuan-MT-7B-WEBUI 正是朝着这个方向迈出的关键一步——它把70亿参数的翻译能力封装成一个轻量化的网页界面,让科研人员、开发者甚至非技术人员都能快速体验高质量多语言互译。 但问题也随之而来:这样一个面向广泛用户的Web UI,前端到底该用 Vue 还是 React?这看似是个技术偏好问题,实则牵动着整个项目的可用性、部署效率和长期演进路径。 为什么前端框架的选择如此关键? 很多人觉得,“不就是个输入框加个按钮吗?哪个框架写不出来?” 确实,功能上两者都能实现。但差异藏在细节里: * 你希望用户点开Jupyter就能用,还是得先装Node.js、跑npm install? * 你的目标用户是研究生做实验验证,还是企业要集成到内部系统? * 系统运行在低配GPU服务器上,前端资源占用是否会影响推理性能? 这些现实约束,决定了我们不能凭喜

Qlib前端界面:量化投资平台的智能可视化解决方案

Qlib前端界面:量化投资平台的智能可视化解决方案 【免费下载链接】qlibQlib 是一个面向人工智能的量化投资平台,其目标是通过在量化投资中运用AI技术来发掘潜力、赋能研究并创造价值,从探索投资策略到实现产品化部署。该平台支持多种机器学习建模范式,包括有监督学习、市场动态建模以及强化学习等。 项目地址: https://gitcode.com/GitHub_Trending/qli/qlib 在量化投资领域,技术门槛和操作复杂度一直是阻碍投资者充分利用AI技术的关键障碍。传统量化平台往往需要用户具备深厚的编程基础和复杂的配置知识,这使得许多具有投资洞察但缺乏技术背景的用户望而却步。Qlib前端界面正是为解决这一痛点而生,通过智能可视化操作平台,将复杂的量化分析流程转化为直观的用户体验。 量化投资平台的核心价值与用户痛点 传统量化投资的三大挑战 量化投资初学者和中级用户普遍面临以下挑战: 1. 技术门槛过高:需要掌握Python编程、机器学习框架等技术 2. 操作流程复杂:从数据获取到策略部署涉及多个环节 3. 结果理解困难:复杂的量化指标和模型输出难以直观理解

Clawdbot+Qwen3-32B实战教程:Web网关与企业微信/钉钉Bot对接

Clawdbot+Qwen3-32B实战教程:Web网关与企业微信/钉钉Bot对接 1. 为什么需要这个组合? 你是不是也遇到过这些情况: * 企业微信里客户问产品参数,你得切到网页查文档再复制粘贴; * 钉钉群里同事催报表,你得打开Excel算半天再截图发群; * 每次回答重复问题,都要手动翻聊天记录、找知识库、组织语言…… Clawdbot + Qwen3-32B 这套组合,就是为了解决这些问题而生的。它不是又一个“能聊天”的玩具,而是一个真正能嵌入你日常工作流的智能助手——把大模型能力直接接进企业微信和钉钉,不跳转、不复制、不等待,消息进来,答案秒回。 它背后用的是通义千问最新发布的 Qwen3-32B 模型,320亿参数规模,中文理解、逻辑推理、多轮对话、长文本处理能力都比前代有明显提升。而 Clawdbot 则像一个“智能管道工”,不自己造轮子,专注把模型能力稳稳地、安全地、可配置地输送到你的办公IM里。 整套方案完全私有部署,模型跑在你自己的服务器上,数据不出内网,接口走本地代理转发,连最基础的通信链路都可控—