如何使用Amazon Echo控制您的科迪媒体中心

遥控器是1950年的。如果你有一个科迪媒体中心和一台亚马逊回声,你可以用一个位置合适的语音命令…播放所有你喜欢的电影和节目。如果你愿意做个小小的设置的话。

在我们看来,亚马逊回声(Amazon Echo)是智能家居最酷的部分之一。用手机控制灯光、百叶窗和电视很酷,但用声音控制它们才是真正的未来。我对此表示怀疑,但他很快就给人留下了深刻的印象-并渴望得到更多。

相关:如何设置和配置您的Amazon Echo

能够打开我的电视很酷,但我真正想要的是能够控制我的媒体中心。我希望能够说“播放”老友记“的下一集”,让它搜索我的资料库,看看我最后看了什么,然后开始播放下一集。经过一番搜索,我发现一位名叫乔·伊普森(Joe Ipson)的有进取心的程序员已经做到了这一点。

这需要一点设置,而且一开始看起来非常吓人。您将需要创建一个Web服务器,从GitHub推送一些代码,并从命令行执行一些工作,但是您不需要是程序员就可以启动并运行它。艾普森几乎完成了所有的重担,你只需要复制他的代码,编辑几个关键部件,然后上传到合适的地方。如果您严格按照本指南操作,您应该很快就能启动并运行。

注意:我们在本教程中使用Amazon Web Services,因为它是最可靠的。Ipson说,如果你是AWS的新用户,你应该可以免费使用这项技能大约一年,之后每月收取的费用将不到20美分。如果您想要一些真正免费的东西,您可以改用Heroku进行设置,用Ipson文档中的Heroku说明替换本指南中的第二步、第三步和第四步。但是,它的可靠性稍差一些,当您使用它时,某些请求可能会超时。如果您想要尽可能好的体验,我们推荐AWS-它非常物有所值,每月区区20美分。

第一步:准备您的Kodi Web服务器

为了实现这一点,科迪需要有一台可以从网络访问的服务器。值得庆幸的是,这是内置在Kodi中的,尽管您可能需要转发路由器上的一些端口并执行一些其他任务,然后它才能顺利工作。

在您的媒体中心打开Kodi,然后转到系统>服务>Web服务器。启用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中设置的端口。如果这不起作用,请确保KODI、您的动态域和端口转发都设置正确。

相关:如何使用动态DNS从任何位置轻松访问您的家庭网络

第二步:我设置您的亚马逊网络服务帐户

接下来,您需要使用Amazon Web Services(AWS)设置一个帐户。转到此页面并单击“创建AWS帐户”。出现提示时使用您的Amazon凭据登录。如果您还没有AWS帐户,系统将要求您输入联系信息以创建一个帐户。一定要勾选顶部的“个人账户”。

完成向导中的其余步骤。“您还必须输入您的信用卡信息,但不要担心-就像我们说过的那样,不应该向您收取很高的费用(特别是前12个月)。

使用您的电话号码验证您的身份,并选择您的支持计划(我们推荐Basic,这是免费的)后,单击屏幕右角的“完整注册”按钮。然后,亚马逊会让您登录。

现在转到身份和访问管理页面(如有必要,请重新登录AWS),然后点击左侧的“Users”(用户)选项卡。单击“添加用户”按钮。

使用您想要的任何用户名创建一个新用户。选中“编程访问”框,然后单击“下一步:权限”。

接下来,系统将提示您设置权限。单击“直接附加现有策略”,然后搜索“AdministratorAccess”。选中AdministratorAccess(管理员访问)选项,然后单击“Next:Review”(下一步:查看)。

确保您的用户如下图所示,然后单击“创建用户”。

不要关闭下一页!您需要在此处获取Access Key ID和Secret Access Key(您需要单击“Show”以显示您的密钥)。为了安全起见,请将它们复制到文本文件中,因为离开此页面后,您将无法再次获取密钥。

一旦你把这些写下来,你就可以安全地关闭那扇窗户了。

第三步:安装Python 2.7并设置变量

为了将Ipson的代码推送到AWS,您的计算机上需要安装Python2.7。在本教程中,我们将使用Windows,但您应该也可以在MacOS和Linux上执行此操作。

