如何构建一个简单的智能家居应用程序来连接物联网?
How to build a simple smart home app to connect IOT?
我想使用 Actions SDK 创建一个智能家居应用 Google Home。现在,我有一个云服务器和它的OAuth 2.0 API 和一些真正的物联网设备,所有的云环境都准备好了。当我浏览了Smart Home的文档时,我感到很困惑,我编辑了一个json文件并用gaction上传到我的google项目中,还没有完成?如果是,如何处理SNYC、QUERY 和EXECUTE 的响应json?非常感谢。
在您项目的 Actions on Google console 中,应该有一个 webhook 字段。您放置 HomeGraph 将调用的 URL。在您的 webhook 中,您将收到一个 JSON 负载,其中包含 intent
和您要处理的其他参数。
let reqdata = request.body;
let input = reqdata.inputs[0];
let intent = input.intent;
switch (intent) {
case "action.devices.SYNC":
console.log('post /ha SYNC');
// Do sync
break;
case "action.devices.QUERY":
console.log('post /ha QUERY');
// Do query
break;
case "action.devices.EXECUTE":
console.log('post /ha EXECUTE');
// Do execute
break;
default:
response.status(401).set({
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Headers': 'Content-Type, Authorization'
}).json({error: "missing intent"});
break;
}
您应该 return 一个 JSON 负载作为响应。
调整物联网设备的实际方式完全取决于您的服务器和设备实施。
您可以查看 the sample project 了解更多信息。
我想使用 Actions SDK 创建一个智能家居应用 Google Home。现在,我有一个云服务器和它的OAuth 2.0 API 和一些真正的物联网设备,所有的云环境都准备好了。当我浏览了Smart Home的文档时,我感到很困惑,我编辑了一个json文件并用gaction上传到我的google项目中,还没有完成?如果是,如何处理SNYC、QUERY 和EXECUTE 的响应json?非常感谢。
在您项目的 Actions on Google console 中,应该有一个 webhook 字段。您放置 HomeGraph 将调用的 URL。在您的 webhook 中,您将收到一个 JSON 负载,其中包含 intent
和您要处理的其他参数。
let reqdata = request.body;
let input = reqdata.inputs[0];
let intent = input.intent;
switch (intent) {
case "action.devices.SYNC":
console.log('post /ha SYNC');
// Do sync
break;
case "action.devices.QUERY":
console.log('post /ha QUERY');
// Do query
break;
case "action.devices.EXECUTE":
console.log('post /ha EXECUTE');
// Do execute
break;
default:
response.status(401).set({
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Headers': 'Content-Type, Authorization'
}).json({error: "missing intent"});
break;
}
您应该 return 一个 JSON 负载作为响应。
调整物联网设备的实际方式完全取决于您的服务器和设备实施。
您可以查看 the sample project 了解更多信息。