如何用Amazon Echo来控制你的Kodi媒体中心

Alexa的 - 科迪

遥控器是如此的1950年。如果你有一个Kodi媒体中心和一个亚马逊Echo,你可以播放所有你喜欢的电影和节目,如果你愿意做一点点的设置。

在我们看来, Amazon Echo智能家居中最酷的部分之一 用你的手机控制你的灯光,百叶窗和电视是很酷的,但用你的声音来控制它们是真正的未来。 我很怀疑,但很快就印象深刻,渴望更多。

能够打开我的电视很酷,但我真正想要的是能够控制我的媒体中心。 我想能够说“玩下一集的朋友”,让它搜索我的图书馆,看看我最后看了什么,然后开始播放下一集。 经过一番搜索之后,我发现一个名叫Joe Ipson的进取程序员已经做到了

这需要一点点的设置,起初看起来非常吓人。 你需要创建一个Web服务器,从GitHub中推送一些代码,并从命令行做一些工作,但是你不需要成为一个程序员来启动和运行。 Ipson完成了几乎所有的工作,你只需要复制他的代码,编辑几个部分,然后把它上传到正确的地方。 如果你按照本指南的要求,你应该立即开始运行。

注:我们在本教程中使用Amazon Web Services,因为它是最可靠的。 如果你是一个新的AWS用户,Ipson说你应该可以免费运行这个技术大约一年,之后你每个月的收费将低于20美分。 如果你想要一些真正免费的东西,你可以使用Heroku来设置它,用Ihop的文档中Heroku指令替换本指南的第2,3和4步。 但是,它的可靠性稍差,有些请求在使用时可能会超时。 如果您想要最好的体验,我们推荐AWS,这值得每月20美分。

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

为了这个工作,科迪需要有一个服务器可以从网络访问。 值得庆幸的是,这是内置到科迪,虽然你可能需要转发路由器上的一些端口,并执行一些其他的任务,才能顺利工作。

在您的媒体中心打开Kodi,然后进入系统>服务> Web服务器。 启用Web服务器,如果它尚未启用,并给它一个用户名和密码。 请务必使用您不用于任何其他服务的密码。

screenshot.2

你还需要你家的公共IP地址 但是,由于这可能会发生变化,我们强烈建议使用Dynu等服务注册动态域名。 如果您还没有,请继续阅读我们的指南

动态DNS

最后,你需要为你的Kodi盒子设置端口转发。 这将有所不同,从路由器到路由器,但你可以看看我们的指南在这里获取更多信息。 只要转发任何外部端口到您的Kodi框的本地IP地址(在我的情况下,192.168.1.12)和本地端口(默认为8080)。

注意:尽管默认情况下Kodi的本地端口是8080,但您可以将其更改为任何您想要的值,或者您可以将其转发到另一个外部端口以确保没有任何复杂性(因为其他应用程序可能要求端口8080)。 在本教程中,我正在使用8080,但是如果使用不同的东西,只需将您所选择的外部端口替换为端口8080的所有实例即可。

screenshot.3

如果一切顺利,您应该可以通过打开Web浏览器并输入以下内容访问Kodi的Web界面:

  my.dynamic-domain.com:8080 

其中my.dynamic-domain.com是动态域的URL, 8080是您在Kodi中设置的端口。 如果这不起作用,请确保Kodi,您的动态域名和端口转发都已正确设置。

第二步:设置您的Amazon Web Services帐户

接下来,您需要使用Amazon Web Services(AWS)设置帐户。 前往此页面并单击“创建AWS账户”。 根据提示登录您的亚马逊凭证。 如果您还没有AWS账户,系统会要求您输入您的联系信息以创建一个。 一定要检查顶部的“个人账户”。

aws1

通过向导中的其余步骤。 您还必须输入您的信用卡信息,但不要担心,就像我们所说的,如果有的话(特别是前12个月),您不应该收取太多的费用。

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

AWS2

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

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

接下来,系统会提示您设置权限。 单击“直接附加现有策略”,然后搜索“AdministratorAccess”。 检查AdministratorAccess选项并点击“Next:Review”。

确保你的用户看起来像下面的图片,然后点击“创建用户”。

不要关闭下一页! 你需要在这里获得访问密钥ID和秘密访问密钥(你需要点击“显示”来显示你的密钥)。 为了安全起见,将它们复制到一个文本文件中,因为在离开这个页面后你将无法再获得密钥。

一旦你把这些写下来,你可以安全地关闭窗口。

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

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

要在Windows上安装Python,请前往Python的下载页面并下载Python 2.7。 像运行其他Windows程序一样运行安装程序。 使用默认选项,因为我们需要Python安装程序附带的一些工具。

pythondownload

