帶有WeMo開(kāi)關(guān)和Amazon Echo語(yǔ)音功能的Sonos控制器
資料介紹
描述
我沒(méi)有編輯我的原始文章。但是做了相當(dāng)大的改動(dòng)。如果 Sonos 狀態(tài)發(fā)生變化,我沒(méi)有使用 IFTTT 打開(kāi)/關(guān)閉 WeMo,而是使用粒子的直接 SOAP 命令來(lái)完成它。這種方法更健壯,因?yàn)椋?/font>
- 避免延遲,使用 IFTTT 可能會(huì)延遲 5 秒以上
- 有一個(gè)循環(huán)引用,在某些情況下使以前的解決方案不穩(wěn)定(WeMo 開(kāi)關(guān)的更改通過(guò) IFTTT 觸發(fā)了 Particle 上的功能,進(jìn)而觸發(fā)了 WeMo 開(kāi)關(guān))
我不會(huì)編輯所有的文章,但會(huì)指出一些主要差異。新的軟件在 github 上。
高級(jí)系統(tǒng)視圖如下圖所示。
只需要這個(gè) IFTTT 配方(請(qǐng)注意顯示 ON,也需要 OFF,只需在所有字段中將 ON 與 OFF 交換)。如果您根據(jù)我最初的文章 (IF Particle THEN WeMo) 創(chuàng)建了另一個(gè),請(qǐng)刪除或禁用那個(gè)。
我對(duì)軟件做了一些整體更改,但主要區(qū)別在于添加了 SOAP 調(diào)用以啟動(dòng)/停止 WeMo 開(kāi)關(guān)),示例如下
對(duì)于 SW 使用 NewController 文件
?
請(qǐng)注意,使用此配置,您還需要為 WeMo 交換機(jī)創(chuàng)建一個(gè)靜態(tài)地址。按照“如何獲取和鎖定 Sonos IP 地址”的說(shuō)明進(jìn)行操作
?
************************原始未經(jīng)編輯的項(xiàng)目
我家里的一個(gè) Sonos 是 CONNECT,這是我的家庭放大器音樂(lè)來(lái)源。挑戰(zhàn)在于在播放 Sonos 時(shí)打開(kāi)/關(guān)閉放大器。伸手去拿遙控器的需要在很大程度上消除了在我的應(yīng)用程序中點(diǎn)擊始終可用的 Sonos 的便利性。當(dāng)然,CONNECT:AMP 旨在成為始終在線的集成放大器的組件。但可能有多種原因?qū)е逻@不是選項(xiàng):
- 家里的立體聲可能更高級(jí),帶有發(fā)燒級(jí)放大器和揚(yáng)聲器;只需要源來(lái)驅(qū)動(dòng)它(順便說(shuō)一句——也有這樣的安裝;Sonos 有點(diǎn)完美,但它有相當(dāng)高的抖動(dòng);這可以通過(guò)介于兩者之間的抖動(dòng)消除帶 DAC 設(shè)備來(lái)克服,有效地使 Sonos 成為高質(zhì)量聯(lián)網(wǎng) CD;我只希望能支持 44.1kHz 以上的氣流)
- 安裝支持帶吸頂揚(yáng)聲器的多個(gè)區(qū)域;理論上可以用多個(gè) CONNECT:AMP(s) 代替,但這太麻煩了
放大器通常不會(huì)一直保持開(kāi)啟狀態(tài)。它要么消耗太多能量,要么就像我的情況一樣,另外它被安置在一個(gè)柜子里,所以讓它 24/24 供電只會(huì)產(chǎn)生相當(dāng)多的熱量。
我查看了市場(chǎng)上的解決方案,發(fā)現(xiàn)有可以檢測(cè)音樂(lè)信號(hào)并能夠打開(kāi)/關(guān)閉開(kāi)關(guān)的模擬開(kāi)關(guān)。除了不是很便宜,我發(fā)現(xiàn)它非常有限,并開(kāi)始尋找更好的方法。
我的解決方案是使用 Particle Photon 檢測(cè) Sonos 狀態(tài)并基于此做一些事情。基本上,Photon 每隔幾秒就會(huì)對(duì) Sonos 執(zhí)行一次 ping 操作,并檢測(cè)狀態(tài)是否發(fā)生了變化(可能是 PLAYING、PAUSED_PLAYBACK、STOPPED、TRANSITIONING)。
一旦我有了那個(gè),不同的選擇是可能的。一種解決方案是向 Photon 的 GPIO 添加一個(gè)繼電器。雖然可能是最便宜和更簡(jiǎn)單的(這可以轉(zhuǎn)化為更好的可靠性),但我采用了略微不同的方式與 WeMo 開(kāi)關(guān)集成。我的 POV 的最大優(yōu)勢(shì)是能夠添加簡(jiǎn)單的 Alexa Echo 集成。我選擇的方法的一些優(yōu)點(diǎn)和缺點(diǎn):
優(yōu)點(diǎn):
- 無(wú)焊接;我只是使用開(kāi)箱即用的組件
- 可以做更多;我不僅可以通過(guò) Sonos 應(yīng)用程序切換系統(tǒng),還可以通過(guò) WeMo 應(yīng)用程序或只需按下 WeMo 開(kāi)關(guān)上的按鈕,這也將激活 Sonos
- 最后但同樣重要的是,我可以間接但以一種簡(jiǎn)單的方式集成 Amazon Echo,并通過(guò)語(yǔ)音命令打開(kāi)放大器和 Sonos
缺點(diǎn):
- 可能更貴,WeMo 開(kāi)關(guān)大約是 50 美元
- 復(fù)雜的云解決方案;我遇到了 5 秒以上的延遲才能檢測(cè)到 IFTTT 事件;通常,更多的事情可能會(huì)出錯(cuò);話雖如此,到目前為止似乎工作正常
亞馬遜回聲整合
這是最好的部分 - 在您完成項(xiàng)目中的所有其他操作之后,這部分就變得微不足道了。只需轉(zhuǎn)到 Alexa 應(yīng)用程序,在設(shè)置部分找到 Connected Home 并添加 WeMo 開(kāi)關(guān)。以一些獨(dú)特但可識(shí)別的方式命名,以便 Echo 可以理解。我將它命名為“揚(yáng)聲器”,所以當(dāng)我說(shuō)“Alexa 揚(yáng)聲器打開(kāi)”時(shí),WeMo 開(kāi)關(guān)被激活,這反過(guò)來(lái)又讓 Sonos 開(kāi)始播放。
IFTTT 集成
這并不難,但如果您是 IFTTT 的新手,您可能需要先閱讀他們的教程。實(shí)際上有兩組不同的命令:由 Particle Photon 觸發(fā),打開(kāi) WeMo 開(kāi)關(guān)和相反的操作。
在開(kāi)始創(chuàng)建食譜之前,您需要連接到 Particle 和 WeMo Switch 通道。在?ifttt.com 中,?注冊(cè)/登錄后,轉(zhuǎn)到“頻道”,搜索上述頻道(分別),按“連接”并按照說(shuō)明進(jìn)行操作:
- 對(duì)于 Particle,您需要先在 particle.io 上注冊(cè)一個(gè)帳戶,然后將您要使用的 Photon 注冊(cè)到您的帳戶
- 對(duì)于 WeMo Switch,您需要激活開(kāi)關(guān);在手機(jī)上 WeMo 應(yīng)用程序的設(shè)置部分,您需要生成一個(gè)用于 IFTTT 注冊(cè)的 Pin
粒子光子觸發(fā) WeMo 開(kāi)關(guān)
創(chuàng)建兩個(gè)食譜。一個(gè)如下所示,另一個(gè)類似(將 OFF 替換為 ON)
?
WeMo Switch 觸發(fā) Particle Photon 云功能
創(chuàng)建兩個(gè)食譜。一個(gè)如下所示,另一個(gè)類似(將 ON 替換為 OFF)。請(qǐng)注意,在 Photon 上運(yùn)行該程序之前,云功能在 IFTTT 中不可見(jiàn)。
節(jié)目亮點(diǎn)
不會(huì)逐行解釋,只解釋最重要的部分
云功能
該功能是 Sonos 在設(shè)置中注冊(cè)并在打開(kāi)或關(guān)閉 WeMo 開(kāi)關(guān)時(shí)調(diào)用。請(qǐng)注意,我創(chuàng)建的它不是對(duì)稱的。如果 Switch 打開(kāi)(可以通過(guò) WeMo 應(yīng)用程序或 Amazon Echo 手動(dòng)打開(kāi)),它就會(huì)開(kāi)始播放 Sonos。請(qǐng)注意,我并沒(méi)有試圖讓它變得太復(fù)雜,它只是從停止的地方開(kāi)始。例如,在我的例子中,我正在收聽(tīng) TuneIn Radio,因此它將啟動(dòng)該電臺(tái)。我可以在早上告訴“Alexa 揚(yáng)聲器打開(kāi)”。如果要選擇要播放的音樂(lè),請(qǐng)轉(zhuǎn)到 Sonos 應(yīng)用程序。如果開(kāi)關(guān)關(guān)閉,我不會(huì)向 Sonos 發(fā)送停止命令。不對(duì)稱是有意的。如果一個(gè)人有多個(gè) Sonos 安裝并且它們被組合在一起,可能是為了關(guān)閉連接到放大器的 Sonos。
主循環(huán)
在主循環(huán)中,每隔幾秒請(qǐng)求一次 Sonos 狀態(tài)并進(jìn)行響應(yīng)處理。如果發(fā)生變化,則會(huì)生成 IFTTT 觸發(fā)器以打開(kāi)或關(guān)閉 WeMO 開(kāi)關(guān)。
板載 LED 用于基本狀態(tài)指示。如果 Sonos 正在播放,則打開(kāi),否則關(guān)閉。此外,還有一個(gè)疊加的短閃爍(“心跳”),表示該裝置正在工作。
我還添加了所謂的冗余檢查。可能完全沒(méi)有必要,但考慮到系統(tǒng)的復(fù)雜性,我認(rèn)為最好再做一次檢查。所以每隔 5 分鐘,如果 Sonos 沒(méi)有播放,就會(huì)向 WeMo 開(kāi)關(guān)發(fā)送一個(gè)命令(通過(guò) IFTTT)將其關(guān)閉。通常情況下,這種情況不應(yīng)發(fā)生,但萬(wàn)一命令丟失,這會(huì)阻止放大器保持打開(kāi)狀態(tài)。
?
Sonos 的 SOAP API
Sonos 可以通過(guò) SOAP API 調(diào)用進(jìn)行控制。我已經(jīng)實(shí)現(xiàn)了 3 個(gè)基本功能:檢查 Sonos 狀態(tài)(是否正在播放),從上次播放的內(nèi)容開(kāi)始和停止。對(duì)于我的項(xiàng)目來(lái)說(shuō),這已經(jīng)足夠了,我發(fā)現(xiàn)我需要更復(fù)雜的交互,我會(huì)恢復(fù)到 Sonos 應(yīng)用程序。但理論上,更復(fù)雜的解決方案是可行的。
?
如何獲取和鎖定 Sonos IP 地址
第 6 行:
字節(jié)服務(wù)器[] = { 192, 168, 0, xxx }; //輸入你的 Sonos_IP_address
需要更改以反映您的系統(tǒng) IP 地址。根據(jù)您的家庭路由器,可能需要查看手冊(cè)。
通常,如果您沒(méi)有更改管理員密碼,通常在路由器的標(biāo)簽上會(huì)有說(shuō)明。例如,對(duì)于 TP-Link 路由器,可以從 Web 瀏覽器轉(zhuǎn)到 192.168.0.1 并使用 admin 作為用戶名和密碼登錄。
進(jìn)入路由器界面后,查看 DHCP 客戶端列表并找到 Sonos,其地址可能類似于 192.168.0.173。
為確保地址不變,將其作為保留地址,基本上將其鎖定到 Sonos。TP-
粒子光子電路
好吧,沒(méi)有。正如我在介紹中提到的,可以用繼電器構(gòu)建這個(gè)項(xiàng)目,在這種情況下,使用 Photon 上的 GPIO 來(lái)控制繼電器。使用我所做的設(shè)置,只需要安裝是將 Photon 連接到電源。任何微型 USB 手機(jī)充電器都可以。至于光子,以某種方式保護(hù)它是個(gè)好主意。可以留在面包板上。或者買(mǎi)一個(gè)小容器。我自己使用了 Loctite 絕緣和密封包裝,您可以從亞馬遜或 Home Depot 購(gòu)買(mǎi)。它具有透明的優(yōu)點(diǎn) - 因此 LED 狀態(tài)可見(jiàn),并且靈活,因此在必要時(shí)可以按下重置/重啟按鈕。
- 使用Amazon Echo發(fā)送Twilio語(yǔ)音或文本消息
- 使用Amazon Echo Dot的語(yǔ)音控制切換操作
- 智能家居:帶Alexa和Amazon Echo的ESP8266/ESP32
- 使Amazon Echo啟動(dòng)任何汽車
- 帶有Cortex M0的定制微控制器
- 帶有FL Studio的Arduino LED MIDI控制器
- 使用1Sheeld的基于Arduino的Amazon Echo
- 如何使用Belkin WeMo Insight開(kāi)關(guān)監(jiān)控電源使用情況
- 基于PWM控制器的開(kāi)關(guān)電源的設(shè)計(jì)
- 基于DSP的高壓訓(xùn)線機(jī)器人數(shù)字化控制器 10次下載
- Microchip以太網(wǎng)開(kāi)關(guān)和EtherCAT工業(yè)控制器及MAC PHY控制設(shè)計(jì)解決方案
- 帶有SPI 接口的獨(dú)立CAN 控制器
- 基于FPGA的多通道語(yǔ)音通信控制器的設(shè)計(jì)
- 基于FPGA的多通道語(yǔ)音通信控制器的設(shè)計(jì)
- 多功能密碼控制器電路圖
- SSD控制器的作用、構(gòu)成及功能 254次閱讀
- 繼電器開(kāi)關(guān)控制器是什么東西 422次閱讀
- 開(kāi)關(guān)控制器在智能設(shè)備中的應(yīng)用 258次閱讀
- 什么是開(kāi)關(guān)控制器?有哪些特點(diǎn)? 741次閱讀
- PID控制器與開(kāi)關(guān)控制器的區(qū)別 398次閱讀
- 4開(kāi)關(guān)降壓-升壓控制器,具備直通功能,可以消除開(kāi)關(guān)噪聲 2766次閱讀
- 基于LIMIT控制功能的控制器實(shí)現(xiàn)步進(jìn)電機(jī)系統(tǒng)的設(shè)計(jì) 1763次閱讀
- DC/DC開(kāi)關(guān)控制器的MOSFET設(shè)計(jì) 5576次閱讀
- dfrobotDFRduino Nano 3.0控制器介紹 2484次閱讀
- 電機(jī)控制器的基本功能 2.1w次閱讀
- 什么是運(yùn)動(dòng)控制器_運(yùn)動(dòng)控制器的工作原理及應(yīng)用 3.6w次閱讀
- 基于LTC3780控制器的開(kāi)關(guān)電源的仿真和設(shè)計(jì) 5630次閱讀
- echo什么意思_@echo off的作用 3.6w次閱讀
- 什么是有源噪聲消除?ANC技術(shù)原理解析 4575次閱讀
- 用語(yǔ)音代替電話鈴聲的留言控制器 5994次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開(kāi)發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多