科技改變生活 · 科技引領(lǐng)未來(lái)
編注:本文是少數(shù)派2021年度征文活動(dòng)#生活21標(biāo)簽下的入圍文章。本文僅代表作者本人觀點(diǎn),少數(shù)派對(duì)標(biāo)題和排版略作調(diào)整。和往年不同,今年文章的數(shù)據(jù)表現(xiàn)將很大程度上決定征文活動(dòng)的最終走向,包括「雙倍稿酬(由飛書(shū)贊助)」活動(dòng)獎(jiǎng)勵(lì)、最終票選名單以及
編注:
本文是少數(shù)派 2021 年度征文 活動(dòng) #生活 21 標(biāo)簽下的入圍文章。本文僅代表作者本人觀點(diǎn),少數(shù)派對(duì)標(biāo)題和排版略作調(diào)整。
和往年不同,今年文章的數(shù)據(jù)表現(xiàn)將很大程度上決定征文活動(dòng)的最終走向,包括「雙倍稿酬(由飛書(shū)贊助)」活動(dòng)獎(jiǎng)勵(lì)、最終票選名單以及征文獎(jiǎng)品類(lèi)型。
前言
環(huán)境介紹
我的寢室是一個(gè)大約 15 平的雙人間,由于不是上床下桌,兩個(gè)人的床和衣柜占據(jù)了寢室中絕大多數(shù)空間,剩下留給我的私人空間,僅是一張 120cm 長(zhǎng),帶有書(shū)架的學(xué)習(xí)桌,加上周?chē)懔闼樗榈目臻g,總共約 4 平米大小。在這個(gè)不大的空間內(nèi),僅僅放下兩臺(tái)顯示器都稍顯局促,可能學(xué)校在設(shè)計(jì)之初就并不希望我們花費(fèi)大把的時(shí)間浪費(fèi)在寢室的書(shū)桌上(笑)。
圖源自網(wǎng)絡(luò)
在這個(gè)不大的空間內(nèi),原本我并沒(méi)有什么期待,能夠打個(gè)游戲/吃個(gè)外賣(mài),就已經(jīng)不錯(cuò)了。我是一個(gè)愛(ài)折騰的人,在遠(yuǎn)在 1300KM 的家中,我早就部署好了全屋 HomeKit,無(wú)死角的 Wi-Fi 網(wǎng)絡(luò),NAS 等等極客愛(ài)玩的東西。但是對(duì)著寢室這巴掌大的地方,對(duì)于狹小空間無(wú)數(shù)次的失望和抱怨充斥這我學(xué)習(xí)之外的時(shí)間。“為什么不讓他變得更舒適”,自從疫情返校之后,這個(gè)想法就一直縈繞在我的腦中。
舒適的網(wǎng)絡(luò),是一切的開(kāi)始
網(wǎng)絡(luò)是現(xiàn)代人生活的基礎(chǔ),也是我們與世界連接的橋梁。好的網(wǎng)絡(luò)環(huán)境是我們這些科技愛(ài)好者舒適生活的大前提,然而我們宿舍的網(wǎng)絡(luò)環(huán)境并算不上優(yōu)秀。
宿舍的基礎(chǔ)網(wǎng)絡(luò),問(wèn)題很多
現(xiàn)在的校園,基本上都是以教育網(wǎng)為主,我們學(xué)校也是如此。校園網(wǎng)有其獨(dú)特的優(yōu)勢(shì)比如:
但是縱使有這些優(yōu)點(diǎn)校園網(wǎng)對(duì)我來(lái)說(shuō)也有一些不可忽視的問(wèn)題:
繁瑣的認(rèn)證對(duì)于桌面設(shè)備而言還有簡(jiǎn)潔的辦法,但是對(duì)于移動(dòng)設(shè)備而言可以說(shuō)是災(zāi)難級(jí)的體驗(yàn),特別是學(xué)校封鎖了 HTTP 認(rèn)證方式而全部轉(zhuǎn)為 HTTPS 認(rèn)證之后。不過(guò)好在學(xué)校也開(kāi)放了 802.1x 的認(rèn)證方式,使得移動(dòng)端的體驗(yàn)稍微好了一些。而同時(shí)在線設(shè)備數(shù)量限制對(duì)于我來(lái)說(shuō)則是一個(gè)巨大的痛點(diǎn),這意味著設(shè)備數(shù)量繁多的我必須要套一層 NAT 并且設(shè)置端口轉(zhuǎn)發(fā)或者 DMZ 才能獲得較為不錯(cuò)的遠(yuǎn)程和局域網(wǎng)體驗(yàn)。
而流量計(jì)費(fèi)則是徹底扼殺了我對(duì)于校園網(wǎng)的幻想,如果按照我的網(wǎng)絡(luò)消耗量來(lái)看,將會(huì)是一筆不可忽視的支出,相比起來(lái) 100 Mbps 的帶寬反而并不那么不可接受。
不過(guò)好在我生活的宿舍樓還算比較新,近幾年移動(dòng)寬帶也把光纖拉進(jìn)了每個(gè)寢室內(nèi)。這對(duì)于有極大流量需求的我來(lái)說(shuō)算是一根救命稻草,不過(guò)移動(dòng)寬帶也有一些致命的缺點(diǎn):
我改了一點(diǎn)點(diǎn),就差一點(diǎn)接近完美
兩種網(wǎng)絡(luò)都有他們獨(dú)自的優(yōu)勢(shì)和劣勢(shì),那對(duì)于一個(gè)成年人來(lái)說(shuō),當(dāng)然是「我全都要」,取其所長(zhǎng),棄其所短。那么接下來(lái)我就來(lái)和各位盤(pán)盤(pán)我的宿舍網(wǎng)絡(luò)結(jié)構(gòu)。
首先先上一個(gè)網(wǎng)絡(luò)拓?fù)鋱D:
入網(wǎng)
首先,移動(dòng)的光纖接入房間之后,連到光貓上,為了獲得最好的上網(wǎng)體驗(yàn),肯定需要使用橋接模式進(jìn)行 PPPoE 的上網(wǎng)設(shè)定,好在移動(dòng)校園寬帶本身為了多播(讓同寢室多個(gè)同學(xué)用不同的寬帶賬號(hào)),本身就是帶有 VLAN 的橋接模式,這省去了我很多時(shí)間。光貓 LAN 口直連我的路由器—— Unifi Dream Machine Pro (以下簡(jiǎn)稱(chēng) UDM Pro)的 WAN 口進(jìn)行播號(hào)上網(wǎng)。給宿舍局域網(wǎng),我設(shè)定了 192.168.31.0/24 的網(wǎng)段,這也是我宿舍的主要局域網(wǎng)絡(luò),各個(gè)設(shè)備都在同一個(gè)網(wǎng)段下進(jìn)行通信。
而校園網(wǎng),則需要專(zhuān)門(mén)照顧一下,原本校園網(wǎng)的設(shè)計(jì)是從宿舍墻面上的 86 面板上連接路由器或者交換機(jī),學(xué)生通過(guò)進(jìn)行自建局域網(wǎng)或者用自己的 IP 分配名額給不同的設(shè)備分別獲取 IP,而由于我平時(shí)只有兩臺(tái)主力桌面端設(shè)備—— PC 與 Mac mini 需要連接校園網(wǎng),所以我使用 VLAN 技術(shù)對(duì)其進(jìn)行劃分:
VLAN:Virtual LAN,又稱(chēng)虛擬局域,是一種建構(gòu)于局域網(wǎng)交換技術(shù)(LAN Switch)的網(wǎng)絡(luò)管理的技術(shù),可以借此技術(shù)透過(guò)控制交換機(jī)有效分派出入局域網(wǎng)的分組到正確的出入端口,達(dá)到對(duì)不同實(shí)體局域網(wǎng)中的設(shè)備進(jìn)行邏輯分群(Grouping)管理,并降低局域網(wǎng)內(nèi)大量資料流通時(shí),因無(wú)用分組過(guò)多導(dǎo)致壅塞的問(wèn)題,以及提升局域網(wǎng)的信息安全保障。
而劃分 VLAN 再加以適當(dāng)?shù)姆阑饓σ?guī)則就可以隔離校園網(wǎng)和局域網(wǎng)中的廣播,讓我的各個(gè)設(shè)備不至于串臺(tái),也能我的兩個(gè)主力設(shè)備獲得獨(dú)立的校園網(wǎng) IP。
寬帶網(wǎng)線從光貓接出之后,連接到 UDM Pro 的 WAN 口上,通過(guò) PPPoE 進(jìn)行播號(hào)。校園網(wǎng)端口則直接連接到 UDM Pro 的 LAN 口上,在配置中為其專(zhuān)門(mén)劃分一條 Campus LAN 的 VLAN 網(wǎng)絡(luò),設(shè)定為 VLAN-only 網(wǎng)絡(luò),而局域網(wǎng)則設(shè)置為 LAN 打開(kāi) DHCP 服務(wù)器。
如此設(shè)置,兩個(gè)網(wǎng)絡(luò)環(huán)境就已經(jīng)接入我的路由器了。
網(wǎng)絡(luò)劃分
UDM Pro 的下級(jí),連接著我需要有線上網(wǎng)的設(shè)備,比如:PC,Mac mini,Apple TV 4K,PS5,樹(shù)莓派,以及無(wú)線接入點(diǎn) (Access Point)。不過(guò)下級(jí)網(wǎng)絡(luò)就稍顯復(fù)雜,為了讓 PC 和 Mac 都可以同時(shí)連接寬帶,首先要在 UDM Pro 連接兩臺(tái)桌面設(shè)備的端口上設(shè)定為 Untagged口(由于 UnifiOS 中的 VLAN 設(shè)定與其他廠商邏輯不一樣,這里用更大眾化的表述方法)。在 macOS 的網(wǎng)絡(luò)設(shè)定中可以很輕松的劃分一條或者多條 VLAN,而 PC 由于主板就帶有雙網(wǎng)卡,我就毫不客氣的接上了兩條網(wǎng)線,每個(gè)端口對(duì)應(yīng)一個(gè)局域網(wǎng)/校園網(wǎng)。
光是接上網(wǎng)線并不能讓設(shè)備在寬帶和校園網(wǎng)中無(wú)縫穿梭,于是我針對(duì)我需要訪問(wèn)的特定網(wǎng)絡(luò),在設(shè)備的路由表中指定了學(xué)校的網(wǎng)關(guān),和更小的「躍點(diǎn)數(shù)」2,來(lái)讓需要用學(xué)校路由訪問(wèn)的 IP 段,在設(shè)備中獲得更高的優(yōu)先級(jí)。同時(shí),也指定了 0.0.0.0 以及更大的「躍點(diǎn)數(shù)」來(lái)讓非校園網(wǎng)內(nèi)容統(tǒng)一走寬帶的路由地址。至此,我的兩臺(tái)主力設(shè)備才算完美的接入到「雙網(wǎng)絡(luò)」環(huán)境中。
不過(guò)稍顯可惜的是 UDM Pro 并不支持雙 WAN 接入,如果是支持的設(shè)備(比如 OpenWRT/RouterOS 等系統(tǒng)的設(shè)備),僅需要在路由器上配置規(guī)則就可以做到局域網(wǎng)內(nèi)的所有設(shè)備均可以訪問(wèn)兩個(gè)廣域網(wǎng)而非對(duì)于特定設(shè)備設(shè)定路由表制作雙局域網(wǎng)了。
而對(duì)于局域網(wǎng)內(nèi)的其他一些設(shè)備比如 Apple TV 4K,我則直接使用 Mac mini 上的 Surge 進(jìn)行接管,以獲得更良好的沖浪體驗(yàn)。
還有一些不足,但是我克服了一些
經(jīng)過(guò)我的改造,寢室的網(wǎng)絡(luò)確實(shí)已經(jīng)接近完美的狀態(tài),但是還有一個(gè)暫時(shí)沒(méi)有找到方法克服的痛點(diǎn),那就是校園網(wǎng)的 IP 問(wèn)題,由于學(xué)校并不可能給我們分發(fā)固定 IP,而自己設(shè)定固定 IP 的時(shí)候很有可能會(huì)和其他同學(xué)的設(shè)備沖突導(dǎo)致無(wú)法上網(wǎng)。因此在兩臺(tái)在雙局域網(wǎng)的環(huán)境下的設(shè)備,我依然選擇了 DHCP 上網(wǎng)的方式。
平時(shí)我在實(shí)驗(yàn)室工作的時(shí)候,偶爾需要使用 Microsoft Remote Desktop (以下簡(jiǎn)稱(chēng) RDP) 遠(yuǎn)程訪問(wèn)我寢室中的 PC 來(lái)處理一些 macOS 無(wú)法處理的數(shù)據(jù)。
不過(guò)由于寢室網(wǎng)絡(luò)和實(shí)驗(yàn)室的網(wǎng)絡(luò)并不在同一個(gè)二層網(wǎng)絡(luò)中,所以按照主機(jī)名進(jìn)行遠(yuǎn)程登錄的方法就被堵死了,但是通過(guò) IP 還是可以借由學(xué)校的三層交換機(jī)互相訪問(wèn)。而因?yàn)?IP 地址是由學(xué)校的 DHCP 服務(wù)器分發(fā)的,會(huì)隨著時(shí)間變化的 IP 就成了令我頭疼的問(wèn)題,因此我在我的 PC 上設(shè)置了一個(gè) DDNS 服務(wù):
DDNS:Dynamic DNS又稱(chēng)動(dòng)態(tài)DNS 是域名系統(tǒng)(DNS)中的一種自動(dòng)更新名稱(chēng)服務(wù)器(Name server)內(nèi)容的技術(shù)。根據(jù)互聯(lián)網(wǎng)的域名訂立規(guī)則,域名必須跟從固定的IP地址。但動(dòng)態(tài)DNS系統(tǒng)為動(dòng)態(tài)網(wǎng)域提供一個(gè)固定的名稱(chēng)服務(wù)器(Name server),透過(guò)即時(shí)更新,使外界用戶能夠連上動(dòng)態(tài)用戶的網(wǎng)址。
簡(jiǎn)單的來(lái)說(shuō),當(dāng)你需要訪問(wèn)一個(gè)網(wǎng)址的時(shí)候,你的電腦會(huì)先向 DNS 服務(wù)器請(qǐng)求這個(gè)網(wǎng)址對(duì)應(yīng)的 IP 地址。通過(guò) IP 地址,設(shè)備之間才可以建立起連接。而 DDNS 則是把我動(dòng)態(tài)的 IP 地址映射到 DNS 服務(wù)器上的一種服務(wù),每當(dāng)我的 IP 變化,DDNS 服務(wù)就會(huì)把變更后的 IP 地址反映給 DNS 服務(wù)器。這樣當(dāng)我輸入域名網(wǎng)址時(shí),DNS 服務(wù)器就能正確的返回我 PC 目前的 IP 地址。
通過(guò)我自己一直在用的 CloudFlare 托管我的 IP 地址,這樣在使用 RDP 進(jìn)行訪問(wèn)的時(shí)候只需要通過(guò)我的域名進(jìn)行 DNS 解析,就可以指向正確的遠(yuǎn)程地址了。
而當(dāng)校園網(wǎng) IP 變更時(shí),我也設(shè)置了一個(gè)基于 Python 的郵件提醒服務(wù)。這樣不管我寢室的 IP 如何變更,我都可以最快的知道,以防部署的 DDNS 服務(wù)失效,無(wú)法訪問(wèn)寢室設(shè)備的窘境出現(xiàn)。
至此,我寢室的網(wǎng)絡(luò)結(jié)構(gòu)搭建,到這里結(jié)束了,雖然不排除未來(lái)會(huì)有升級(jí)的可能性,但是目前的結(jié)果對(duì)于我來(lái)說(shuō)已經(jīng)非常滿意了。
自動(dòng)化的娛樂(lè)系統(tǒng),是幸福感提升的根源
搞定了網(wǎng)絡(luò),接下來(lái)的著眼點(diǎn)就應(yīng)該在從實(shí)驗(yàn)室回歸的短暫的空閑時(shí)光了,但是空閑的時(shí)間有限,經(jīng)常有時(shí)候會(huì)因?yàn)槊襟w搜刮的煩惱不愿意去占用寶貴的休息時(shí)間,最后放棄一個(gè)影片或者劇集。為此我改造了我的媒體流程。
如何管理我的媒體,才能緩解一天的疲勞
我的影音管理主要分為兩個(gè)部分,在線流媒體和本地媒體。在線流媒體主要用來(lái)看一些及時(shí)更新的劇集電影:比如 Disney+,Netflix,YouTube 等等,這些流媒體我都在我的 Apple TV 4K 上進(jìn)行觀看,配合 tvOS 儀式感滿滿。而從流媒體直接觀看內(nèi)容,也省去最麻煩的資源搜刮過(guò)程。
但是對(duì)于一些不在這些主流流媒體的內(nèi)容,比如日本動(dòng)漫新番,以及日劇。我則采用了本地媒體進(jìn)行觀看的方式,通過(guò) Plex Server 管理本地劇集,搜刮元數(shù)據(jù),再通過(guò) infuse 客戶端(iPhone/iPad/Mac/Apple TV)進(jìn)行觀看。
經(jīng)歷過(guò)早些年番劇下載時(shí)期的朋友肯能會(huì)有所感觸,資源的收集和整理是一件相當(dāng)痛苦的事情。為此,我搭建了我的自動(dòng)追番系統(tǒng):
自動(dòng)追番系統(tǒng)
我的自動(dòng)追番系統(tǒng)主要搭建在我的樹(shù)莓派上,依靠一個(gè)外置 2.5 寸機(jī)械硬盤(pán)存儲(chǔ)數(shù)據(jù),詳情可以參考這篇文章樹(shù)莓派搭建低配版文件存儲(chǔ)及家庭影音庫(kù)。可能會(huì)有人問(wèn)為什么不選用 NAS ,第一是因?yàn)橄啾扔跇?shù)莓派 NAS 的價(jià)格較高,第二則是使用 3.5 寸硬盤(pán)的 NAS 非常吵鬧,非常不適合寢室這種狹小的環(huán)境。
而在樹(shù)莓派中,自動(dòng)追番系統(tǒng)主要依靠 qBittorrent 這個(gè) BT 軟件。qBittorrent 支持 RSS 訂閱下載。通過(guò)「蜜柑計(jì)劃」的生成的個(gè)人 RSS 訂閱鏈接,qBittorrent 可以在你訂閱的每一部番劇追番的時(shí)候收到RSS推送更新。
由于 qBittorrent 中 RSS 的自動(dòng)下載規(guī)則設(shè)置起來(lái)相當(dāng)繁瑣,因此我使用 qBittorrent Web API 和「快捷指令」搭建的「追番規(guī)則建立器」來(lái)簡(jiǎn)化添加自動(dòng)下載規(guī)則這一步驟。這樣搭建下來(lái),每一季度僅需要兩步:
簡(jiǎn)簡(jiǎn)單單兩步設(shè)置,就完成了一部番劇的訂閱和歸類(lèi)。在這部番劇更新的周期內(nèi),一旦更新,第一時(shí)間,qBittorrent 就會(huì)開(kāi)始自動(dòng)分類(lèi)下載,下載完成之后,配合 Plex Server 的元數(shù)據(jù)搜刮整理功能,你就可以在你所有設(shè)備使用 infuse 上無(wú)感的追番看番。
當(dāng)然如果有其他搜刮的資源,也可以用「快捷指令」配合 qBittorrent Web API ,直接用右鍵選單中進(jìn)行下載
完美的游戲聯(lián)網(wǎng)體驗(yàn),往往就是一小步
在網(wǎng)絡(luò)搭建的部分的開(kāi)頭,我提到過(guò)移動(dòng)寬帶的丟包多,NAT 類(lèi)型差,不適合主機(jī)聯(lián)機(jī)游戲等等問(wèn)題。當(dāng)然這些問(wèn)題解決的方法也很簡(jiǎn)單,那就是給主機(jī)掛一個(gè)加速器。我是一個(gè)多年的 「UU 加速器」用戶,因此也知道通過(guò) PC 給主機(jī)加速的操作著實(shí)復(fù)雜且不友好,先不提復(fù)雜的代理地址配置,并且在想要給主機(jī)加速的時(shí)候 PC 還要保持常開(kāi),并且需要在電腦上點(diǎn)擊加速,一旦電腦不加速,主機(jī)就會(huì)斷網(wǎng)。使用代理設(shè)置之后主機(jī)客戶端和其他聯(lián)網(wǎng)設(shè)備也不在一個(gè)網(wǎng)段中,無(wú)法通過(guò)局域網(wǎng)遠(yuǎn)程游玩進(jìn)行暢玩。這著實(shí)稱(chēng)不上優(yōu)雅方便。
目前我體驗(yàn)過(guò)最為方便的加速方案當(dāng)屬路由器中自帶的 UU 加速插件:使用簡(jiǎn)單,無(wú)需額外配置,手機(jī)端切換節(jié)點(diǎn),自動(dòng)加速等等優(yōu)勢(shì)令我眼饞。然而可惜的是目前市面上僅有寥寥數(shù)款路由器支持這一功能, UU 官方也并沒(méi)有給 Unifi 系列網(wǎng)關(guān)進(jìn)行適配(笑)。
而我的解決方案則是在樹(shù)莓派上用 Docker 掛載一個(gè) UU 加速器的 OpenWrt 插件,只需要讓主機(jī)的網(wǎng)關(guān)和 DNS 地址都指向 UU 加速器容器的地址,并且在手機(jī)上綁定一回就可以獲得和路由器自帶的加速插件相同的體驗(yàn):
并且這個(gè)版本的 UU 加速器還可以同時(shí)加速兩個(gè)設(shè)備,加上電腦與手機(jī)端,一份會(huì)員可以同時(shí)加速四個(gè)設(shè)備,這樣算下來(lái) UU 加速器原本高昂的售價(jià)也變得超值了。
操控的便利性,是舒適感的敲門(mén)磚
有了網(wǎng)絡(luò)基礎(chǔ)和娛樂(lè)基礎(chǔ),懶人的智能化就是下一步目標(biāo)。對(duì)于蘋(píng)果用戶來(lái)說(shuō) HomeKit 一定是首選,一來(lái)有著極高的安全性,全部依靠局域網(wǎng)廣播實(shí)現(xiàn)控制。而來(lái)還有 Homebridge 這樣的萬(wàn)能插件,可以給我更多操作的可能性。
HomeKit 設(shè)備,不多不少剛剛好
除了上文提到的 Apple TV 4K ,我的寢室還有一些不貴的 HomeKit 原生配件。寢室不大,能接入智能家居的配件也不算很多,但是各個(gè)都能提升我的生活質(zhì)量。
溫度控制——Aqara P3 空調(diào)伴侶
好在學(xué)校并沒(méi)有使用中央空調(diào)來(lái)降溫,獨(dú)立的懸掛式空調(diào)讓智能化變得簡(jiǎn)單。我選用了Aqara P3 空調(diào)伴侶,其原理也很簡(jiǎn)單,是通過(guò)安置在插座上的紅外發(fā)射裝置學(xué)習(xí)空調(diào)的遙控器發(fā)射信號(hào)來(lái)控制空調(diào)。我簡(jiǎn)單設(shè)置了幾個(gè)自動(dòng)化,來(lái)實(shí)現(xiàn)在夏天時(shí)回到寢室前提前制冷,以及應(yīng)對(duì)出門(mén)忘關(guān)空調(diào)導(dǎo)致跑走巨量電費(fèi)的應(yīng)急措施。
Nanoleaf Essentials light bulb
這款燈泡主要是由于我對(duì) Thread 協(xié)議的好奇而購(gòu)入的,現(xiàn)在擺放在我書(shū)桌的另一側(cè)當(dāng)照明補(bǔ)足使用,偶爾還能當(dāng)當(dāng)氛圍燈。
滿打滿算我的寢室也只有這兩件是原生接入 HomeKit 的配件了,剩下的一些控制都小用了一些奇思妙想。
我的第三方控制整合主要依靠 HomeBridge 插件,相信深入玩過(guò) HomeKit 的朋友都不陌生:
SwitchBot Hub mini & SwitchBot Bot
改造宿舍強(qiáng)電是一個(gè)非常不明智的選擇,一來(lái)可能會(huì)埋下安全隱患,而來(lái)校規(guī)中也有明令禁止的條款。因此我選擇了一個(gè)討巧的方法來(lái)控制兩站宿舍的日光燈。那就是日本品牌的 SwitchBot Bot,開(kāi)關(guān)控制器。這個(gè)小玩意原理非常簡(jiǎn)單,通過(guò)藍(lán)牙接收信號(hào)之后可以伸出一個(gè)機(jī)械卡扣,用物理的方式控制開(kāi)關(guān)的通斷。
一方面不用頂著安全和校規(guī)隱患改造開(kāi)關(guān),另一方面這個(gè)小東西也可以隨時(shí)帶走。再接入 SwitchBot 家的 Hub 之后,就可以用 HomeBridge 接入到 HomeKit 當(dāng)中控制宿舍兩盞燈的狀態(tài)了。
而 SwitchBot Hub mini 的紅外控制功能也十分強(qiáng)大,可以自主定義并且學(xué)習(xí)電器的紅外遙控信號(hào),然后通過(guò) Homebridge-Switchbot 插件橋接進(jìn) HomeKit 中后,僅需要一些簡(jiǎn)單的設(shè)置就可以控制我寢室顯示器的 KVM,再配合上細(xì)致化的場(chǎng)景設(shè)置。四臺(tái)設(shè)備可以無(wú)縫的在一臺(tái)顯示器上切換顯示輸出內(nèi)容。
通過(guò) HomeKit 喚醒和的 Mac 和 PC
相比其他用 HomeKit 實(shí)現(xiàn)的花里胡哨的功能,喚醒 PC 和 Mac 顯然有用多了。因?yàn)槲?PC 的主板和 Mac 都支持「網(wǎng)絡(luò)喚醒」功能,因此使用 HomeBridge 中的 Homebridge-WoL 插件,就可以輕松把 PC 和 Mac 的電源接入整個(gè) HomeKit 系統(tǒng)中。
相比于傳統(tǒng)的開(kāi)機(jī)棒,使用 Homebridge + HomeKit 的安全性和整合度更高,響應(yīng)迅速。不論是在局域網(wǎng)還是廣域網(wǎng)中,都可以快速控制寢室中的電腦設(shè)備。再配合「晚安」場(chǎng)景關(guān)閉 PC ,到達(dá)實(shí)驗(yàn)室打開(kāi)「工作」場(chǎng)景拉起 PC 等等自動(dòng)化,實(shí)現(xiàn)不論是在工作中,還是上床休息,都可以按照所需狀態(tài)打開(kāi)或者關(guān)閉 PC。
當(dāng)然除了 PC 和 Mac,其他一些諸如路由器,樹(shù)莓派以及 PlayStation 5 也可以通通用這個(gè)插件控制。
通過(guò) HomeKit 控制各類(lèi)服務(wù)
實(shí)體的電器都接入 HomeKit 之后,虛擬的服務(wù)也不能少。不過(guò)相比于實(shí)體電器來(lái)說(shuō),接入服務(wù)需要一些小技巧。我這邊挑選 qBittorrent 舉個(gè)例子。插件上,我僅使用了 HomeBridge-Dummy 用于虛擬需要控制服務(wù)的開(kāi)關(guān)。而控制 qBittorrent 我則用了家庭自動(dòng)化中自帶的「快捷指令」,根據(jù) qBittorrent 給出的 Web API:
再根據(jù)格式添加到 URL 命令中:
在點(diǎn)按 HomeKit 中的虛擬開(kāi)關(guān)時(shí),HomeKit 家庭中樞就會(huì)調(diào)用這一條快捷指令,向指定的 HTTP 地址發(fā)送請(qǐng)求,從而觸發(fā)服務(wù)內(nèi)的開(kāi)關(guān)。
同樣的方法也可以用于 Docker 容器的啟停,Surge 上代理的開(kāi)關(guān),等等稀奇古怪的操作,不過(guò)可惜的是更新到 iOS 15 之后,HomeKit 自動(dòng)化中的 SSH 指令就不能使用了,不然還可以對(duì)服務(wù)做更加細(xì)致的控制。
統(tǒng)籌規(guī)劃,Web頁(yè)面不可少
容器管理
我的所有服務(wù)基本都部署在樹(shù)莓派的 Docker 上,而用命令行管理 Docker 容器是一件很痛苦的事情,因此我選擇 Portainer 作為 Docker 的管理器。Portainer 作為一個(gè)輕量級(jí)容器管理 UI,可以替代幾乎所有 Docker 的命令行操作,同時(shí)升級(jí)或者更改容器環(huán)境變量也變得異常簡(jiǎn)單,再也不需要因?yàn)橐粭l命令寫(xiě)錯(cuò)而反復(fù)去找容器的 ID。作為 UI 而言,Portainer也十分美觀,并且在最新版本也適配了黑夜模式。并且 Portainer 也有可供使用的 HTTP API,通過(guò)前文講述的方法,可以很輕松的把容器管理接入到 HomeKit 中(當(dāng)然也可以用 Homebridge-docker 這個(gè)插件來(lái)管理)
入口管理
有了 Portainer 管理運(yùn)行的各類(lèi)容器,但是如何快捷的轉(zhuǎn)跳到 Portainer 等服務(wù)的 WebUI 界面呢。在搭建容器的時(shí)候,一般這些服務(wù)的的 WebUI服務(wù) 都會(huì)需要你在 IP 地址之后添加上繁瑣的端口號(hào),比如:
這顯然給便捷管理帶來(lái)了不便,因此我在 Docker 中運(yùn)行了一個(gè) Nginx(一種常見(jiàn)網(wǎng)頁(yè)服務(wù)器) 來(lái)作為樹(shù)莓派的導(dǎo)航頁(yè)。Nginx 默認(rèn)使用 80 端口,也就是萬(wàn)維網(wǎng)端口,因此只需要在瀏覽器中輸入服務(wù)器的 IP 地址就會(huì)默認(rèn)在后面添加 80 端口,轉(zhuǎn)跳到 Nginx 服務(wù)中指定的 HTML 網(wǎng)頁(yè)。
當(dāng)然美觀的頁(yè)面也是必須的,作為一個(gè)網(wǎng)絡(luò)乞丐,我去搜刮了一段 CSS 代碼,完成了我的「服務(wù)器城門(mén)」,想要訪問(wèn)或者管理我的任何一個(gè)服務(wù),只要點(diǎn)擊對(duì)應(yīng)的圖標(biāo)即可。
當(dāng)然,入口網(wǎng)址的地址我們同樣可以托管到 CloudFlare 上。通過(guò) DNS 服務(wù)器會(huì)返回一個(gè)私網(wǎng)的 IP 地址,是僅限內(nèi)網(wǎng)使用的域名。
結(jié)語(yǔ)
寫(xiě)到這里,可能和大家想象的寢室桌面介紹大相徑庭,稍微收拾了一下桌子給大家看一下我并不算整潔的桌面。就我個(gè)人而言,服務(wù)和網(wǎng)絡(luò)相比于整潔美觀的桌搭更符合我的需求,
更像是在虛擬世界中搭建了屬于自己的桃源,可能這某種程度也和當(dāng)下互聯(lián)網(wǎng)的某新型概念不謀而合,折騰的過(guò)程也確確實(shí)實(shí)變成了我枯燥的科研生活的調(diào)味劑。而這些項(xiàng)目雖然看起來(lái)繁多且復(fù)雜,但是大多數(shù)實(shí)際上手起來(lái)對(duì)于我這種非計(jì)算機(jī)科學(xué)的學(xué)生來(lái)說(shuō)實(shí)現(xiàn)起來(lái)也不算困難。當(dāng)然更重要的是有一個(gè)不妥協(xié)的心和去做的行動(dòng)力,我想這可能是我作為一個(gè)剛?cè)腴T(mén)的極客對(duì)于生活的態(tài)度和追求。
非常感謝可以看到這里的你,也希望我折騰的這些東西中或多或少可以對(duì)你改善自己的生活?yuàn)蕵?lè)體驗(yàn)有些許幫助!
馬原明
版權(quán)所有 未經(jīng)許可不得轉(zhuǎn)載
增值電信業(yè)務(wù)經(jīng)營(yíng)許可證備案號(hào):遼ICP備14006349號(hào)
網(wǎng)站介紹 商務(wù)合作 免責(zé)聲明 - html - txt - xml