事情是這樣的,在2020年12月,作為生日禮物,我終於也獲得了一塊樹莓派。
作為一個擁有公眾號的人,決定還是把這期間的各種經歷和想法寫下來,這樣萬一哪天不慎把它搞壞了,還能來這裡找到點備份。 順便還有作為學習筆記的作用。
在地鐵上就迫不及待進行的拍照留念環節
Part 0 樹莓派是什麼
首先,為了以防某一篇公號瀏覽到了了10萬+,有粉絲來這裡看我的黑歷史,請容我先對樹莓派進行一番解釋:
樹莓派(英語:Raspberry Pi)是基於Linux的單片機電腦,由英國樹莓派基金會開發,目的是以低價硬體及自由軟體促進學校的基本計算機科學教育。樹莓派每一代均使用博通(Broadcom)出產的ARM架構處理器,如今生產的機型內存在2GB和8GB之間,主要使用SD卡或者TF卡作為存儲媒體,配備USB接口、HDMI的視頻輸出(支持聲音輸出)和RCA端子輸出,內置Ethernet/WLAN/Bluetooth網絡連結的方式(依據型號決定),並且可使用多種作業系統。產品線型號分為A型、B型、Zero型和ComputeModule計算卡。【wikipedia】
太長不看版:
雖說是個玩具,但即使是想要正常玩耍,對於我來說也是花了一點時間的。下面就是這快樂過程的記錄,
...
溫馨提示,
閱讀完下文,閣下將習得的本領:
Part 1 系統及軟體部分
對於系統部分,我直接使用了etcher導入完整版的raspberry到了32G的TF卡上。此處無論是系統還是工具的下載都是非常方便的,可以直接去官網下載免費的完整版本。接著只需要在ether中選擇鏡像和需要寫入的磁碟並點擊那個又大又藍的Flash按鈕就可以了。
唯一需要注意的問題就是在一切完成後,windows系統可能會報錯無法讀寫或是
需要格式化,這裡只需要單擊右上角關掉通知然後拔出卡片就可以了。
ether的官網截圖
若是像我一樣運氣不錯,把內存卡送進樹莓派背面的卡槽,連上電源和顯示器,應該就能正常進系統了。
說起外接顯示器這件事,我的4B型號擁有兩個Mini HDMI接口,根據網上的消息只有其中的0號接口支持輸出4K60p,雖然不知真假,但我還是默認選擇這個口來外接顯示。
由於安裝的是帶桌面的完整版系統,首次啟動後只要按照圖形界面的提示設置就可以了。
至此,一臺能夠獨立聯網運行的小電腦就誕生了√
(其實這裡還是有一些可以改進的地方,我應該使用一個叫做」NOOBS「的官方工具來進行安裝,這樣就可以體驗多系統了)
接下來的部分是使用ssh遠程連接到樹莓派了。
這裡分成兩個部分——分別是使用命令行和圖形界面進行遠程連接。
但在我開始分別羅列兩者的操作方式前,首先需要打開樹莓派上默認關閉的ssh設置,路徑就在【首選項---Raspberry Pi Configuration---interfaces】
建議開啟後根據系統提示更改一下默認的登陸帳號和密碼,倒也不是為了安全,主要還是每次開機後的安全警告有點煩人。
使用命令行是網上教程最多的一種遠程連接方式了。可能是因為佔用的帶寬小並且連接穩定吧。
要實現這項功能,只需要在設置完樹莓派的ssh後,在你的控制端安裝一個ssh客戶端就可以了,我這裡使用的是網上比較多推薦的putty,優點是免安裝,佔用資源也比較小。但如果你不是很在乎這些,我還是更推薦界面更「現代」一些的XSHELL。
打開軟體,輸入樹莓派的ip地址以及埠號22(在這篇文章中ssh使用的埠號都是默認的22),就可以連接了。
至於如何獲得樹莓派的ip地址,可以在控制端使用ifconfig或ip addr命令來查看,當然也可以像我一樣直接在路由器後臺找
這裡我遇到的小問題是我之前不知道輸入密碼的時候系統是沒有顯示的,好幾次都以為是網絡卡了。。。
當你的客戶端出現如下的綠色字符,就代表連接上了。
好了那麼接下來,我將隆重介紹自己學會的第一條Linux命令
sudo的意思是以管理員的身份執行指令,如果不添加,會提示沒有權限
now的添加是為了立刻執行關機指令,如果不加,系統會默認在一分鐘後關機,
當然也可以把它改為其他數字或具體時間,從而預約關機時間。
有關命令部分我就不在這裡繼續晃蕩自己的那半瓶醋了。雖然我會的命令也不是很多,但Linux命令又是一件很有意思的事情。說不定啥時候我學會大多數的皮毛,就又可以會圍繞著這個主題再寫一篇。
為了以防需要從移動端登陸,我在appstore上搜到了這個叫做WebSSH的app,初步試了一下體驗還算流暢
完成了初步的命令行連接,作為小白,還是需要一個可以遠程操作的圖形化界面以破除只會幾條命令的限制。
這個部分網上的教程提供了兩種方式,分別為VNC和MSTSC(也就是windows自帶的遠程桌面)
雖然別人口中的VNC具有小巧高效且有社區支持的特點,但是抵不住windows自帶遠程桌面連額外的客戶端都不需要的強大吸引力,於是我毅然選擇了後者。
具體的操作步驟如下,首先在樹莓派控制臺輸入以下指令以在軟體源中查找並下載安裝一個叫做xrdp的軟體。
sudo apt-get install xrdp至於軟體源,我用的是系統默認的raspbian.raspberrypi.org,看到網上有很多教程換成國內的比如清華或中科大的源,暫時沒有遇到資源問題,所以就先不做更換。
接著,只要在遠程桌面輸入對應ip即可輕鬆訪問。
如果輸入用戶名和密碼後出現了這樣的彈窗
別擔心,那可能只是因為你的密碼輸錯了
解決了遠程操控的需求,還有一個問題需要搞定,那就是——遠程傳輸文件,看到網上有些教程說在前面的遠程桌面中就可以直接將電腦上的文件複製到樹莓派,經過實測。。。反正我是不行。
無奈之下,搜索了一下,最常見的文件傳輸方案如下
首先在樹莓派上安裝一款叫做vsftpd的ftp伺服器應用
pi@raspberrypi ~ $ sudo apt-get install vsftpd接著在需要傳輸文件的電腦上安裝一個ftp客戶端,我這邊選的是FileZilla,安裝好後同樣輸入ip就可以使用了。
那麼至此,構成遠程操作一個樹莓派的所有環境就都已經安裝完畢,我可以在電腦和pad甚至是手機上完成對其的任何操作。
Part 2 配套硬體部分
除了上面寫到的為遠程連接需求配置的環境外。在看得見摸得著的實體硬體上進行操作是我更傾向的一種方式。
為了實現這一切,一塊樹莓派需要以下外部設備的支持
1.電源
2.顯示設備
3.輸入設備
對於固定環境,使用商家另配的Mini HDMI視頻線以及5V3A的電源線並且連接鍵盤滑鼠甚至音箱就可以作為普通主機來使用了。
如果需要在移動環境下使用樹莓派,
前段時間看到了稚暉君(真的強烈推薦您去B站瀏覽這個被稱為野生鋼鐵俠的男人發布的視頻)的作品,他將6英寸屏幕與充電寶結合,製作了一塊能夠給樹莓派供電的1080p便攜屏幕。
看到視頻的那一瞬間,我的直覺告訴我,這就是世界上最適合作為樹莓派可移動配件的設備了。考慮到自己的實際能力,在看完這個讓我心潮澎湃視頻後的第三天,我終於放棄了根據大佬在github給出的各種圖紙照樣複製一個的想法(至少是暫時放棄了),決定上淘寶跟個車。後期跟車群裡進度的狀況百出也充分體現出了這個項目絕非表面上看起來的那麼簡單。
我的訂單記錄
可能你已經發現了,訂單在付款後被我取消了。原因有二,首先 一塊329元的手機屏幕對於這個以興趣為動力的項目來說有些略顯奢侈,在同等價位購買一塊表現尚可的十一英寸便攜屏幕可以帶來體驗的大幅提升。第二是我找到了能實現大部分功能且價格只有前者三分之一不到的廉價替代品。
在我介紹這款替代品之前,請讓我重新介紹一下樹莓派的視頻輸出功能,每一款Raspberry Pi 4B均提供了4種輸出方式任君選擇:
前文中略有提到的兩個Mini HDMI接口
機身正面的兩排GPIO插槽
MIPI接口
兼任AV信號輸出的3.5mm接口
搜索相關商品和資料後給出的優缺點如下:
接口類型
優點
缺點HDMI即插即用
用便攜小屏幕時對外殼的安裝不太友好
GPIO插針安裝
結構較為穩固緊湊
需要安裝驅動
佔用後無法用該接口連接其他配件
MIPI
獨立接口,不影響其他功能新手向資料較少,接口複雜且不通用
3.5mm對舊設備的支持較好我沒有需要連接的舊電視
轉接部分體積大不說,還會失去一個耳機孔
在綜合對比權衡之後,MIPI和3.5mm接口被從我的選擇中排除了出去。
最終我在電商平臺上選擇了一款3.5英寸附帶電阻觸控的GPIO接口屏幕。由於這塊屏幕正面尺寸剛好和樹莓派的pcb大小一致,用針腳連接後就能形成比起HDMI接頭更為穩固的結構,此外商家還有能夠完美兼容屏幕的列印外殼。這樣一來,即使我需要臨時外接兩塊屏幕也不需要頻繁插拔HDMI接口。
當然,缺點也非常明顯———縱使此屏幕的插針實際上只佔用了一半的GPIO接口,但由於直接安裝在樹莓派的上方,因此把剩下的一半接口也給遮住了.雖然我大可以將屏幕用杜邦線引出,但顯然過於繁複且不優雅了。
下面是成果展示環節
滑動查看另外的兩張圖
當然,我也嘗試了一下用這塊屏幕看B站,也不是不行,就是這個刷新率有點低,如果你願意的話可以點開下面這段25秒鐘的視頻感受一下:
嗯。。。至少在看視頻方面,還是手機比較好用
雖然沒法做到盡善盡美,但是也尚滿足在對移動場景下使用的各種需求(又不是不能用)。完成了這些以後,我還例行安裝了my SQL、python IDLE、arduino IDE以及一款叫做MOC的控制臺音樂播放器。
伴隨著年底各種DDL的臨近,我的這篇樹莓派體驗分享可能就要走到尾聲了。在這最後的幾百字裡我想再感謝下如今網際網路的發展以及各位用戶的無私奉獻,各種類似的論壇和博客大大方便了我的學習,讓我少繞了很多的彎路。讚美CSDN!沒有這個網站上千千萬萬用戶的幫助我可能真·還沒開始就放棄了。
(完)
2020.12.25
寫於復興島公園
暫時就先用這個二維碼圖吧,下個推送再好好設計一下