Skip to main content

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

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

Geoffrey Carr

遙控器是如此1950年。如果你有一個Kodi媒體中心和一個亞馬遜迴聲,你可以播放所有你最喜歡的電影和節目與一個良好的語音命令...如果你願意做一點設置。

在我們看來,亞馬遜Echo是智能家居中最酷的部分之一。使用手機控制燈光,百葉窗和電視很酷,但用聲音控制它們確實是未來。我對此持懷疑態度,但很快就給人留下了深刻的印象 - 並渴望更多。

能夠打開電視很酷,但我真正想要的是能夠控制我的媒體中心。我希望能夠說“播放朋友的下一集”並讓它搜索我的圖書館,看看我上次觀看的內容,然後開始播放後續劇集。經過一番搜索,我發現一位名叫Joe Ipson的有進取心的程序員已經做到了這一點。

這需要一些設置,一開始看起來非常令人生畏。你需要創建一個Web服務器,從GitHub推送一些代碼,並從命令行做一些工作,但你不需要成為一個程序員來啟動和運行它。 Ipson幾乎完成了所有繁重的任務,您只需要復制他的代碼,編輯幾個部分,然後將其上傳到正確的位置。如果您按照本指南的說明操作,那麼您應該立即啟動並運行。

注意:我們在本教程中使用Amazon Web Services,因為它是最可靠的。如果您是新的AWS用戶,Ipson說您應該能夠免費運行該技能大約一年,之後您將被收取低於每月20美分的費用。如果你想要一些真正免費的東西,你可以使用Heroku來設置它,用Ipson文檔中的Heroku指令替換本指南的第二步,第三步和第四步。但它的可靠性稍差,有些請求可能會在您使用時超時。如果您希望獲得最佳體驗,我們建議您使用AWS,這非常值得每月20美分。

第一步:準備您的Kodi Web服務器

為了實現這一點,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

where my.dynamic-domain.com 是動態域的URL,和 8080 是您在科迪設置的港口。如果這不起作用,請確保Kodi,您的動態域和端口轉發都已正確設置。

第二步:設置您的Amazon Web Services帳戶

接下來,您需要使用Amazon Web Services(AWS)設置帳戶。前往此頁面並單擊“創建AWS賬戶”。出現提示時,使用您的Amazon憑據登錄。如果您還沒有AWS賬戶,系統會要求您輸入聯繫信息以創建一個。務必查看頂部的“個人帳戶”。

完成嚮導中的其餘步驟。您還必須輸入您的信用卡信息,但不要擔心 - 就像我們說的那樣,如果有的話(尤其是前12個月),您不應該被收取太多費用。

在使用您的電話號碼驗證您的身份並選擇支持計劃(我們建議免費使用Basic)後,單擊屏幕右上角的“完成註冊”按鈕。亞馬遜然後會登錄你。

現在轉到Identity and Access Management頁面(如有必要,請重新登錄AWS),然後單擊左側的“Users”選項卡。單擊“添加用戶”按鈕。

使用您想要的任何用戶名創建新用戶。選中“Programmatic Access”框,然後單擊“Next:Permissions”。

接下來,系統將提示您設置權限。單擊“直接附加現有策略”,然後搜索“AdministratorAccess”。檢查AdministratorAccess選項,然後單擊“下一步:查看”。

確保您的用戶看起來像下面的圖像,然後單擊“創建用戶”。

不要關閉下一頁!您需要在此處獲取訪問密鑰ID和秘密訪問密鑰(您需要單擊“顯示”以顯示您的密鑰)。將它們複製到文本文件以便安全保存,因為在您離開此頁面後將無法再次獲取密鑰。

記下這些後,您可以安全地關閉該窗口。

第三步:安裝Python 2.7並設置變量

為了將Ipson的代碼推送到AWS,您需要在計算機上安裝Python 2.7。我們將在本教程中使用Windows,但您也應該能夠在macOS和Linux上執行此操作。