然后点击这里下载Ipson的代码。 将ZIP文件中的kodi-alexa-master文件夹解压缩到硬盘上的某处。

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

  C:\ Python27 \ Scripts \ pip.exe安装awscli 
  C:\ Python27 \ Scripts \ aws配置 

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

出现提示时粘贴Acces密钥ID和Secret Access密钥。 当询问您的默认地区名称时,请输入us-east-1 (如果您在美国)或欧洲eu-west-1 (如果您在欧洲)。 您可以保留默认输出格式为空(只需按Enter键)。

接下来,运行以下命令:

  C:\ Python27 \ Scripts \ pip.exe安装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文件夹中。 在代码友好的文本编辑器(如Notepad ++)中打开它,然后编辑以下四个四个变量:

 地址= 
端口= 
用户名= 
密码= 

address变量将是您在第一步中设置的动态地址(例如my.dynamic-domain.com ), port将是您在第一步中使用的端口(可能是8080,除非您更改),并且usernamepassword将会成为第一步的证书。

如果你的房子里有多个Kodi盒子,你也可以使用这个配置文件来分别用Alexa来控制它们。 我们不会在本指南中介绍,但您可以在这里找到Ipson文档的说明

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

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

有了这些变量,你的代码就可以部署了。 回到你的命令提示符,运行这两个命令:

  C:\ Python27 \ Scripts \ virtualenv venv 
  VENV \脚本\ activate.bat 

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

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

  pip install -r requirements.txt 
  pip安装包装 
  pip安装zappa 

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

接下来,你需要设置Zappa。 跑:

  zappa初始化 

它会带你通过一个向导。 只要接受一切的默认值。

最后,运行:

  zappa部署dev 

这会将您的代码部署到Lambda。 这将需要几分钟,所以让它运行。 最后,它会给你一个URL复制这个,因为你将在下一步需要它。

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

  python generate_custom_slots.py 

确保你的Kodi盒子在你运行这个脚本的时候打开并运行,因为它会从你的库中获取电影,演出和其他媒体的名字。

你快到了! 现在我们只需要为这个代码设置一个Alexa技能。

第五步:创建你的Alexa技能

为了将Ipson的代码与我们的Echo连接起来,我们需要创建一个使用该代码的Alexa“技能”。 这个应用程序不会被分发给任何人,它将永远在“测试模式”,连接到您自己的亚马逊帐户用于您的echo。

首先,建立一个免费的亚马逊开发者账户。 前往此页面 ,使用您的亚马逊账户登录,并注册开发者账户。 填写必填字段,同意条款,并在被问及是否要通过应用获利时说“不”。

screenshot.26

登录后,前往顶部工具栏中的“Alexa”。 点击“Alexa技能包”下的“开始使用”按钮。

Alexa的技能-1

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

Alexa的技能-2

给你的技能一个名字 - 我叫我的“科迪” - 并给它一个调用名称。 当你想调用一个命令时,这就是你会说的。 例如,我的调用名称也是“客厅”,这意味着我不得不说“请客厅...”给我的媒体中心提供Alexa命令。

根据我的经验,较长的调用名称比较短的名称工作得更好。 我用“科迪”一段时间(“要求科迪要...”),但Alexa偶尔也有麻烦寻找电影。 我不能告诉你为什么,但是像“起居室”这样的更长的调用名称对我来说几乎完美无缺。 所以请尝试选择带有几个音节的东西。

完成后单击下一步。

screenshot.29

点击下一个窗口中间的“添加socket类型”按钮。

screenshot.1

创建一个名为SHOWS的新socket。 回到您的kodi-alexa-master文件夹,用Notepad ++打开SHOWS文件,并将这些节目复制到亚马逊页面的框中。 这将有助于Alexa认识到你指定的节目。

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

完成后点击确定。

screenshot.2

用这些socket类型重复这个过程:MOVIES,MOVIEGENRES,MUSICARTISTS,MUSICALBUMS,MUSICSONGS,MUSICPLAYLISTS,VIDEOPLAYLISTS和ADDONS(如果你没有这些信息的话,就创建socket类型--Ipson的代码需要它 - 在文本框中写下“Empty”一词,不会造成任何问题。)

同样,你不需要在这些socket中的每一个表演,电影或艺术家,所以你不需要每次添加一个新的电影到你的图书馆更新它们。 每一个例子都有很好的例子。

创建所有九个socket类型后,请返回到kodi-alexa-master文件夹。 打开speech_assets文件夹,使用Notepad ++等应用程序打开IntentSchema.jsonSampleUtterances.txt文件。

选择IntentSchema.json文件中的所有文本,并将其粘贴到Amazon开发人员网站上的“Intent Schema”框中。 使用SampleUtterances.txt文件重复此过程,将文本放置在“Sample Utterances”框中。

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