要在Windows上安装Python,请转到Python的下载页面并下载Python2.7。像运行任何其他Windows程序一样运行安装程序。使用默认选择,因为我们需要一些随Python安装程序一起提供的工具。

然后,点击这里下载艾普森的代码。将ZIP文件中的KODI-ALEXA-MASTER文件夹解压到硬盘上的某个位置。

一旦安装完毕,就到了深入研究命令行的时候了。按键盘上的Windows+X并选择“命令提示符”。(Mac和Linux用户将希望打开各自的终端应用程序)。从那里依次运行以下两个命令:

C:\Python27\Scripts\pip.exe install awscliC:\Python27\Scripts\aws configure

这将安装AWS命令行工具并启动配置工具。

出现提示时,粘贴您的Acces Key ID和Secret Access Key。当系统要求您输入默认区域名称时,请键入US-EAST-1(如果您在美国)或EU-WEST-1(如果您在欧洲)。您可以将默认输出格式保留为空(只需按Enter键)。

接下来,运行以下命令:

C:\Python27\Scripts\pip.exe install virtualenv

稍后您将需要安装此程序。

现在,使用以下命令将CD放入您的kodi-alexa-master文件夹:

CD C:\Users\Whitson\Documents\Code\kodi-alexa-master

显然,将文件路径替换为您保存kodi-Alexa-master文件夹的位置的路径。

现在把窗户开着,我们一会儿再来看它。

首先,为了让Ipson的代码与您的Kodi和AWS设置一起工作,您需要在配置文件中定义一些变量。下载此模板,将其重命名为kodi.config,并将其保存在kodi-Alexa-master文件夹中。在记事本++等代码友好的文本编辑器中打开,然后编辑以下四个变量:

address =  port =  username =  password =

地址变量将是您在第一步中设置的动态地址(例如my.dynamic-domain.com),端口将是您在第一步中使用的端口(可能是8080,除非您进行了更改),而用户名和密码将是第一步中提供的凭据。

如果您的家里有多个KODI盒,您也可以使用此配置文件通过Alexa单独控制它们。我们不会在本指南中详细介绍这一点,但是您可以在Ipson的文档中找到这里的说明。

完成后,保存文件并返回到命令提示符窗口。

第四步:将您的代码推送到AWS

准备好这些变量后,您的代码就可以部署了。返回命令提示符,运行以下两个命令:

C:\Python27\Scripts\virtualenv venvvenv\Scripts\activate.bat

这将创建一个新的“虚拟环境”并将其激活。

在出现的venv提示符下,运行以下命令:

pip install -r requirements.txtpip install packagingpip install zappa

这将安装一个名为zappa的工具,该工具将帮助您部署代码。

接下来,您需要设置Zappa。运行:

zappa init

它会带你通过一个巫师。只要接受所有内容的默认值即可。

最后,运行:

zappa deploy dev

这将把您的代码部署到Lambda。这需要几分钟的时间,所以让它运行吧。最后,它将给您一个URL-将其复制下来,因为您在下一步中将需要它。

最后,我还建议运行以下命令,因为您在下一步中还需要生成的文件:

python generate_custom_slots.py

运行此脚本时,请确保您的Kodi盒已打开并正在运行,因为它将从库中抓取电影、节目和其他媒体的名称。

你快到了!现在我们只需要设置此代码的Alexa技能。

第五步:创造你自己的Alexa技能

要将Ipson的代码与我们的Echo连接起来,我们需要创建一个使用该代码的Alexa“技能”。这个应用不会分发给任何人,它只会永远处于“测试模式”,连接到你自己的亚马逊账户,以便与你的Echo一起使用。

首先,我设立了一个免费的亚马逊开发者账户。转到此页面,使用您的Amazon帐户登录,然后注册开发人员帐户。填写必填字段,同意条款,当系统询问您是否要将应用程序货币化时,请回答“不”。

登录后,转到顶部工具栏中的“Alexa”。单击“Alexa Skills Kit”下的“Get Started”按钮。

接下来,单击“添加新技能”按钮。

给你的技能一个名字--我把我的技能叫做“kodi”--并给它一个调用名称。这就是当您想要调用命令时所说的话。例如,我的调用名称也是“The Living Room”,这意味着我必须说“Ask the Living Room to…”。给我的媒体中心发号施令。

