【RP筆記7】 RP0W: 循環播放的數碼相架

臨時需求,要用一個能循環播放照片的數碼相片架,看了看市場上的產品,真是價錢又貴、尺寸又小、容量又少。把心一橫,用Raspberry Pi Zero Wifi (RP0W)做一個專門循環播放相片的應用吧。如果用品齊備,從下載映像燒製到調整設定兩個小時搞定。做好後你可以把它連到家裡已有的20寸的電腦顯示屏上或40寸的大電視上,只要帶有HDMI插口的都可以看。有的電視有兩個HDMI插口,用電視遙控器控制看哪個插口的視頻來源更方便,如果沒有HDMI插口,也可以買適當的轉換器或轉換線來配。

這種應用在任何電腦上都能做,挑選RP0W是因為它又便宜又小又無噪音。其實你現在到超級市場、地鐵站、或商場時,可以看到很多廣告顯示屏展示硬照(固定硬照或硬照循環),仔細觀察其背後連接的相片來源都是接到Raspberry Pi,BeagleBone Black,或Banana Pi這一類便宜的微型小電腦上,把成本壓到最低,花費主要都在顯示屏上。廣告顯示屏就是大型的電腦或電視屏幕,只是在適當的OS上運行一個簡單的幻灯播放軟件而已。

所需用品:
1. Raspberry Pi Wifi Zero (RP0W) 5-10美元
2. 16GB Micro SD    5-8美元
3. HDMI/Mini HDMI連接線    6-10美元
4. USB/MicroUSB 轉換線    3-5美元(借用一下而已,用完可以在下一個項目再用)
5. USB集線器 (USB Hub)    5美元(借用一下,插放鍵盤和老鼠)
6. USB鍵盤和老鼠    10美元?(借用一下)
7. MicroUSB充電器        這個用舊手機的充電器就有,現代家裡一般能找到十來個。

製作步驟:

1. 用Etcher燒製OS映像:現在最新的Raspbian映像叫Raspbian Stretch with Desktop,從這裡

圖一

圖一

載(不要拿錯Raspbian Stretch Lite,那個缺少圖像界面不能做這個應用)。下載後用Etcher燒製到MicroSD上,詳情請看前文筆記一第三至六步。

2. 把MicroSD插入RP0W,連上Mini HDMI到電視,USB Hub接上USB鍵盤和老鼠,再經USB/MicroUSB轉換線連到RP0W中間的那個MicroUSB口,然後把充電器插上就啟動了。

3. Raspbian Stretch OS啟動後,會進入一圖像界面。

4. 先在最左上角的圖標點一下,進入Preferences,然後是Mouse and Keyboard Settings。(圖一)

5. 選Keyboard然後是Keyboard Layout。(圖二)官方設定是英國鍵盤。這裡所要設定的就是自己的鍵盤,否則你會發現有些符號打出來的和顯示出來的不一樣(譬如,美國鍵盤的#在英國鍵盤的設定下會打成£)。選好後點兩次OK關閉對話視窗。(圖三)

frame_2open_keyboard_layout

圖二

frame_3keyboard_uk

圖三

6. 右上角點第二個圖標,挑選自己家的WiFi,設定密碼。

7. 左上角點第四個圖標,打開一個文字模式的終端(Terminal,圖四),打:

sudo raspi-config

進入設定,修改密碼、擴充系統(前文筆記一,第20-22步驟),並在詢問是否重啟(reboot)時選Yes。

圖四

圖四

8. 重啟後,左上角再點第四個圖標,再打開文字模式的終端,打 sudo apt-get update 更新所配備的軟件,問是否下載時打y然後輸入。(圖五)

圖五

圖五

9. 好了,現在是下載幻燈片軟件:
sudo apt-get install feh
問是否下載時打y然後輸入(Enter)。(圖六)

圖六

圖六

10. 再下一個屏幕保護的軟件來取消屏幕保護,否則圖片看了一陣子就會黑屏保護:
sudo apt-get install xscreensaver
問是否下載時打y然後輸入。這次更新會很久,接近五分鐘,下載了一大堆軟件。(圖七)

圖七

圖七

 

frame_9open_screensaver

圖八

11. 回到圖形界面,在最左上角的圖標點一下,進入Preferences,如果你剛才留意的話會發現多了一個ScreenSaver選項,選它(圖八)後先把那個XScreenSaver的警告(Warning)對話按OK搞定,然後Mode的選項中選 Disable Screen Saver,然後在對話視窗右上角點x關閉視窗。(圖九)

圖九

圖九

12. 回到文字終端,打 nano /home/pi/start_feh.sh 然後輸入。在編輯器裡打:
sleep 20
feh -Y -x -q -D 5 -B black -F -Z -r /media /home/pi/Pictures
注意是:如果想要照片打亂來播放,-r 前面加上 -z 既可。-D 後面的數字是設定照片顯示幾秒。-r 時表示會遞歸式地進入(recursively)後面列的幾個文件夾裡的所有子文件夾(sub-folder)來尋找圖片。
然後按 Ctrl-X, y,輸入(Enter)兩次即可。

13. 允許此 .sh 文件執行:
chmod  755 start_feh.sh

14. 現在把一滿載圖片的U盤插入,這U盤將被OS自動安置成 /media 裡的子文件夾。

15. 在第十二步,我們的要求是播放包括/media裡的所有圖片,所以現在已可以播放。現在在文字終端裡打:
./start_feh.sh
等20秒後,就播放了。

16. 按p可以跳回上個圖片,按n跳到下個圖片,按q停止播放程序。

17. 我加那20秒,是因為開機後OS需時間來安置/media內的子文件夾等所以等待一下,以防萬一。另一個要求是要開機後自動執行這start_feh.sh,所以還要修改進入X視窗後的自動執行腳本(shell script)。如果此刻還在播放圖片的話,按q回到文字終端打:
nano  ~/.config/lxsession/LXDE-pi/autostart
打開後,在@xscreensaver那行上面再加一行:
@/home/pi/start_feh.sh
打Ctrl-X,y,輸入(Enter)兩次來存檔就完成了。

18. 現在按左上角圖標選shutdown…按reboot就可以看到成果了。

19. 如果有經常想放的圖片,把它們拷貝到/home/pi/Pictures裡重啟即可,這樣U盤也可以拿掉了。如果是常駐播放,連鍵盤老鼠等都可以拿開。所以最終佔用的用品只有#1,#2,#3, 和#7。最理想的情況下16美元搞定。要美觀的話自己找個廢棄的小盒開幾個洞包上它吧!當然,不能用導電的金屬盒子!

20. 如果在wifi上改成固定IP,圖片還可以透過ssh遠程存入,這大概就是商店所用的,方便更新。我沒有採用,因為我這次播放的圖片近五千張,前文筆記三曾測試這樣透過ssh傳入幾個GB會太慢,所以用U盤直接插入電腦再插回RP0W拷貝比較快。

 

© 本文全篇圖文版权归作者 mik7k 所有,任何形式转载请联系作者。

Posted in i.family, i.tech and tagged , , .