博客專欄

EEPW首頁 > 博客 > 【超級干貨】用樹莓派做一個服務器是否可行?

【超級干貨】用樹莓派做一個服務器是否可行?

發(fā)布人:智能物聯(lián)研習社 時間:2021-06-09 來源:工程師 發(fā)布文章

樹莓派(英文名為Raspberry Pi,簡寫為RPi,(或者RasPi / RPI) 是為學習計算機編程教育而設計),只有****大小的微型電腦,其系統(tǒng)基于Linux。隨著Windows 10 IoT的發(fā)布,我們也將可以用上運行Windows的樹莓派。


自問世以來,受眾多計算機發(fā)燒友和創(chuàng)客的追捧,曾經(jīng)一“派”難求。別看其外表“嬌小”,內(nèi)“心”卻很強大,視頻、音頻等功能通通皆有,可謂是麻雀雖小,五臟俱全

1.用我的話理解

用我的話理解就是樹莓派就是一臺主機,你可以外接顯示器,鍵盤鼠標,u盤等等外設,因為它體積很小,而且又有很多串口和外接的口,可以直接調(diào)用很多底層硬件。

2.市面上的型號

市面上大多是3代B+型,淘寶一搜樹莓派一大堆都是,價錢純主板(不要任何外設)在230+左右,有點小貴,超過我的預算,所以我繼續(xù)尋找廉價的,終于讓我發(fā)現(xiàn)了一款100+的樹莓派。

3.樹莓派zero w

樹莓派zero w是一款mini的樹莓派,體質(zhì)只有3b+的1/3。實際到手后,你會發(fā)現(xiàn)它真的超級小,超級可愛。以下是我的實物圖,你可以看看大小到底有多mini。



你可以看到,最上面是一根普通的黑色簽字筆,接下來是一個即插即用型的外接wifi網(wǎng)卡,然后是一個USB讀卡器,最底下的就是我們今天的主角zero w。它真的超級小,有木有。真的是完美的詮釋了那句“麻雀雖小,五臟俱全”的話。

zero w這款樹莓派的主要參數(shù)如下:

  • BCM2835處理器,1GHz主頻,512MB RAM

  • BCM43438 WiFi / BT芯片

  • micro-USB電源接口

  • micro-USB OTG接口

  • miniHDMI端口

  • 復合視頻和重置擴展接口

  • 脆弱的CSI攝像頭接口

  • micro-SD卡座,存放操作系統(tǒng)

  • 40-pin GPIO擴展接口

  • 尺寸:65mm*30mm

你別看它的cpu只有1核,內(nèi)存只有512MB,就覺得它可能什么都做不了,但是實際上它的性能還是很好的,用于跑一個網(wǎng)站真的是小case。

4.更多樹莓派

關于更多樹莓派型號或者使用教程你可以去樹莓派實驗室這個網(wǎng)站,上面有豐富的資源。

三、樹莓派zero w安裝系統(tǒng)1.準備

你可能提前需要準備的東西如下:

  • 16GB or 32GB 的SanDisk內(nèi)存卡(注意是以前那種放在手機上,很小的哦)

  • 一根最普通不過的usb安卓數(shù)據(jù)線(not type-c)

  • u盤格式化工具(推薦使用 SDFormatter)

  • 系統(tǒng)燒寫工具(Win32DiskImager)

  • 樹莓派系統(tǒng)(可以去官網(wǎng)下載)

我使用的是Raspbian Stretch Lite這個系統(tǒng)鏡像,這個系統(tǒng)是官方制作的,lite是無桌面版的,只有黑漆漆的控制臺,優(yōu)點是體積小,省性能和內(nèi)存。

名字帶有desktop的是有桌面ui的,對不熟悉liunx系統(tǒng)的朋友可能更友好,但是體積很大,占用的性能也會更高。



2.第一步下載系統(tǒng)鏡像

下載好你需要的系統(tǒng)鏡像后,如下圖



一開始只有一個zip的壓縮包,大小大概360MB左右,你需要把它解壓,得到上圖的文件夾



然后進入文件夾可以看到一個img的鏡像,大小為1.7GB左右

ps:這個官方的Raspbian鏡像,如果是其他第三方的鏡像,可能下載后的壓縮包解壓后不是img鏡像,這種情況請另行百度解決
3.使用Win32DiskImager往內(nèi)存卡中寫入鏡像



把內(nèi)存卡插入讀卡器后,插入電腦。
打開Win32DiskImager軟件后,選擇img鏡像,設備選擇你的U盤,然后點擊寫入就可以了,寫入完成后會彈出成功的提示框。

ps: 我上圖沒有選擇設備,因為的沒插入讀卡器,僅僅是示范而已
4.修改boot分區(qū)的文件

先別急著拔出讀卡器,此時,我們電腦可以看到u盤中只有一個名為boot的分區(qū),大小可能只有40MB左右,不要著急,因為window不識別內(nèi)存卡中l(wèi)iunx系統(tǒng)的其他分區(qū)。

4.1新建ssh文件

因為我們的zero w有一個mini hdmi的接口,但是我不需要屏幕,所以需要使用ssh連接到zero w中的系統(tǒng),所以需要在第一次開機就能開啟ssh功能。
我們進入boot分區(qū)內(nèi),然后新建一個名為ssh的文件,注意不要后綴名!!!!也不要往里面寫任何東西??!

4.2新建wpa_supplicant.conf文件