要在Windows上安裝Python,請訪問Python的下載頁面並下載Python 2.7。像運行任何其他Windows程序一樣運行安裝程序。使用默認選擇,因為我們需要Python安裝程序附帶的一些工具。

然後,單擊此處下載Ipson的代碼。解壓縮硬盤驅動器上某個ZIP文件中的kodi-alexa-master文件夾。

安裝完成後,就可以深入了解命令行。按鍵盤上的Windows + X,然後選擇“命令提示符”。 (Mac和Linux用戶希望打開各自的終端應用程序)。從那裡,一個接一個地運行以下兩個命令:

C:Python27Scriptspip.exe install awscli C:Python27Scriptsaws configure

這將安裝AWS命令行工具並啟動配置工具。

出現提示時粘貼您的Acces密鑰ID和秘密訪問密鑰。當詢問您的默認區域名稱時,請鍵入us-east-1 (如果你在美國)或 eu-west-1 (如果你在歐洲)。您可以將默認輸出格式保留為空(只需按Enter鍵)。

接下來,運行以下命令:

C:Python27Scriptspip.exe install virtualenv

你需要安裝它以便以後使用。

現在使用以下命令將CD刻錄到您的kodi-alexa-master文件夾中:

CD C:UsersWhitsonDocumentsCodekodi-alexa-master

顯然,將文件路徑替換為保存kodi-alexa-master文件夾的路徑。

暫時保持窗口打開,我們需要馬上回來。

首先,為了使Ipson的代碼能夠與您的Kodi和AWS設置一起使用,您需要在配置文件中定義一些變量。下載此模板,將其重命名為 kodi.config ,並將其保存在您的kodi-alexa-master文件夾中。在像Notepad ++這樣的代碼友好的文本編輯器中打開它,並編輯以下四個四個變量:

address = port = username = password =

address 變量將是您在第一步中設置的動態地址(例如 my.dynamic-domain.com ), port 將是您在第一步中使用的端口(可能是8080,除非您更改它),以及 usernamepassword 將是第一步的憑據。

如果您家中有多個Kodi盒子,您也可以使用此配置文件分別使用Alexa控制它們。我們不會在本指南中介紹它,但您可以在此處找到Ipson文檔中的說明。

完成後,保存文件並返回“命令提示符”窗口。

第四步:將您的代碼推送到AWS

有了這些變量,您的代碼就可以進行部署了。回到命令提示符,運行以下兩個命令:

C:Python27Scriptsvirtualenv venv venvScriptsactivate.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技能

要將Ipson的代碼與我們的Echo連接起來,我們需要創建一個使用該代碼的Alexa“技能”。此應用程序不會分發給任何人,它將永遠處於“測試模式”,連接到您自己的亞馬遜帳戶,以便與您的Echo一起使用。

首先,設置一個免費的Amazon Developer帳戶。前往此頁面,使用您的亞馬遜帳戶登錄,並註冊開發者帳戶。當您被問及是否要通過應用獲利時,請填寫必填字段,同意條款並說“不”。

登錄後,前往頂部工具欄中的“Alexa”。單擊“Alexa Skills Kit”下的“開始使用”按鈕。

接下來,單擊“添加新技能”按鈕。

給你的技能一個名字 - 我稱之為“Kodi” - 並給它一個調用名稱。當你想調用命令時,這就是你要說的。例如,我的調用名稱也是“起居室”,這意味著我將不得不說“讓起居室......”為我的媒體中心提供Alexa命令。

根據我的經驗,長調用名稱比短調用名稱更好。我使用了“Kodi”一段時間(“Ask Kodi to ...”),但Alexa偶爾會找不到電影。我無法告訴你為什麼,但更長的調用名稱,如“起居室”對我來說幾乎完美無缺。所以嘗試選擇一些帶有幾個音節的東西。

完成後單擊“下一步”

單擊下一個窗口中間的“添加槽類型”按鈕。

