5個(gè)可在家中使用的樹莓派項(xiàng)目
[[267144]]
??樹莓派?? 電腦可被用來進(jìn)行多種設(shè)置用于不同的目的。顯然它在教育市場幫助學(xué)生在教室和創(chuàng)客空間中學(xué)習(xí)編程與創(chuàng)客技巧方面占有一席之地,它在工作場所和工廠中有大量行業(yè)應(yīng)用。我打算介紹五個(gè)你可能想要在你的家中構(gòu)建的項(xiàng)目。
媒體中心
在家中人們常用樹莓派作為媒體中心來服務(wù)多媒體文件。它很容易搭建,樹莓派提供了大量的 GPU(圖形處理單元)運(yùn)算能力來在大屏電視上渲染你的高清電視節(jié)目和電影。將 ??Kodi??(從前的 XBMC)運(yùn)行在樹莓派上是一個(gè)很棒的方式,它可以播放你的硬盤或網(wǎng)絡(luò)存儲(chǔ)上的任何媒體。你同樣可以安裝一個(gè)插件來播放 YouTube 視頻。
還有幾個(gè)略微不同的選擇,最常見的是 ??OSMC???(開源媒體中心)和 ??LibreELEC???,都是基于 Kodi 的。它們?cè)诜庞趁襟w內(nèi)容方面表現(xiàn)的都非常好,但是 OSMC 有一個(gè)更酷炫的用戶界面,而 LibreElec 更輕量級(jí)。你要做的只是選擇一個(gè)發(fā)行版,下載鏡像并安裝到一個(gè) SD 卡中(或者僅僅使用 ??NOOBS??),啟動(dòng),然后就準(zhǔn)備好了。
LibreElec;樹莓派基金會(huì), CC BY-SA
OSMC.tv, 版權(quán)所有, 授權(quán)使用
在往下走之前,你需要決定??使用哪種樹莓派??。這些發(fā)行版在任何樹莓派(1、2、3 或 Zero)上都能運(yùn)行,視頻播放在這些樹莓派中的任何一個(gè)上都能勝任。除了 Pi 3(和 Zero W)有內(nèi)置 Wi-Fi,唯一可察覺的不同是用戶界面的反應(yīng)速度,在 Pi 3 上更快。Pi 2 也不會(huì)慢太多,所以如果你不需要 Wi-Fi 它也是可以的,但是當(dāng)切換菜單時(shí),你會(huì)注意到 Pi 3 比 Pi 1 和 Zero 表現(xiàn)的更好。
SSH 網(wǎng)關(guān)
如果你想從外部網(wǎng)絡(luò)訪問你的家庭局域網(wǎng)的電腦和設(shè)備,你必須打開這些設(shè)備的端口來允許外部訪問。在互聯(lián)網(wǎng)中開放這些端口有安全風(fēng)險(xiǎn),意味著你總是你總是處于被攻擊、濫用或者其他各種未授權(quán)訪問的風(fēng)險(xiǎn)中。然而,如果你在你的網(wǎng)絡(luò)中安裝一個(gè)樹莓派,并且設(shè)置端口映射來僅允許通過 SSH 訪問樹莓派,你可以這么用來作為一個(gè)安全的網(wǎng)關(guān)來跳到網(wǎng)絡(luò)中的其他樹莓派和 PC。
大多數(shù)路由允許你配置端口映射規(guī)則。你需要給你的樹莓派一個(gè)固定的內(nèi)網(wǎng) IP 地址來設(shè)置你的路由器端口 22 映射到你的樹莓派端口 22。如果你的網(wǎng)絡(luò)服務(wù)提供商給你提供了一個(gè)靜態(tài) IP 地址,你能夠通過 SSH 和主機(jī)的 IP 地址訪問(例如,??ssh pi@123.45.56.78?
??)。如果你有一個(gè)域名,你可以配置一個(gè)子域名指向這個(gè) IP 地址,所以你沒必要記住它(例如,??ssh pi@home.mydomain.com?
?)。
然而,如果你不想將樹莓派暴露在互聯(lián)網(wǎng)上,你應(yīng)該非常小心,不要讓你的網(wǎng)絡(luò)處于危險(xiǎn)之中。如果你遵循一些簡單的步驟來使它更安全:
- 大多數(shù)人建議你更換你的登錄密碼(有道理,默認(rèn)密碼 “raspberry” 是眾所周知的),但是這不能阻擋暴力攻擊。你可以改變你的密碼并添加一個(gè)雙重驗(yàn)證(所以你需要你的密碼和一個(gè)手機(jī)生成的與時(shí)間相關(guān)的密碼),這么做更安全。但是,我相信最好的方法阻止入侵者訪問你的樹莓派是在你的 SSH 配置中??禁止密碼認(rèn)證???,這樣只能通過 SSH 密匙進(jìn)入。這意味著任何試圖猜測你的密碼嘗試登錄的人都不會(huì)成功。只有你的私有密匙可以訪問。簡單來說,很多人建議將 SSH 端口從默認(rèn)的 22 換成其他的,但是通過簡單的 ??Nmap?? 掃描你的 IP 地址,你信任的 SSH 端口就會(huì)暴露。
- 最好,不要在這個(gè)樹莓派上運(yùn)行其他的軟件,這樣你不會(huì)意外暴露其他東西。如果你想要運(yùn)行其他軟件,你最好在網(wǎng)絡(luò)中的其他樹莓派上運(yùn)行,它們沒有暴露在互聯(lián)網(wǎng)上。確保你經(jīng)常升級(jí)來保證你的包是最新的,尤其是 ?
?openssh-server?
? 包,這樣你的安全缺陷就被打補(bǔ)丁了。 - 安裝 ??sshblack??? 或 ??fail2ban?? 來將任何表露出惡意的用戶加入黑名單,例如試圖暴力破解你的 SSH 密碼。
使樹莓派安全后,讓它在線,你將可以在世界的任何地方登錄你的網(wǎng)絡(luò)。一旦你登錄到你的樹莓派,你可以用 SSH 訪問本地網(wǎng)絡(luò)上的局域網(wǎng)地址(例如,192.168.1.31)訪問其他設(shè)備。如果你在這些設(shè)備上有密碼,用密碼就好了。如果它們同樣只允許 SSH 密匙,你需要確保你的密匙通過 SSH 轉(zhuǎn)發(fā),使用 ??-A?
?? 參數(shù):??ssh -A pi@123.45.67.89?
?。
CCTV / 寵物相機(jī)
另一個(gè)很棒的家庭項(xiàng)目是安裝一個(gè)相機(jī)模塊來拍照和錄視頻,錄制并保存文件,在內(nèi)網(wǎng)或者外網(wǎng)中進(jìn)行流式傳輸。你想這么做有很多原因,但兩個(gè)常見的情況是一個(gè)家庭安防相機(jī)或監(jiān)控你的寵物。
??樹莓派相機(jī)模塊??? 是一個(gè)優(yōu)秀的配件。它提供全高清的相片和視頻,包括很多高級(jí)配置,很??容易編程???。??紅外線相機(jī)??用于這種目的是非常理想的,通過一個(gè)紅外線 LED(樹莓派可以控制的),你就能夠在黑暗中看見東西。
如果你想通過一定頻率拍攝靜態(tài)圖片來留意某件事,你可以僅僅寫一個(gè)簡短的 ??Python??? 腳本或者使用命令行工具 ??raspistill???, 在 ??Cron??? 中規(guī)劃它多次運(yùn)行。你可能想將它們保存到 ??Dropbox??? 或另一個(gè)網(wǎng)絡(luò)服務(wù),上傳到一個(gè)網(wǎng)絡(luò)服務(wù)器,你甚至可以創(chuàng)建一個(gè)??web 應(yīng)用??來顯示他們。
如果你想要在內(nèi)網(wǎng)或外網(wǎng)中流式傳輸視頻,那也相當(dāng)簡單。在 ??picamera 文檔??中(在 “web streaming” 章節(jié))有一個(gè)簡單的 MJPEG(Motion JPEG)例子。簡單下載或者拷貝代碼到文件中,運(yùn)行并訪問樹莓派的 IP 地址的 8000 端口,你會(huì)看見你的相機(jī)的直播輸出。
有一個(gè)更高級(jí)的流式傳輸項(xiàng)目 ??pistreaming??? 也可以,它通過在網(wǎng)絡(luò)服務(wù)器中用 ??JSMpeg?? (一個(gè) JavaScript 視頻播放器)和一個(gè)用于相機(jī)流的單獨(dú)運(yùn)行的 websocket。這種方法性能更好,并且和之前的例子一樣簡單,但是如果要在互聯(lián)網(wǎng)中流式傳輸,則需要包含更多代碼,并且需要你開放兩個(gè)端口。
一旦你的網(wǎng)絡(luò)流建立起來,你可以將你的相機(jī)放在你想要的地方。我用一個(gè)來觀察我的寵物龜:
Ben Nuttall, CC BY-SA
如果你想控制相機(jī)位置,你可以用一個(gè)舵機(jī)。一個(gè)優(yōu)雅的方案是用 Pimoroni 的 ??Pan-Tilt HAT???,它可以讓你簡單的在二維方向上移動(dòng)相機(jī)。為了與 pistreaming 集成,可以看看該項(xiàng)目的 ??pantilthat 分支??.
Pimoroni.com, Copyright, 授權(quán)使用
如果你想將你的樹莓派放到戶外,你將需要一個(gè)防水的外圍附件,并且需要一種給樹莓派供電的方式。POE(通過以太網(wǎng)提供電力)電纜是一個(gè)不錯(cuò)的實(shí)現(xiàn)方式。
家庭自動(dòng)化或物聯(lián)網(wǎng)
現(xiàn)在是 2017 年(LCTT 譯注:此文發(fā)表時(shí)間),到處都有很多物聯(lián)網(wǎng)設(shè)備,尤其是家中。我們的電燈有 Wi-Fi,我們的面包烤箱比過去更智能,我們的茶壺處于俄國攻擊的風(fēng)險(xiǎn)中,除非你確保你的設(shè)備安全,不然別將沒有必要的設(shè)備連接到互聯(lián)網(wǎng),之后你可以在家中充分的利用物聯(lián)網(wǎng)設(shè)備來完成自動(dòng)化任務(wù)。
市場上有大量你可以購買或訂閱的服務(wù),像 Nest Thermostat 或 Philips Hue 電燈泡,允許你通過你的手機(jī)控制你的溫度或者你的亮度,無論你是否在家。你可以用一個(gè)樹莓派來催動(dòng)這些設(shè)備的電源,通過一系列規(guī)則包括時(shí)間甚至是傳感器來完成自動(dòng)交互。用 Philips Hue,你做不到的當(dāng)你進(jìn)房間時(shí)打開燈光,但是有一個(gè)樹莓派和一個(gè)運(yùn)動(dòng)傳感器,你可以用 Python API 來打開燈光。類似地,當(dāng)你在家的時(shí)候你可以通過配置你的 Nest 打開加熱系統(tǒng),但是如果你想在房間里至少有兩個(gè)人時(shí)才打開呢?寫一些 Python 代碼來檢查網(wǎng)絡(luò)中有哪些手機(jī),如果至少有兩個(gè),告訴 Nest 來打開加熱器。
不用選擇集成已存在的物聯(lián)網(wǎng)設(shè)備,你可以用簡單的組件來做的更多。一個(gè)自制的竊賊警報(bào)器,一個(gè)自動(dòng)化的雞籠門開關(guān),一個(gè)夜燈,一個(gè)音樂盒,一個(gè)定時(shí)的加熱燈,一個(gè)自動(dòng)化的備份服務(wù)器,一個(gè)打印服務(wù)器,或者任何你能想到的。
[[267147]]
Onion-pi from Adafruit, Copyright, 授權(quán)使用
Pi-hole
可以在你的網(wǎng)絡(luò)中安裝一個(gè)樹莓派來攔截所有的網(wǎng)絡(luò)交通并過濾所有廣告。簡單下載 ??Pi-hole?? 軟件到 Pi 中,你的網(wǎng)絡(luò)中的所有設(shè)備都將沒有廣告(甚至屏蔽你的移動(dòng)設(shè)備應(yīng)用內(nèi)的廣告)。
樹莓派在家中有很多用法。你在家里用樹莓派來干什么?你想用它干什么?
在下方評(píng)論讓我們知道。