因為ssh連接是需要ip地址的,所以我們需要將zero w在第一次開機自動連接wifi,使其和我們的電腦處于一個局域網(wǎng),這樣我們才可以通過ssh連接到zero w的系統(tǒng)。
同樣的在boot分區(qū)內(nèi),新建一個名為wpa_supplicant.conf的文件,然后往里面寫入如下內(nèi)容后保存:

country=CN
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
ssid="你的wifi名字"
psk="你的wifi密碼"
}
5.組裝我們的最小主機并連接

取出讀卡器中的內(nèi)存卡,然后插入到zero w中,使用一根usb安卓數(shù)據(jù)線連接電源(5V1A)即可。
等待幾分鐘,期間我們的zero w的指示燈會一直閃爍,很正常,等待指示燈常亮的時候,我們?nèi)ヂ酚善魃希榭匆幌聵漭傻膇p地址。



可以看到我們zero w的ip為192.168.0.104,然后使用ssh連接工具(推薦使用putty)連接樹莓派,初始賬戶為pi,密碼是raspberry。



連接成功,如上圖所示。這樣我們的系統(tǒng)就正確無誤的安裝好了。

ps: 如果是手機開啟熱點當做一個路由器的話,咱們手機下載一個名叫android terminal的app,然后輸入ip neigh指令,就可以查到連接到手機的設備的ip信息了。
6.優(yōu)化咱們樹莓派的系統(tǒng)6.1修改源

因為國外的源,咱們在國內(nèi)的連接過去網(wǎng)速很慢,所以我們需要修改為國內(nèi)的源,我修改的是中科大的源。

6.1.1修改sources.list文件
sudo nano /etc/apt/sources.list --注釋其他內(nèi)容,添加以下:deb http://mirrors.ustc.edu.cn/raspbian/raspbian/raspbian stretch main contrib non-free rpi
6.1.2修改raspi.list文件
sudo nano /etc/apt/sources.list.d/raspi.list--注釋其他內(nèi)容,添加以下:deb http://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian stretch main ui
6.1.3執(zhí)行更新
sudo apt-get updatesudo apt-get upgrade
6.2修改時區(qū)
sudo dpkg-reconfigure tzdata

找到亞洲Asia,然后選擇shanghai就可以了

6.3開機自啟ssh

第一種:

sudo raspi-config

進入選擇找到interfacing option選擇,然后找到ssh,按回車使能enable就可以了

第二種:
在終端命令行中啟動SSH服務后,如果系統(tǒng)重啟或關機后啟動,SSH服務默認是關閉的,依然需要手動啟動,為了方便可以設置SSH服務開機自動啟動,打開/etc/rc.local文件,在語句exit 0之前加入:
/etc/init.d/ssh start

建議都試試,反之我的是可以了。

7.安裝nginx
#安裝
sudo apt-get install nginx
#啟動
sudo /etc/init.d/nginx start
#重啟
sudo /etc/init.d/nginx restart
#停止
sudo /etc/init.d/nginx stop

打開瀏覽器訪問192.168.0.104(你的樹莓派ip地址),可以看到nginx的頁面,說明安裝好了。
我這邊上傳了我的博客,如下圖


可以正常的看到頁面了,但是這樣只能在內(nèi)網(wǎng)(局域網(wǎng)中)看到,我想讓所有人都可以訪問怎么辦?

8.內(nèi)網(wǎng)穿透

內(nèi)網(wǎng)穿透,意思就是將內(nèi)網(wǎng)(本地)的web應用通過nat穿透到公網(wǎng)上,從而讓別人可以訪問到。

內(nèi)網(wǎng)穿透目前主要由ngrok和frp兩種,都非常好用,國內(nèi)ngrok免費的有ittun、sunny和natapp,這三個都是免費的,前面兩個可以自定義域名,后面的需要vip版本才可以自定義域名。

我這三種都試過,我發(fā)現(xiàn)sunny的arm版本的ngrok客戶端在我的樹莓派運行不了,ittun的和natpp的ngrok都可以,由于需要自定義域名,我使用的是ittun的ngrok_arm版本的

使用方法這三者官網(wǎng)都有詳細說明,大家自行查看。

這是正常運行時的截圖,訪問http://zerow.ittun.com/時可以...


因為需要ngrok在后臺運行,所以我用的是screen會話使其可以在后臺運行。但是開啟自啟,還沒有實現(xiàn),萬一斷電或者斷網(wǎng)了,我必須手動去運行一下ngrok,這是目前沒有解決的痛點。

9.更多

樹莓派不僅僅只是可以用于運行一個網(wǎng)站,還有很多很多的功能等待你的開發(fā),可以多去看看樹莓派實驗室里面,很多大神都寫了很多實用的教程。

我的zero w狀態(tài)信息如下:



在上面開啟了一個nginx和ngrok服務,內(nèi)存剩余還有250MB,還是很舒服的,cpu溫度也不算高,運行兩天了,基本在37-39之間。

最后,安利一個我覺得挺不錯的物聯(lián)網(wǎng)開發(fā)平臺:

https://auth.tuya.com/?_source=32fe8c33b5a2a7c071f562063e20fd8a        


如果你是做智能硬件產(chǎn)品開發(fā),這個平臺可以幫助你低門檻快速開發(fā)一款可以支持手機App控制、智能音箱語音聯(lián)動的智能產(chǎn)品。平臺上還有sdk和原理圖可以查看,自己DIY智能硬件也非常方便。


*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯(lián)系工作人員刪除。

電容屏相關文章:電容屏原理


關鍵詞: 嵌入式 工程師

相關推薦

技術專區(qū)

關閉