根据我的经验,较长的调用名称比较短的名称效果更好。我用了一段时间的“kodi”(“请kodi to…”)。但亚历克萨偶尔也会找不到电影。我不能告诉你为什么,但是像“起居室”这样的较长的调用名称对我来说几乎是无懈可击的。所以试着选择一些只有几个音节的词。

完成后单击下一步。

单击下一个窗口中间的“添加插槽类型”按钮。

创建一个名为show的新窗口。回到你的Kodi-Alexa-master文件夹,用Notepad++打开节目文件,然后将节目复制到亚马逊页面的方框中。这将帮助Alexa识别你口述给它的节目。

或者,您也可以只在框中列出一些电视节目,每行一个。你不需要在你的Kodi库中添加每一个节目,但是有相当数量的例子是很好的(我发现20或30个就相当不错了)。

完成后单击确定。

对以下插槽类型重复此过程:Movies、MOVIEGENRES、MUSICARTISTS、MUSICALBUMS、MUSICSONGS、MUSICPLAYLISTS、VIDEOPLAYLISTS和Adons(如果您没有任何这些类型的信息,无论如何都要创建插槽类型-Ipson的代码需要它),只需在框中写入“Empty”一词。这不会造成任何问题。)

同样,您不需要这些插槽中的每一个节目、电影或艺术家,因此您不需要在每次将新电影添加到库中时都更新它们。每本书中都有相当数量的例子是有帮助的。

当您创建了所有九种插槽类型后,返回到kodi-alexa-master文件夹。打开Speech_Assets文件夹,然后使用Notepad++之类的应用程序打开IntentSchema.json和SampleUtterances.txt文件。

选择IntentSchema.json文件中的所有文本,并将其粘贴到亚马逊开发者网站的“Intent Schema”框中。对SampleUtterances.txt文件重复此过程,将文本放入“示例话语”框中。

完成后,单击下一步。构建交互模型可能需要一些时间。

在下一页上,为Endpoint Type选择“HTTPS”,并粘贴您在步骤4结束时获得的URL。选择您的地理区域(北美或欧洲),然后为帐户链接选择“否”。单击“下一步”。

在下一页上,选择“我的开发端点是具有来自证书颁发机构的通配符证书的域的子域”。单击“下一步”。

您应该不需要在Test页面上添加任何信息,但是如果您知道自己在做什么,您可以测试代码的某些方面。否则,请单击下一步。

在“发布信息”页面上,填写必填字段-但不必太担心您输入的内容,因为您不会提交此应用程序进行认证。您是唯一将使用此应用程序的人。(这里有一个108x108图标和一个512x512图标供您使用。)。完成后单击下一步。

在最后一页上,对两个隐私问题都选择“否”,并选中Complicance复选框。完成后,单击“保存”按钮。请勿点击“提交认证”按钮。

第六步:测试您的新命令

如果一切顺利,您现在应该可以测试新命令了。确保你的Kodi盒子已经打开,然后试着说一些类似这样的话:

(…。显然用你的机器上有的一集和一集的节目来取代它。)这可能需要Alexa一段时间,但希望她能做出回应,开始播放有问题的节目。如果你收到一个错误并且这一集没有播放,请返回并确保你做的每件事都是正确的。

你可以问Alexa有没有新的剧集,可以让她播放下一集节目,甚至可以用她来控制Kodi,尽管效率可能很低(“Alexa,要求客厅暂停”、“Alexa,请客厅管理员向下导航”,等等)。查看SampleUtterances.txt文件,了解Alexa可以通过此集成执行的所有操作。如果您想要添加与这些功能之一相对应的新短语,只需重新登录到您的亚马逊开发人员帐户,并将其添加到我们在第四步中粘贴的列表中。

这不是最快或最容易设置的事情,但在我看来,一旦你让它工作,它很容易就是你可以用你的亚马逊Echo做的最酷的事情之一。现在我可以一边在厨房做饭,要么在遥控器电池没电的时候开始看电视。这就是Amazon Echo设计要拥有的那种能力,即使需要做一些工作,也是非常值得的。

有麻烦吗?在Kodi论坛和最初的GitHub页面上查看这条帖子,或者在下面的评论中留下一行。

来自doomu/Bigstock和亚马逊的标题图像。

相关文章