5 個可在家中使用的樹莓派專案

2019-06-04 11:09:00

樹莓派 電腦可被用來進行多種設定用於不同的目的。顯然它在教育市場幫助學生在教室和創客空間中學習程式設計與創客技巧方面佔有一席之地,它在工作場所和工廠中有大量行業應用。我打算介紹五個你可能想要在你的家中構建的專案。

媒體中心

在家中人們常用樹莓派作為媒體中心來服務多媒體檔案。它很容易搭建,樹莓派提供了大量的 GPU(圖形處理單元)運算能力來在大屏電視上渲染你的高清電視節目和電影。將 Kodi(從前的 XBMC)執行在樹莓派上是一個很棒的方式,它可以播放你的硬碟或網路儲存上的任何媒體。你同樣可以安裝一個外掛來播放 YouTube 視訊。

還有幾個略微不同的選擇,最常見的是 OSMC(開源媒體中心)和 LibreELEC,都是基於 Kodi 的。它們在放映媒體內容方面表現的都非常好,但是 OSMC 有一個更酷炫的使用者介面,而 LibreElec 更輕量級。你要做的只是選擇一個發行版,下載映象並安裝到一個 SD 卡中(或者僅僅使用 NOOBS),啟動,然後就準備好了。

LibreElec

LibreElec;樹莓派基金會, CC BY-SA

OSMC

OSMC.tv, 版權所有, 授權使用

在往下走之前,你需要決定使用哪種樹莓派。這些發行版在任何樹莓派(1、2、3 或 Zero)上都能執行,視訊播放在這些樹莓派中的任何一個上都能勝任。除了 Pi 3(和 Zero W)有內建 Wi-Fi,唯一可察覺的不同是使用者介面的反應速度,在 Pi 3 上更快。Pi 2 也不會慢太多,所以如果你不需要 Wi-Fi 它也是可以的,但是當切換選單時,你會注意到 Pi 3 比 Pi 1 和 Zero 表現的更好。

SSH 閘道器

如果你想從外部網路存取你的家庭區域網的電腦和裝置,你必須開啟這些裝置的埠來允許外部存取。在網際網路中開放這些埠有安全風險,意味著你總是你總是處於被攻擊、濫用或者其他各種未授權存取的風險中。然而,如果你在你的網路中安裝一個樹莓派,並且設定埠對映來僅允許通過 SSH 存取樹莓派,你可以這麼用來作為一個安全的閘道器來跳到網路中的其他樹莓派和 PC。

大多數路由允許你設定埠對映規則。你需要給你的樹莓派一個固定的內網 IP 地址來設定你的路由器埠 22 對映到你的樹莓派埠 22。如果你的網路服務提供商給你提供了一個靜態 IP 地址,你能夠通過 SSH 和主機的 IP 地址存取(例如,ssh [email protected])。如果你有一個域名,你可以設定一個子域名指向這個 IP 地址,所以你沒必要記住它(例如,ssh [email protected])。

然而,如果你不想將樹莓派暴露在網際網路上,你應該非常小心,不要讓你的網路處於危險之中。如果你遵循一些簡單的步驟來使它更安全:

  1. 大多數人建議你更換你的登入密碼(有道理,預設密碼 “raspberry” 是眾所周知的),但是這不能阻擋暴力攻擊。你可以改變你的密碼並新增一個雙重驗證(所以你需要你的密碼一個手機生成的與時間相關的密碼),這麼做更安全。但是,我相信最好的方法阻止入侵者存取你的樹莓派是在你的 SSH 設定中禁止密碼認證,這樣只能通過 SSH 密匙進入。這意味著任何試圖猜測你的密碼嘗試登入的人都不會成功。只有你的私有密匙可以存取。簡單來說,很多人建議將 SSH 埠從預設的 22 換成其他的,但是通過簡單的 Nmap 掃描你的 IP 地址,你信任的 SSH 埠就會暴露。
  2. 最好,不要在這個樹莓派上執行其他的軟體,這樣你不會意外暴露其他東西。如果你想要執行其他軟體,你最好在網路中的其他樹莓派上執行,它們沒有暴露在網際網路上。確保你經常升級來保證你的包是最新的,尤其是 openssh-server 包,這樣你的安全缺陷就被打修補程式了。
  3. 安裝 sshblackfail2ban 來將任何表露出惡意的使用者加入黑名單,例如試圖暴力破解你的 SSH 密碼。

使樹莓派安全後,讓它線上,你將可以在世界的任何地方登入你的網路。一旦你登入到你的樹莓派,你可以用 SSH 存取本地網路上的區域網地址(例如,192.168.1.31)存取其他裝置。如果你在這些裝置上有密碼,用密碼就好了。如果它們同樣只允許 SSH 密匙,你需要確保你的密匙通過 SSH 轉發,使用 -A 引數:ssh -A [email protected]

