如何用亚马逊回声控制你的科迪媒体中心
如何用亚马逊回声控制你的科迪媒体中心
遥控器是如此的1950年。如果你有一个科迪媒体中心和亚马逊回声,你可以播放所有你最喜欢的电影和节目使用一个很好的语音命令…。如果你愿意做一些小设置的话。
在我们看来,亚马逊回声是智能家居最酷的部分之一。用手机控制你的灯、百叶窗和电视是很酷的,但是用你的声音来控制它们才是真正的未来。我对此持怀疑态度,但很快就给我留下了深刻印象--我渴望得到更多
能够打开我的电视是很酷的,但我真正想要的是能够控制我的媒体中心。我想说“玩下一集的朋友”,让它搜索我的图书馆,看看我最后看了什么,然后开始播放下一集。经过一番搜索,我发现一个名叫乔·爱普森的有进取心的程序员已经这么做了。
这需要一些设置,而且一开始看起来很吓人。您将需要创建一个Web服务器,从GitHub推送一些代码,并从命令行中做一些工作,但是您不需要成为一个程序员就可以启动并运行它。爱普生已经完成了几乎所有的繁重工作,你只需要复制他的代码,编辑几个部分,然后上传到正确的地方。如果你遵照这篇文章的指导,你应该马上就能起床和跑步了。
注意:本教程使用的是AmazonWebServices,因为它是最可靠的。如果你是一个新的AWS用户,爱普生说你应该可以免费运行这项技能一年左右,之后你将被收取每月不到20美分的费用。如果您想要真正免费的东西,可以使用Heroku来设置它,用爱普生文档中的Heroku说明替换本指南的步骤2、3和4。然而,它不太可靠,当您使用它时,有些请求可能会超时。我们推荐AWS,如果您想要最好的经验-它是非常值得的微薄20美分每月。
第一步:准备您的Kodi Web服务器
为了使这一工作,科迪将需要有一个服务器可从网上访问。值得庆幸的是,这是内置在Kodi中的,尽管您可能需要在路由器上转发一些端口,并在它顺利工作之前执行其他一些任务。
在您的媒体中心上打开Kodi,然后转到System>Services>WebServer。如果还没有启用Web服务器,就启用它,并给它一个用户名和密码。确保使用任何其他服务不使用的密码。
您还需要为您的家庭提供公共IP地址。但是,由于这可能会改变,我们强烈建议使用像Dynu这样的服务注册动态域名。在继续之前,请按照我们的指南继续,如果您还没有这样的指南的话。
最后,您需要为Kodi盒设置端口转发。这将不同的路由器,但你可以查阅我们的指南在这里获得更多的信息。只需将任何外部端口转发到您的Kodi框的本地IP地址(在我的示例中是192.168.1.12)和本地端口(默认情况下为8080)。
注意:在默认情况下,Kodi的本地端口是8080,您可以将其更改为任何您想要的--或者您可以将它转发到另一个外部端口,以确保不会出现任何复杂情况(因为其他应用程序可能会要求端口8080)。我在本教程中使用8080,但是如果您使用的是不同的东西,只需将端口8080的所有实例替换为外部这里是你选择的港口。
如果一切顺利,您应该能够通过打开Web浏览器并输入以下内容来访问Kodi的Web界面:
my.dynamic-domain.com:8080
哪里
my.dynamic-domain.com
是动态域的URL,并且8080
是你在科迪设置的港口。如果这不起作用,请确保Kodi、您的动态域和您的端口转发都已正确设置。
第二步:设置AmazonWeb服务帐户
接下来,您需要使用AmazonWebServices(AWS)设置一个帐户。进入此页面并单击“创建AWS帐户”。提示时使用您的Amazon凭据登录。如果您还没有AWS帐户,您将被要求输入您的联系方式来创建一个。一定要检查顶部的“个人账户”。
完成向导中的其余步骤。您也必须输入您的信用卡信息,但不要担心-就像我们说的,你不应该被收取太多,如果在任何情况下(特别是在头12个月)。
验证您的身份与您的电话号码,并选择您的支持计划(我们推荐基本,这是免费的),点击屏幕右角的“完全注册”按钮。然后Amazon将登录您。
现在转到标识和访问管理页面(如有必要,请重新登录到AWS),并单击左侧的“用户”选项卡。点击“添加用户”按钮。
用您想要的用户名创建一个新用户。选中“可编程访问”框,然后单击“下一步:权限”。
接下来,将提示您设置权限。单击“直接附加现有策略”,然后搜索“AdministratorAccess”。检查AdministratorAccess选项并单击“Next:Review”。
确保您的用户看起来像下面的图像,然后单击“创建用户”。
不要关闭下一页!您需要在这里获取访问密钥ID和秘密访问密钥(您需要单击“Show”以显示您的秘密密钥)。为了安全起见,请将它们复制到文本文件中,因为在离开此页面后,您将无法再次获得密钥。
一旦你把这些写下来,你就可以安全地关闭那个窗口了。
第三步:安装Python2.7并设置变量
为了将爱普生的代码推送到AWS,您需要在计算机上安装Python2.7。我们将在本教程中使用Windows,但是您也应该能够在MacOS和Linux上这样做。
要在Windows上安装Python,请转到Python的下载页面并下载Python2.7。像运行其他Windows程序一样运行安装程序。使用默认的选择,因为我们需要Python安装程序附带的一些工具。
然后,点击这里下载爱普生的代码。解压你硬盘上某个地方的ZIP文件中的Kodi-Alexa主文件夹。
一旦安装完毕,就该深入了解命令行了。按下键盘上的Windows+X并选择“命令提示符”。(Mac和Linux用户将希望打开各自的终端应用程序)。然后,运行以下两个命令,一个接一个:
C:\Python27\Scripts\pip.exe install awscli
C:\Python27\Scripts\aws configure
这将安装AWS命令行工具并启动配置工具。
当提示时,粘贴您的Acces密钥ID和秘密访问密钥。当询问默认区域名称时,键入us-east-1
(如果你在美国)或eu-west-1
(如果你在欧洲)。您可以保留默认输出格式为空(只需按Enter)。
接下来,运行以下命令:
C:\Python27\Scripts\pip.exe install virtualenv
您将需要在以后安装它。
现在,使用以下命令将CD放入您的Kodi-Alexa主文件夹中:
CD C:\Users\Whitson\Documents\Code\kodi-alexa-master
显然,用保存Kodi-Alexa-Master文件夹的路径替换文件路径。
暂时保持窗户开着,我们需要一会儿再来看它。
首先,为了使Ipson的代码与您的Kodi和AWS设置一起工作,您需要在配置文件中定义几个变量。下载此模板,将其重命名为kodi.config
并将其保存在Kodi-Alexa-主文件夹中。在代码友好的文本编辑器(如记事本++)中打开它,并编辑以下四个变量:
address =port =
username =
password =
这个address
变量是您在第一步中设置的动态地址。my.dynamic-domain.com
), port
将是您在第一步中使用的端口(可能是8080,除非您更改了它),并且username
和password
将是第一步的凭证。
如果您有多个Kodi盒子在您的房子,您也可以使用这个配置文件来控制他们分别与Alexa。我们不会在本指南中详细介绍这一点,但是在这里您可以在爱普生的文档中找到说明。
完成后,保存文件并返回到命令提示符窗口。
第四步:将代码推到AWS
有了这些变量,您的代码就可以部署了。回到命令提示符中,运行以下两个命令:
C:\Python27\Scripts\virtualenv venv
venv\Scripts\activate.bat
这将创建一个新的“虚拟环境”并激活它。
在出现的venv提示符中,运行以下命令:
pip install -r requirements.txt
pip install packaging
pip install zappa
这将安装一个名为Zappa的工具,它将帮助您部署代码。
接下来,您需要设置Zappa。跑:
zappa init
它将带您通过一个向导。只要接受每件事的缺省值就行了。
最后,运行:
zappa deploy dev
这将将您的代码部署到Lambda。这需要几分钟时间,所以让它运行吧。最后,它将给您一个URL-将其复制下来,因为您将需要它在下一步。
最后,我还建议运行以下命令,因为下一步还需要结果文件:
python generate_custom_slots.py
运行此脚本时,请确保Kodi框打开并运行,因为它将从库中抓取电影、节目和其他媒体的名称。
你快到了!现在我们只需要为这段代码设置一个Alexa技能。
第五步:创造你的Alexa技能
要将爱普生的代码与我们的Echo连接起来,我们需要创建一个使用该代码的Alexa“技能”。这个应用程序不会分发给任何人,它将永远处于“测试模式”,连接到您自己的Amazon帐户,以便与您的Echo一起使用。
首先,设置一个免费的AmazonDeveloper帐户。转到此页面,使用Amazon帐户登录,并注册开发人员帐户。填写所需的字段,同意条款,并说“不”,当你被问到你是否要货币化你的应用程序。
登录后,前往顶部工具栏中的“Alexa”。点击“Alexa技能工具包”下的“开始”按钮。
接下来,单击“添加新技能”按钮。
给你的技能一个名字--我叫它“Kodi”--并给它一个调用的名字。当您想要调用一个命令时,这就是您要说的。例如,我的调用名也是“客厅”,这意味着我必须说“请起居室到…”。给我的媒体中心下达命令。
根据我的经验,长调用名比短调用名工作得更好。我用了一段时间“kodi”(“请kodi到…”)但阿列克莎偶尔也很难找到电影。我无法告诉你为什么,但更长的调用名称,如“客厅”,几乎完美无缺地为我工作。所以试着选择几个音节的东西。
完成后单击Next。
单击下一个窗口中间的“添加插槽类型”按钮。
创建一个名为SHOWS
。返回Kodi-Alexa主文件夹,用记事本++打开显示文件,并将显示复制到Amazon页面的框中。这将帮助亚历克莎认出你口授给它的节目。
或者,你可以把你的一些电视节目列在盒子里,每一行一个。您不需要在Kodi库中添加所有的演示,但是有相当数量的示例是很好的(我发现20或30非常好)。
完成后单击“确定”。
对以下插槽类型重复此过程:电影、MOVIEGENRES、MUSICARTISTS、MUSICALBUMS、MUSICSONGS、MUSICPLAYLISTS、VIDEOPLAYLISTS和加载项(如果您没有任何这些类型的信息,无论如何创建插槽类型-爱普生的代码需要它-并在方框中写下“空”一词。它不会引起任何问题。)
同样,您不需要这些插槽中的每一个放映、电影或艺术家,所以您不需要每次向库中添加新电影时都更新它们。在每一个例子中都有相当数量的例子是有帮助的。
创建所有九种槽类型后,返回Kodi-Alexa-Master文件夹。打开Speech_Asset文件夹并打开IntentSchema.json
和SampleUtterances.txt
文件的应用程序,如记事本++。
中的所有文本。IntentSchema.json
文件并将其粘贴到AmazonDeveloper网站上的“意图模式”框中。使用SampleUtterances.txt
文件,将文本放在“示例话语”框中。
完成后,单击Next。建立互动模型可能需要一些时间。
在下一页中,为端点类型选择“HTTPS”,并将其粘贴到第四步结束时得到的URL中。选择您的地理区域(北美或欧洲)并选择“否”作为帐户链接。单击“下一步”。
在下一页上,选择“MyDevelopment终结点是具有来自证书颁发机构的通配符证书的域的子域”。单击“下一步”。
您不需要在Test页面上添加任何信息,但是如果您知道自己在做什么,您可以测试代码的某些方面。否则,单击Next。
在“发布信息”页面中,填写所需的字段--但不要太担心您所放的内容,因为您不会提交此应用程序进行认证。你是唯一会使用这个应用程序的人。(这是一个108×108图标和一个512×512图标供您使用。)完成后单击Next。
在最后一页中,为隐私问题选择“否”,并选中“完成”框。完成后单击“保存”按钮。不要点击“提交认证”按钮。
第六步:测试新命令
如果一切顺利,现在应该可以测试您的新命令了。确保你的Kodi盒子是打开的,试着说这样的话:
亚历克莎,请客厅玩第一季,“老友记”第一集
(…)显然,用一个插曲来代替它,并显示你的机器上有。)这可能需要亚历克莎片刻,但希望她应该回应,并开始播放这个节目的问题。如果你有一个错误,这一集没有播放,回去,并确保你做好一切。
你可以问Alexa你是否有新的插曲,让她播放节目的下一集,甚至用她来控制Kodi,尽管效率很低(“Alexa,让起居室暂停,”Alexa,让起居室向下导航,等等)。检查一下SampleUtterances.txt
文件,以查看Alexa可以使用此集成所做的所有事情。如果您想要添加一个与这些函数相对应的新短语,只需登录到AmazonDeveloper帐户并将其添加到我们在第四步中粘贴的列表中即可。
这不是最快速或最容易设置的东西,但一旦你使它工作,这是最酷的事情之一,你可以用你的亚马逊回声,在我看来。现在,我可以开始看电视时,在厨房做饭,或当我的遥控器电池已经死。这是亚马逊Echo设计的那种动力,尽管它需要一些工作,但它是值得的。
有麻烦吗?请查看Kodi论坛上的这个帖子,以及最初的GitHub页面,或者在下面的评论中删除一行。
标题图片来自Doomu/Bigstock和Amazon。
以上是 如何用亚马逊回声控制你的科迪媒体中心 的全部内容, 来源链接: utcz.com/wiki/670024.html