screenshot.31

在下一页上,选择“HTTPS”作为端点类型,并粘贴到第四步结尾的URL中。 选择您的地理区域(北美或欧洲),并选择“否”进行帐户关联。 点击下一步。

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

screenshot.24

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

在“发布信息”页面上,填写必填字段,但不要过多担心放入的内容,因为您不会提交此应用进行认证。 你是唯一一个将使用这个应用程序的人。 这是一个108×108的图标一个512×512的图标供你使用。)完成后点击下一步。

screenshot.33

在最后一页上,为隐私问题选择“否”,然后选中Complicance框。 完成后点击“保存”按钮。 不要点击“提交认证”按钮。

Alexa的决赛

第六步:测试你的新命令

如果一切顺利,你现在应该可以测试你的新命令。 确保您的Kodi盒子已打开,并尝试说出如下内容:

“Alexa,请客厅玩第一季,第一集的朋友”

(...显然取而代之的是一个插曲,表明你已经在你的机器上)。这可能需要Alexa一个时刻,但希望她应该回应,并开始播放有问题的节目。 如果你得到一个错误,而这个插曲不能播放,那么请回去确保你做的一切都正确。

你可以问问Alexa是否有新的剧集,要求她扮演下一个节目,甚至可以用她来控制Kodi,效率可能不高(“Alexa,请客厅暂停”,“Alexa ,请客厅导航“等等)。 查看SampleUtterances.txt文件,查看Alexa可以用这个集成完成的所有事情。 如果您想添加与其中一个功能相对应的新短语,只需将其重新登录到Amazon开发者帐户,并将其添加到我们在第四步中粘贴的列表中。


这不是最快或最容易的事情,但是一旦你开始工作,在我看来,这很容易成为你能用Amazon Echo做的最酷的事情之一。 现在我可以在厨房做饭的时候开始看电视,或者当我的遥控器的电池没电的时候。 这是Amazon Echo设计的强大功能,即使需要一些工作,也是值得的。

遇到麻烦? 查看Kodi论坛上的这个主题 ,以及原始的GitHub页面 ,或者在我们下面的评论中删除一行。

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

如何用Amazon Echo控制您的Kodi媒体中心

alexa-kodi

遥控器是如此1950.如果你有一个Kodi媒体中心和一个亚马逊echo,你可以播放所有你喜欢的电影和节目与一个良好的声音命令...如果你愿意做一点设置。

在我们看来, 亚马逊echo智能家居最酷的部分之一 用手机控制你的灯,百叶窗和电视是很棒的,但用你的声音控制它们是真正的未来。 我是怀疑的,但很快就让人印象深刻 - 而且渴望更多。

能够打开电视机很酷,但我真正想要的是能够控制我的媒体中心。 我想能够说“播放下一集的好友”,让它搜索我的图书馆,看看我最后看到的,并开始播放随后的剧集。 经过一番搜索,我发现一个名叫乔·伊普森的进取程序员已经做到了这一点

这需要一点安装,起初看起来很吓人。 您需要创建一个Web服务器,从GitHub推送一些代码,并从命令行做一些工作,但是您不需要是一个程序员才能使其运行。 Ipson几乎完成了所有繁重的工作,只需要复制代码,编辑几个部分,并将其上传到正确的地方。 如果您按照本指南来信,您应该立即开始运行。

注意:我们在本教程中使用Amazon Web Services,因为它是最可靠的。 如果您是新的AWS用户,Ipson说您应该能够免费运行大约一年的技能,之后每月将收取少于20美分的费用。 如果你想要真正免费的东西,你可以使用Heroku进行设置,而不是用Ipson文档中Heroku指令来替换本指南中的第2步,3和4。 然而,这是一个不太可靠的一些请求可能会超时,当你使用它。 如果您希望获得最佳体验,我们建议您使用AWS,这非常值得每月20美分。

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

为了使其工作,Kodi将需要一个可从网络访问的服务器。 幸运的是,这是内置在柯迪,虽然您可能需要转发路由器上的一些端口,并执行一些其他任务之前,它的工作顺利。

在媒体中心打开Kodi,然后前往系统>服务> Web服务器。 启用Web服务器,如果没有启用,并给它一个用户名和密码。 请确保使用不用于任何其他服务的密码。

截图2

您还需要您家的公共IP地址 但是,由于这可能会改变,我们强烈建议使用Dynu等服务注册动态域名。 如果您还没有, 请继续阅读我们的指南

dynamicdns

最后,您需要为您的Kodi盒设置端口转发。 这将不同于路由器到路由器,但您可以在这里查看我们的指南了解更多信息。 只需将任何外部端口转发到您的Kodi盒(在我的情况下为192.168.1.12)和本地端口(默认为8080)的本地IP地址。