CCTV / 寵物相機

另一個很棒的家庭專案是安裝一個相機模組來拍照和錄視訊,錄製並儲存檔案,在內網或者外網中進行流式傳輸。你想這麼做有很多原因,但兩個常見的情況是一個家庭安防相機或監控你的寵物。

樹莓派相機模組 是一個優秀的配件。它提供全高清的相片和視訊,包括很多高階設定,很容易程式設計紅外線相機用於這種目的是非常理想的,通過一個紅外線 LED(樹莓派可以控制的),你就能夠在黑暗中看見東西。

如果你想通過一定頻率拍攝靜態圖片來留意某件事,你可以僅僅寫一個簡短的 Python 指令碼或者使用命令列工具 raspistill, 在 Cron 中規劃它多次執行。你可能想將它們儲存到 Dropbox 或另一個網路服務,上傳到一個網路伺服器,你甚至可以建立一個web 應用來顯示他們。

如果你想要在內網或外網中流式傳輸視訊,那也相當簡單。在 picamera 文件中(在 “web streaming” 章節)有一個簡單的 MJPEG(Motion JPEG)例子。簡單下載或者拷貝程式碼到檔案中,執行並存取樹莓派的 IP 地址的 8000 埠,你會看見你的相機的直播輸出。

有一個更高階的流式傳輸專案 pistreaming 也可以,它通過在網路伺服器中用 JSMpeg (一個 JavaScript 視訊播放器)和一個用於相機流的單獨執行的 websocket。這種方法效能更好,並且和之前的例子一樣簡單,但是如果要在網際網路中流式傳輸,則需要包含更多程式碼,並且需要你開放兩個埠。

一旦你的網路流建立起來,你可以將你的相機放在你想要的地方。我用一個來觀察我的寵物龜:

Tortoise

Ben Nuttall, CC BY-SA

如果你想控制相機位置,你可以用一個舵機。一個優雅的方案是用 Pimoroni 的 Pan-Tilt HAT,它可以讓你簡單的在二維方向上移動相機。為了與 pistreaming 整合,可以看看該專案的 pantilthat 分支.

Pan-tilt

Pimoroni.com, Copyright, 授權使用

如果你想將你的樹莓派放到戶外,你將需要一個防水的外圍附件,並且需要一種給樹莓派供電的方式。POE(通過乙太網提供電力)電纜是一個不錯的實現方式。

家庭自動化或物聯網

現在是 2017 年(LCTT 譯註:此文發表時間),到處都有很多物聯網裝置,尤其是家中。我們的電燈有 Wi-Fi,我們的麵包烤箱比過去更智慧,我們的茶壺處於俄國攻擊的風險中,除非你確保你的裝置安全,不然別將沒有必要的裝置連線到網際網路,之後你可以在家中充分的利用物聯網裝置來完成自動化任務。

市場上有大量你可以購買或訂閱的服務,像 Nest Thermostat 或 Philips Hue 電燈泡,允許你通過你的手機控制你的溫度或者你的亮度,無論你是否在家。你可以用一個樹莓派來催動這些裝置的電源,通過一系列規則包括時間甚至是感測器來完成自動互動。用 Philips Hue,你做不到的當你進房間時開啟燈光,但是有一個樹莓派和一個運動感測器,你可以用 Python API 來開啟燈光。類似地,當你在家的時候你可以通過設定你的 Nest 開啟加熱系統,但是如果你想在房間裡至少有兩個人時才開啟呢?寫一些 Python 程式碼來檢查網路中有哪些手機,如果至少有兩個,告訴 Nest 來開啟加熱器。

不用選擇整合已存在的物聯網裝置,你可以用簡單的元件來做的更多。一個自製的竊賊警報器,一個自動化的雞籠門開關,一個夜燈,一個音樂盒,一個定時的加熱燈,一個自動化的備份伺服器,一個列印伺服器,或者任何你能想到的。

Tor 協定和遮蔽廣告

Adafruit 的 Onion Pi 是一個 Tor 協定來使你的網路通訊匿名,允許你使用網際網路而不用擔心窺探者和各種形式的監視。跟隨 Adafruit 的指南來設定 Onion Pi,你會找到一個舒服的匿名的瀏覽體驗。

Onion-Pi

Onion-pi from Adafruit, Copyright, 授權使用

Pi-hole

可以在你的網路中安裝一個樹莓派來攔截所有的網路交通並過濾所有廣告。簡單下載 Pi-hole 軟體到 Pi 中,你的網路中的所有裝置都將沒有廣告(甚至遮蔽你的移動裝置應用內的廣告)。

樹莓派在家中有很多用法。你在家裡用樹莓派來幹什麼?你想用它幹什麼?

在下方評論讓我們知道。