2016-11-25 56 views
2

我正在開發一個插件(可能是他們的回聲特定字),這將允許我控制一些本地硬件設備。這些設備有一個簡單的HTTP接口,因此應該只需要很少的管道,但是到目前爲止我所做的所有閱讀(我是Echo API的新手,因此還沒有那麼多)表明您的代碼可以遠程執行在'雲'中。情況就是這樣,它會努力獲取本地資源而不使它們面對網絡(這是不可能的)。回聲點可以與本地設備「通話」,還是一切都通過雲?

作爲一個例子,我想寫一些東西,當你說「打開廚房燈」。回聲框會向本地控制器發起http呼叫,即http://192.168.0.4/Light?room=kitchen&state=on

這是可能的,如果有的話,是否有任何有關我工作的簡單示例。

謝謝

回答

3

他們被稱爲技能。

首先是壞消息:您所說的Echo不會與本地網絡上的服務通話。

人們這樣做的方式是使用Bespoken Toolsngrok從AWS lambda技能代理您家中的服務器的命令。該服務器進行對設備的調用。

這裏是用Ruby一個例子:Alexa HUE

讓我知道如果您有更多問題。

+0

謝謝我會仔細看看這個例子,但它似乎涵蓋了我需要的大多數概念。它的限制是他們不允許本地網絡訪問,任何想法是什麼是理性的? ngrok似乎是一個很好的解決愛好項目的方法。它似乎是許多家庭自動化軟件正在推進的方式,將所有東西推到雲端,但最後一件事是你需要互聯網下去,你無法進入你的房子...... – Sprotty

+0

尊重,這個答案是錯誤的。請參閱下面的答案。 – pinoyyid

-1

是的,它是可能的。請參閱https://www.npmjs.com/package/node-red-contrib-alexa-local以獲取允許Alexa通過模擬飛利浦Hue來控制本地設備的節點紅色插件。

不需要雲技能!

我的本地設置有燈光,加熱器和我的前門鎖都由Alexa控制。關鍵在於Alexa已經擁有了一種內置的HA技能,例如Philips Hue。所以假設你有一些模擬飛利浦Hue的東西,你就全都設置好了。我鏈接的節點紅色技能就是這樣做的。

所以,我的設置是: -

的Alexa --->節點紅(使用我連接到模塊)---> MQTT經紀人--->我的設備

節點紅和MQTT(Mosquitto)都在Pi上運行,那就是我的「hub」。我的設備各不相同,所以有些Sonoff正在運行Tasmoto,另一些則使用我製造的自定義NodeMCU板卡。一旦你運行了Node-red,你可以使用幾乎任何界面來與任何設備通話。但是,對於HA來說,MQTT是最好的路線,而不是HTTP。

對於遠程訪問,我使用node-red中的Telegram模塊來偵聽來自我創建的Telegram機器人的命令。這意味着我可以坐在火車上並打開「加熱器打開」。

相關問題