注意:默认情况下,Kodi的本地端口为8080,您可以将其更改为任何您想要的 - 或者将其转发到其他外部端口,以确保没有并发症(因为其他应用程序可能会要求端口8080)。 我在本教程中使用了8080,但是如果您使用不同的东西,只需将8080端口的所有实例替换为您在此处选择的外部端口。

截图3

如果一切顺利,您应该可以通过打开网络浏览器并输入进入Kodi的Web界面:

  my.dynamic-domain.com:8080 

其中my.dynamic-domain.com是动态域的URL, 8080是您在my.dynamic-domain.com中设置的端口。 如果这不行,请确保Kodi,您的动态域名和端口转发都已正确设置。

第二步:设置您的Amazon Web Services帐户

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

aws1

通过向导中的其余步骤。 您也必须输入您的信用卡信息,但不用担心,就像我们所说,如果有的话(特别是前12个月),你不应该收取很多费用。

验证您的身份与您的电话号码,并选择您的支持计划(我们建议基本,这是免费的),点击屏幕右上角的“完成注册”按钮。 亚马逊将会登录。

aws2

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

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

接下来,系统将提示您设置权限。 点击“直接附加现有政策”,然后搜索“AdministratorAccess”。 检查AdministratorAccess选项,然后单击“下一步:查看”。

确保您的用户看起来像下面的图像,然后单击“创建用户”。

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

一旦你写下来,你可以安全地关闭该窗口。

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

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

要在Windows上安装Python,请访问Python的下载页面并下载Python 2.7。 像任何其他Windows程序一样运行安装程序。 使用默认选择,因为我们需要Python安装程序附带的一些工具。

pythondownload

然后, 点击这里下载Ipson的代码。 将zip文件中的kodi-alexa-master文件夹解压缩到硬盘驱动器上的某个位置。

一旦安装,现在是时候进入命令行了。 按键盘上的Windows + X,然后选择“命令提示符”。 (Mac和Linux用户将要打开各自的终端应用程序)。 从那里,一个接一个地运行以下两个命令:

  C:\ Python27 \ Scripts \ pip.exe安装awscli 
  C:\ Python27 \ Scripts \ aws配置 

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

出现提示时,粘贴您的Acces密钥ID和密钥访问密钥。 当被问及您的默认地区名称时,键入us-east-1 (如果您在美国)或eu-west-1 (如果您在欧洲)。 您可以将默认输出格式设置为空(只需按Enter键)。

接下来,运行以下命令:

  C:\ Python27 \ Scripts \ pip.exe安装virtualenv 

您需要安装以后安装。

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

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

显然,将文件路径替换为保存kodi-alexa-master文件夹的路径。

从该提示中,运行以下命令:

  ren .env.example .env 

现在保持窗户开放,我们需要一会儿回来。

但首先,为了让Ipson的代码与Kodi和AWS设置一起使用,您需要在此.env文件中定义一些变量。 所以打开Windows资源管理器,转到您的kodi-alexa文件夹,并在像记事本++这样的应用程序中打开.env 您需要在此文件中编辑四个变量:

  KODI_ADDRESS = 
 KODI_PORT = 
 KODI_USERNAME = 
 KODI_PASSWORD = 

KODI_ADDRESS将是您在第一步中设置的动态地址(例如my.dynamic-domain.com )。 KODI_PORT将是您在第一步中使用的端口(可能是8080,除非您更改它)。 最后,从这里也输入您的Kodi用户名和密码。

保存文件,并返回到“命令提示符”窗口。

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

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

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

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

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

  pip install -r requirements.txt

 pip安装zappa 

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

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

  zappa init 

它会带你通过一个向导。 只要接受一切的默认值。

最后,运行:

  zappa部署dev 

这将部署您的代码到Lambda。 这将需要几分钟的时间,让它运行。 最后,它会给你一个URL复制这个,因为你需要它在下一步。

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

  python generate_custom_slots.py 

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

你几乎在那里 现在我们只需要为此代码设置一个Alexa技能。

第五步:创建您的Alexa技能

要将Ipson的代码与我们的echo连接起来,我们需要创建一个使用该代码的Alexa“技能”。 这个应用程序不会分配给任何人,它将永远在“测试模式”中,连接到您自己的Amazon帐户以与Echo一起使用。

要开始,建立一个免费的Amazon开发者帐户。 转到此页面 ,使用您的Amazon帐户登录,并注册开发人员帐户。 填写必填字段,同意条款,并在询问您是否要通过应用获利时说出“否”。

截图26

登录后,转到顶部工具栏中的“Alexa”。 点击“Alexa Skills Kit”下的“开始”按钮。

