嘿,我是学生,对于一个项目,我们必须通过API.ai(现在名为dialogflow.com)为谷歌代理。创建代理并不是那么难,但可以在特定意图中询问用户的网络,以找出他正在使用的打印机吗? 我认为你可以用完成来处理这个问题,但我真的不明白我怎么能用snmp陷阱做到这一点。是否有可能捕获谷歌助手用户网络的数据?或者谷歌谁说不,我们不希望你扫描我们的用户网络?
答案 0 :(得分:2)
有许多事情使这成为不可能。
首先 - Google Home设备本身不允许本地监控或控制任何内容。虽然它确实有“智能家居”语音操作,但这些命令都被发送到云服务器,本地设备负责从制造商的云服务器获取命令。
其次 - Google上的操作主要将设备(扬声器或手机)视为用户界面设备。除少数例外情况外,它不允许访问硬件本身,因此无法直接访问网络堆栈,也无法访问任何SNMP操作。
第三 - 将带有Dialogflow的命令发送到履行服务器时,该服务器必须位于可公开访问的HTTPS服务器地址,并且使用您的操作的每个人都将访问同一服务器。因此,您不能只访问在用户本地网络上运行的服务。您可以创建一个公共服务来识别访问它的每个用户,并将命令转发给在其网络上注册的内容,但您仍然需要一种方法来建立该连接。
一种可能的解决方法是让本地服务器收集SNMP信息并将其保存到基于云的数据库,然后让您的履行服务访问数据库以提供您正在查询的信息。但是,这个方案存在很多陷阱,你需要确保采取适当的数据安全措施。