創建一個名為的新插槽 SHOWS。回到你的kodi-alexa-master文件夾,用Notepad ++打開SHOWS文件,然後將這些節目複製到亞馬遜頁面的方框中。這將有助於Alexa識別您指定的節目。

或者,您可以在框中列出一些電視節目,每行一個。您不需要在Kodi庫中添加每個節目,但是有一個相當數量的示例(我發現20或30非常好)是很好的。

完成後單擊“確定”。

使用這些插槽類型重複此過程:MOVIES,MOVIEGENRES,MUSICARTISTS,MUSICALBUMS,MUSICSONGS,MUSICPLAYLISTS,VIDEOPLAYLISTS和ADDONS(如果您沒有任何信息,請創建插槽類型 - Ipson的代碼需要它 - 而且只是在框中寫下“Empty”這個詞。它不會造成任何問題。)

同樣,您不需要在這些插槽中顯示每個節目,電影或藝術家,因此每次向庫中添加新電影時都不需要更新它們。每個例子中都有相當多的例子。

當您創建了所有九個Slot Types時,請返回kodi-alexa-master文件夾。打開speech_assets文件夾並打開 IntentSchema.jsonSampleUtterances.txt 使用Notepad ++等應用程序的文件。

選擇中的所有文本 IntentSchema.json 將其存檔並粘貼到Amazon Developer網站上的“Intent Schema”框中。用這個重複這個過程 SampleUtterances.txt 文件,將文本放在“Sample Utterances”框中。

完成後,單擊“下一步”。構建交互模型可能需要一些時間。

在下一頁上,為端點類型選擇“HTTPS”並粘貼您在第四步結束時獲得的URL。選擇您的地理區域(北美或歐洲),然後選擇“否”進行帳戶關聯。點擊下一步。

在下一頁上,選擇“我的開發端點是具有來自證書頒發機構的通配符證書的域的子域”。點擊下一步。

您不需要在“測試”頁面上添加任何信息,但如果您知道自己在做什麼,則可以測試代碼的某些方面。否則,單擊“下一步”

在“發布信息”頁面上,填寫必填字段 - 但不要過於擔心您輸入的內容,因為您不會提交此應用程序進行認證。你是唯一一個將使用這個應用程序的人。 (這是一個108×108圖標和512×512圖標供您使用。)完成後單擊“下一步”。

在最後一頁上,為兩個隱私問題選擇“否”,然後選中“複雜”框。完成後單擊“保存”按鈕。請勿單擊“提交認證”按鈕。

第六步:測試你的新命令

如果一切順利,您應該能夠立即測試新命令。確保你的Kodi盒子已打開,並試著說:

“Alexa, ask the living room to play season one, episode one of Friends”

(...顯然用一集替換了那個,並表明你已經在你的機器上了。)Alexa可能需要片刻,但希望她應該回應並開始播放有問題的節目。如果您收到錯誤且劇集無法播放,請返回並確保您已正確完成所有操作。

您可以詢問Alexa是否有任何新劇集,請她播放下一集節目,或者甚至用她來控制Kodi,儘管效率低下(“Alexa,要求客廳暫停”,“Alexa ,請客廳向下導航,“等等。看看 SampleUtterances.txt 文件以查看Alexa可以通過此集成執行的所有操作。如果您想要添加與其中一個功能相對應的新短語,只需重新登錄您的Amazon Developer帳戶並將其添加到我們在第四步中粘貼的列表中。


這不是最快或最簡單的設置,但是一旦你開始工作,在我看來,這很容易就是你用Amazon Echo做的最酷的事情之一。現在,我可以在廚房做飯時,或者當我的遙控器電池耗盡時開始看電視。這是Amazon Echo設計的那種功能,即使它需要一些工作,但它非常值得。

遇到麻煩?在Kodi論壇以及原始GitHub頁面上查看此主題,或在下面的評論中刪除一行。

來自doomu / Bigstock和亞馬遜的標題圖片。

Link
Plus
Send
Send
Pin