alexa技能1

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

alexa技能2

给你的技能一个名字 - 我叫我的“科迪”,并给它一个调用名称。 这是你想要调用一个命令时你会说的。 例如,我的调用名称也是“客厅”,这意味着我必须说“请客厅......”给我的媒体中心的Alexa命令。

根据我的经验,长时间的引用名称比较短的名字更好。 我使用了“Kodi”一段时间(“Ask Kodi to ...”),但是Alexa有时候找不到电影。 我不能告诉你为什么,但更长的调用名称,如“客厅”几乎完美地为我工作。 所以请尝试选择几个音节的东西。

完成后单击下一步。

截图29

点击下一个窗口中间的“添加socket类型”按钮。

截图1

创建一个名为SHOWS的新socket。 返回到您的kodi-alexa-master文件夹,使用记事本++打开SHOWS文件,并将显示复制到Amazon页面上的框中。 这将有助于Alexa识别您所要求的节目。

或者,您可以在框中列出一些电视节目,每行一个。 您不需要在Kodi图书馆添加每个节目,但是有一个体面的例子是很好的(我发现20或30是相当不错的)。

完成后单击确定。

截图2

使用这些socket类型重复此过程:电影,电影,音乐,音乐,音乐,音乐播放列表,视频列表和ADDONS(如果您没有任何这些信息,请创建socket类型 - Ipson的代码需要它 - 只是在框中写“空”,不会造成任何问题。)

再次,您不需要在这些socket中的每一个单独的节目,电影或艺术家,所以您每次将新影片添加到您的媒体库时,都不需要更新。 它只是有助于在每个例子中有一个体面的例子。

当您创建了所有九种socket类型后,返回到kodi-alexa-master文件夹。 打开speech_assets文件夹,并使用类似Notepad ++的应用程序打开IntentSchema.jsonSampleUtterances.txt文件。

选择IntentSchema.json文件中的所有文本,并将其粘贴到Amazon Developer网站上的“Intent Schema”框中。 使用SampleUtterances.txt文件重复此过程,将文本放在“示例语句”框中。

完成后,单击下一步。 建立互动模式可能需要一些时间。

截图31

在下一页,选择端点类型的“HTTPS”,并粘贴到第四步结束时所得到的URL中。 选择您的地理区域(北美或欧洲),然后选择“否”用于帐户链接。 点击下一步。

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

截图24

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

在“发布信息”页面上,填写所需的字段,但不要过于担心,因为您不会提交此应用程序进行认证。 你是唯一一个会使用这个应用程序的人。 这是108×108图标512×512图标供您使用。)完成后单击下一步。

截图

在最后一页上,为这两个隐私问题选择“否”,并检查“复杂”框。 完成后点击“保存”按钮。 不要点击“提交认证”按钮。

alexa-final

第六步:测试你的新命令

如果一切顺利,您现在应该能够测试新的命令。 确保您的Kodi框已打开,并尝试说:

“Alexa,问客厅玩第一季,第一集的朋友”

(...明显地取代了一个插曲,并显示你在你的机器上)。可能需要Alexa一会儿,但希望她应该回应并开始播放有关的节目。 如果您收到错误并且剧集不播放,请返回,并确保您已正确完成所有操作。

你可以问Alexa,如果你有任何新的剧集,请她播放下一集节目,甚至使用她来控制Kodi,效率低下(“Alexa,要求客厅暂停”,“Alexa ,请求客厅向下导航“等)。 查看SampleUtterances.txt文件,查看Alexa可以使用此集成的所有功能。 如果您想要添加一个对应于其中一个功能的新短语,只需重新登录到Amazon开发者帐户,并将其添加到我们在第四步中粘贴的列表中。

如果您有多个Kodi框,您可以为每个Kodi框创建一个新的kodi-alexa文件夹,然后重复第二步到五,使用不同的Zappa名称(当它询问什么您要呼叫此环境“)和不同的Alexa技能(具有不同的调用名称)。 例如,我有一个第二个应用程序控制我的卧室里的Raspberry Pi,让我“卧室”来播放新的节目。


这不是设置的最快或最简单的事情,但一旦你得到它的工作,这很容易是你可以做的最好的事情之一,你的亚马逊echo,在我看来。 现在,我可以在厨房做饭的时候开始看电视,或是遥控器的电池死了。 这是亚马逊echo设计的一种力量,即使它需要一些工作,这是值得的。

遇到麻烦? 在Kodi论坛上查看这个主题 ,以及原始的GitHub页面 ,或者在我们的评论中放一行。

来自doomu / Bigstock和Amazon的标题图片。

如何使用Amazon Echo控制您的Kodi Media Center

alexa-kodi

