当前位置: 首页 > news >正文

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

接入流程

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

1、登录谷歌cloud

2、创建项目

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

创建客户端凭证

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

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

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

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

3、云对云设置

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

halo服务实现OAuth2鉴权

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

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

2、注意点

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

从文档描述来看,好像是我们接口要重定向,其实,我们授权端点接口只需返回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和值类型,不用在设备属性文档中低效来回往返查找还不确定是不是这个属性

部署服务

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

测试

1、添加测试用户

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

2、安装谷歌应用

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

3、谷歌home登录谷歌账号

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

4、谷歌home关联应用

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

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

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

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

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

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

http://www.jsqmd.com/news/494427/

相关文章:

  • 通义千问2.5部署避坑指南:函数调用与JSON输出配置详解
  • FLUX.小红书极致真实V2GPU算力适配:支持FP16+4-bit混合精度推理模式
  • 万象熔炉 | Anything XL应用案例:轻小说插画自动补全与风格迁移实践
  • BGE-M3部署详解:TRANSFORMERS_NO_TF=1环境变量设置原理与必要性
  • 代码规范:Spring Boot 项目命名、注释与包结构
  • MiniCPM-o-4.5-nvidia-FlagOS镜像部署:预置Pillow/MoviePy等多模态依赖包
  • cv_unet_image-colorization效果实测:不同年代黑白胶片颗粒感适配分析
  • Local AI MusicGen精彩案例分享:10秒生成Hans Zimmer风格电影配乐
  • SiameseUIE效果展示:含‘在’‘于’等冗余字的文本中精准定位实体
  • MGeo中文地址解析模型保姆级教程:Gradio界面汉化与多语言地址输入支持改造
  • CLIP-GmP-ViT-L-14惊艳效果:艺术作品图-风格描述词向量空间可视化
  • 丹青识画代码实例:Python调用API实现‘铺卷-参详-点睛-获墨’
  • GLM-Image开源模型效果实测:对‘少数民族服饰’‘传统乐器’‘地域建筑’生成文化准确性达96.8%
  • VibeVoice语音合成快速上手:流式播放+CFG参数调节详细步骤
  • YOLO12代码实例:Python调用Ultralytics API实现批量检测
  • Flowise镜像免配置部署:apt+pnpm三步启动,无需LangChain编码
  • 2026年质量好的干法钢渣风淬处理厂家推荐:钢渣湿法风淬处理/钢渣综合风淬处理实力厂家推荐 - 品牌宣传支持者
  • bge-m3为何登顶MTEB?开源Embedding模型深度解析
  • 浦语灵笔2.5-7B开箱即用:21GB模型权重+CLIP+字体资源全内置镜像体验
  • EagleEye效果展示:同一张图不同Threshold设置下的检测结果对比图集
  • Qwen3-TTS-12Hz-1.7B-Base环境部署:GPU显存优化与16G显卡适配方案
  • 2026年比较好的干法风淬处理公司推荐:钢渣风淬处理/钢渣综合风淬处理公司精选 - 品牌宣传支持者
  • Qwen3-ASR-1.7B效果展示:同一段医疗问诊录音,1.7B vs Whisper-large-v3对比
  • Nano-Banana Studio参数详解:采样步数30vs50对金属部件纹理还原度影响
  • DeepSeek-OCR-2快速部署:HuggingFace Spaces免费托管Gradio OCR Demo
  • 内网---> Owns权限滥用
  • MedGemma X-Ray实战案例:医学生用Gradio界面完成首例AI阅片全流程
  • BEYOND REALITY Z-Image可部署:24G消费级GPU即可运行的专业级写实生成引擎
  • Qwen3-ASR-0.6B高性能:支持VAD静音检测+标点预测+大小写智能恢复
  • SkyWalking - 指标(Metrics)采集:JVM、OS、HTTP 等内置指标说明