如何用樹莓派制作WiFi相框
DIY 一個數碼相框,圖片流來自云端。
數碼相框真的很好,因為它可以讓你查看你自己的相片而不必打印出來。更棒的是,當你想要展示一張新的相片的時候,增加和刪除數字圖片要比打開傳統的相框然后替換里面的相框更簡單。不過,這還是需要一點手動的操作,比如從數字相框取出 SD 卡、U 盤或者其他的存儲介質,然后把存儲介質接入電腦,接著再復制圖片進入存儲介質。
一個更簡單的選項是數字相框通過 WiFi 獲得圖片,例如從云端服務器獲得。下面就是如何制作這樣的一個數字相框。
需要使用的材料
- 老式 TFT 的 LCD 顯示屏
- HDMI 到 DVI 的轉接線(因為 TFT 屏幕支持 DVI)
- 樹莓派 3
- Micro SD 卡
- 樹莓派的電源
- 鍵盤
- 鼠標(可選)
使用線纜連接樹莓派到顯示器,并連接電源。
安裝 Raspbian
按照以下指示下載并將 Raspbian 燒錄到 Micro SD 卡中。將 Micro SD 卡插入樹莓派,啟動它,并配置你的 WiFi。在安裝完 Raspbian 后,我的第一個操作通常是運行 sudo raspi-config
。在那里,我在網絡選項中更改主機名(例如,改為 picframe
),并在接口選項中啟用 SSH 以遠程連接到樹莓派。使用(例如)ssh pi@picframe
連接到樹莓派。
建立并安裝云客戶端
我使用 Nextcloud 來同步我的圖片,但是你可以使用 NFS、Dropbox,或者其他的適合你的需求的方式上傳圖片到相框。
如果你使用 Nextcloud,請按照以下說明在 Raspbian 上安裝客戶端。這可以很方便的放圖片到你的相框,并且你可能很熟悉安裝在臺式機的這個客戶端應用。當連接客戶端到 Nextcloud 服務器上的時候,請確保只選擇存儲你要在相框上顯示的圖片的文件夾。
設置幻燈片放映
我發現設置幻燈片放映最簡單的方式是使用一個專門為這個目的建立的輕量級的幻燈片項目。還有一些備用方案,像是配置屏保,這個應用似乎是最最簡單設置幻燈片放映的方式了。
在你的樹莓派上下載最新的二進制程序,解包并移動到一個可執行的文件夾里:
wget https://github.com/NautiluX/slide/releases/download/v0.9.0/slide_pi_stretch_0.9.0.tar.gz
tar xf slide_pi_stretch_0.9.0.tar.gz
mv slide_0.9.0/slide /usr/local/bin/
安裝依賴關系:
sudo apt install libexif12 qt5-default
通過執行下面的命令播放幻燈片(不要忘記修改圖片的路徑)。如果你通過 SSH 訪問你樹莓派,設置 DISPLAY
變量來在連接到樹莓派顯示屏上開始播放幻燈片。
DISPLAY=:0.0 slide -p /home/pi/nextcloud/picframe
自動播放幻燈片
為了在 Raspbian Stretch 上自動播放幻燈片,建立如下的文件夾并且添加一個 autostart
文件到里面:
mkdir -p /home/pi/.config/lxsession/LXDE/
vi /home/pi/.config/lxsession/LXDE/autostart
在文件中輸入如下的命令來自動開啟幻燈片。slide
命令可以調整到你需要的地方:
@xset s noblank
@xset s off
@xset -dpms
@slide -p -t 60 -o 200 -p /home/pi/nextcloud/picframe
禁止屏幕空白,樹莓派通常會在 10 分鐘后這樣做,通過編輯下面的文件修改:
vi /etc/lightdm/lightdm.conf
添加這兩行到文件末尾:
[SeatDefaults]
xserver-command=X -s 0 -dpms
配置上電時間
你可以安排你的相框什么時候打開和關閉通過使用兩個簡單的定時任務。例如,你想在上午 7 點自動打開,在晚上 11 點自動關閉。運行 crontab -e
并且輸入下面的兩行:
0 23 * * * /opt/vc/bin/tvservice -o
0 7 * * * /opt/vc/bin/tvservice -p && sudo systemctl restart display-manager
注意這不會打開或關閉樹莓派的電源;這只會關閉 HDMI,它會關閉屏幕。第一行命令將在晚上 11 點關閉 HDMI。第二行將在早上 7 點打開顯示屏并重啟顯示器管理器。
附言
通過這些簡單的步驟,你創建了你自己 WiFi 相框。如果你想要讓它更好看,為顯示屏做一個木質相框吧。