遥控器是这样1950年。如果你有一个Kodi媒体中心和亚马逊Echo,你可以播放所有你最喜欢的电影和节目与一个良好的声音命令...如果你愿意做一个小的安装。

亚马逊的echo ,在我们认为,一个智能家居的最酷的部分 用你的手机控制你的灯,百叶窗和电视很酷,但用你的声音控制它们是真正的未来。 我怀疑,但很快变得印象深刻,渴望更多。

能够打开我的电视很酷,但我真正想要的是能够控制我的媒体中心。 我想能够说“播放下一集的朋友”,让它搜索我的图书馆,看看我最后看了什么,并开始播放后续剧集。 和一点的搜索后,我发现一个名为进取的程序员乔Ipson已经做到了这一点

这需要一些设置,它看起来非常吓人。 您将需要创建一个Web服务器,从GitHub推送一些代码,并从命令行做一些工作,但你不需要是一个程序员来让它和运行。 Ipson已经做了几乎所有的繁重工作,你只需要复制他的代码,编辑几个部分,并上传到正确的地方。 如果你按照本指南的信,你应该立即开始运行。

注意:本指南的以前版本使用Heroku作为教程的Web服务器部分,虽然它工作,有一些怪癖,显着告诉你命令失败,即使没有。 我们更新了本教程以使用Amazon Web Services,应该更加平滑。 如果你想使用Heroku的(比方说,如果你使用的是不会有这些怪癖付费计划),你可以看到Ipson的文档中说明

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

为了这个工作,Kodi将需要有一个可从网络访问的服务器。 幸运的是,这是内置Kodi,虽然你可能需要转发一些端口在路由器上,并执行一些其他任务,在它顺利工作之前。

在媒体中心上打开Kodi,然后转到系统>服务> Web服务器。 启用Web服务器(如果尚未启用),并为其指定用户名和密码。 请务必使用您不用于任何其他服务的密码。

screenshot.2

您还需要公网IP地址为您的家庭 然而,由于这种可以改变,我们强烈建议您注册使用类似的服务的动态域名Dynu 这里按照我们的指导 ,然后再继续,如果你不已经有一个。

dynamicdns

最后,您需要为您的Kodi框设置端口转发。 这将从路由器不同而不同,但你可以在这里查看我们的指南以获取更多信息。 只需将任何外部端口转发到您的Kodi盒的本地IP地址(在我的情况下,192.168.1.12)和本地端口(默认为8080)。

注意:Kodi的本地端口默认为8080,您可以将其更改为任何您想要的,或者您可以将其转发到一个不同的外部端口,以确保没有复杂性(因为其他应用程序可能会要求端口8080)。 我在本教程中使用8080,但如果你使用不同的东西,只是你选择这里的外部端口替换端口8080的所有实例。

截图3

如果一切顺利,您应该能够访问Kodi的网络界面,方法是打开Web浏览器并输入:

  my.dynamic-domain.com:8080 

其中, my.dynamic-domain.com是你的动态域名的URL,而8080是您在科迪设置的端口。 如果这不工作,请确保Kodi,您的动态域和您的端口转发都设置正确。

第二步:设置您的Amazon Web Services帐户

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

aws1

完成向导中的其余步骤。 您还必须输入您的信用卡信息,但不要担心,除非您在一个月内超过1,000,000次请求,否则不会被扣款,除非您看过太多的电视,否则不会发生。 因此,即使亚马逊需要您的信用卡信息,您不应该为AWS收取费用。

通过电话号码验证您的身份并选择支持计划(我们建议您免费使用基本功能)后,请点击屏幕右下角的“完成注册”按钮。 亚马逊会登录您。

aws2

第三步:安装Python 2.7和设置你的变量

为了将Ipson的代码推送到AWS,您需要在计算机上安装Python 2.7。 我们将在本教程中使用Windows,但是您也应该能够在macOS和Linux上执行此操作。

要在Windows上安装Python, 前往Python的下载页面和下载的Python 2.7。 像运行任何其他Windows程序一样运行安装程序。 使用默认选择,因为我们需要一些与Python的安装程序一起提供的工具。

pythondownload

然后, 请点击此处下载Ipson的代码。 将ZIP文件中的kodi-alexa-master文件夹解压到硬盘驱动器上的某个位置。

为了使Ipson的代码与您的Kodi和AWS设置配合使用,您需要在代码中定义一些变量。 前往您的科迪- Alexa的主文件夹,并像一个应用程序编辑.ENV文件记事本+ + 您需要在此文件中编辑七个变量。 让我们从前四个开始:

  KODI_ADDRESS = 
 KODI_PORT = 
 KODI_USERNAME = 
 KODI_PASSWORD = 

KODI_ADDRESS将是你在第一步中建立动态地址(例如my.dynamic-domain.com )。 KODI_PORT将是您在第一步中使用的端口(可能为8080,除非您更改它)。 最后,在这里从第一步输入您的Kodi用户名和密码。

您还需要在文档底部编辑三个变量:

  AWS_ACCESS_KEY_ID =
 AWS_SECRET_ACCESS_KEY =
 LAMBDA_ROLE = 

您将从AWS控制台获取这些。 团长身份和访问管理页面 (重新登录到AWS如有必要),然后点击左侧的“用户”选项卡。 单击“创建新用户”按钮。

aws3

使用任何您想要的用户名创建新用户。

aws4

点击“创建用户”后,您将有机会访问该用户的安全凭据。 单击“显示用户安全凭据”并复制两个访问键。 将它们分别粘贴到AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY下的.env文件中。 完成后,单击AWS窗口上的关闭。

aws5

接下来,点击左侧的“用户”标签,然后选择您的用户。 单击“权限”选项卡,然后单击“附加策略”按钮。

awsuserattach

在显示的附加策略屏幕上,向下滚动到“AWSLambdaFullAccess”并检查它。 单击附加策略按钮。 您的用户现在有权使用Lambda。

awsuserlambda

现在,单击左侧的“角色”选项卡,然后单击“创建新角色”。 我们将创建一个用于运行Lambda函数的角色。 再次,你可以命名它任何你想要的。 单击下一步。

aws6

在“选择角色类型”步骤中,单击“AWS Lambda”旁边的“选择”按钮。

aws7

在显示的附加策略屏幕上,向下滚动到“AWSLambdaFullAccess”并检查它。 单击下一步按钮。

aws8

在Review页面,复制角色ARN值,这看起来像arn:aws:iam::11111111111:role/lambda ,并将其复制到LAMBDA_ROLE下.ENV文件。

单击AWS中的创建角色按钮完成。

aws9

在这一点上,你的.env文件应该看起来很漂亮,像这样:

  KODI_ADDRESS = my.dynamic-address.com
 KODI_PORT = 8080
 KODI_USERNAME = kodi
 KODI_PASSWORD = mysupersecretpassword
 LAMBDA_ENV_VARS = KODI_PASSWORD,KODI_USERNAME,KODI_PORT,KODI_ADDRESS
 AWS_DEFAULT_REGION = us-east-1
 LAMBDA_TIMEOUT = 60
 LAMBDA_MEMORY_SIZE = 128
 LAMBDA_HANDLER = wsgi.lambda_handler
 AWS_ACCESS_KEY_ID = ABCDEFGHIJKLMNOPQRST
 AWS_SECRET_ACCESS_KEY = ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMN
 LAMBDA_ROLE = arn:aws:iam :: 11111111111:role / lambda 

如果一切看起来不错,保存对.env文件的更改继续下一步。

第四步:将代码推送到AWS

现在是时候让你的代码运行。 按键盘上的Windows + X,然后选择“命令提示符”。 (Mac和Linux用户将要打开他们各自的终端应用程序)。 使用以下命令将CD插入到您的kodi-alexa-master文件夹中:

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

显然,将文件路径替换为保存kodi-alexa-master文件夹的路径。

cdkodialexa

然后,运行以下命令:

  C:\ Python27 \ Scripts \ pip.exe安装lambda-deploy 

这将安装将您的代码部署到AWS的lambda scrip。 如果您在默认情况下将Python安装在不同的文件夹中,则可能需要将文件路径更改为pip.exe。

aws10

然后,运行:

  C:\ Python27 \ Scripts \ lambda-deploy.exe deploy 

这将部署您的代码。 如果一切顺利,你应该在这里看到一个成功的消息。

aws11

最后, 头向AWS控制台上的LAMBDA页面 ,并点击“开始使用现在”按钮(如果你以前从未使用过的lambda在AWS)。 您应该在列表中看到您的函数。 点击它。

aws12

转到“触发器”选项卡,然后单击“添加触发器”。

aws13

点击空白框并选择“Alexa Skills Kit”。 单击提交。

aws14

在页面的左上角,你会看到一个ARN(形式为arn:aws:lambda:us-east-1:111111111111:function:kodi-alexa-master ,复制并保存在一个安全的地方 - 你需要它在下一步。

现在您的代码已在AWS上设置,您只需要将Echo指向它。

第五步:创建您的Amazon“App”

要将Ipson的代码与我们的Echo连接,我们需要为Alexa创建一个“app”或者Skill。 这个应用程序不会被分发给任何人,它将只是在“测试模式”永远,连接到您自己的Amazon帐户使用您的Echo。

首先,设置一个免费的Amazon开发者帐户。 前往这个页面 ,你的亚马逊帐户登录,并注册一个开发者账户。 填写必填字段,同意条款,并在系统询问您是否要通过应用获利时说“否”。

截图26

登录后,转到顶部工具栏中的“Alexa”。 点击“Alexa Skills Kit”下的“开始”按钮。

alexa-skills-1

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

alexa-skills-2

给你的技能一个名字 - 我称我的“Kodi” - 并给它一个调用名称。 这是当你想调用一个命令时你会说什么。 例如,我的调用名称也是“客厅”,这意味着我必须说“问客厅......”给Alexa命令我的媒体中心。

在我的经验,长调用名称工作比较短。 我使用“Kodi”一段时间(“Ask Kodi to ...”),但是Alexa偶尔找不到电影。 我不能告诉你为什么,但更长的调用名称,如“客厅”几乎完美无缺地为我工作。 所以尝试选择一些与几个音节。

完成后单击下一步。

screenshot.29

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

screenshot.1

创建一个名为新socketSHOWS ,并列出你的一些电视节目在框中,每一条线,我有大约20-30显示了我的。 你不需要在Kodi库中添加每个节目,但是有很多例子很好。 这将有助于Alexa认识你决定的节目。 完成后单击“确定”。

screenshot.2

重复此过程,用两个socket类型: MOVIESMUSIC (如果您没有音乐库,请创建socket类型--Ipson的代码需要它 - 并且只需要粘贴一些随机的艺术家名字,这不会导致任何问题。)

截图30

注:如果您发现20-30随机物品是不够的,Alexa的认识到你的命令,试试这个socketGenerators乔Ipson,也。 它会扫描您的图书馆,并在您的Kodi框上创建一个每个电影,显示和艺术家的列表,以确保Alexa每次都正确。

当您创建了所有三个socket类型,回到您从您的PC从GitHub中提取的文件夹。 找到alexa.intentsalexa.utterances文件。 像一个应用程序中打开他们两个记事本+ +

截图30

选择的所有文本alexa.intents文件并将其粘贴到亚马逊开发者网站上的“意图模式”复选框。 重复此过程,与alexa.utterances文件,将在“示例Discourse”框中的文本。

完成后,单击下一步。

截图31

在接下来的页面中,选择“AWS LAMBDA ARN”端点和你在第四步(年底写下的ARN粘贴arn:aws:lambda:us-east-1:111111111111:function:kodi-alexa-master )。 为帐户关联选择“否”,然后单击下一步。

screenshot.23-1-650x305

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

screenshot24

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

在“发布信息”页面上,填写必填字段,但不要过于担心放置的内容,因为您不会提交此应用程序进行认证。 你是唯一一个将使用这个应用程序。 这是一个108×108的图标一个512×512的图标供你使用。)完成后,单击下一步。

截图

在最后一页上,为两个隐私问题选择“否”,然后选中“投诉”框。 完成后,点击“保存”按钮。 不要点击“提交认证”按钮。

alexa-final

第六步:测试你的新命令

如果一切顺利,你应该能够测试你的新命令了。 确保您的Kodi框已打开,并尝试说:

“Alexa,请客厅打季节,第一集的朋友”

(...显然用一个插曲取代,并显示你在你的机器上。)可能需要Alexa一会儿,但希望她应该回应,开始播放有问题的节目。 如果你得到一个错误,剧集不播放,回去,并确保你做的一切正常。

你可以问Alexa,如果你有任何新的剧集,要求她播放节目的下一集,或者甚至使用她控制Kodi,因为它可能是低效的(“Alexa,要求客厅暂停,”“Alexa ,请客厅向下导航“等)。 退房alexa.utterances文件中看到所有的东西,访问量可以用这种集成做。 如果你想添加一个对应于这些功能之一的新短语,只需重新登录到您的Amazon开发者帐户,并将其添加到我们在第四步中粘贴的列表。

如果你有多个Kodi框,你可以为每个框做到这一点 - 你只需要在AWS和Amazon上为每个框创建一个新的应用程序(并给每个不同的调用名)。 例如,我有一个第二个应用程序控制Raspberry Pi在我的卧室,让我“问卧室”玩新节目。


这不是完美的,它是不是没有它成长的痛苦,当我第一次设置。 但一旦你得到它的工作,这很容易是你可以做的最酷的事情之一与你的Amazon Echo,在我看来。 现在我可以开始看电视,而在厨房里做饭,或当我的遥控器的电池死了。 这是亚马逊Echo设计的一种功能,即使它需要一些工作,它是非常值得的。

遇到麻烦? 看看这个线程在科迪论坛 ,以及原GitHub的页面 ,或掉落在下面我们的看法一条线。

从标题图像doomu /图网和亚马逊。

赞 (1)
分享到:更多 ()