作者:彭小呆
來源:segmentfault.com/a/1190000021143144
一、樹莓派是什么?
Raspberry Pi(中文名為樹莓派,簡寫為 RPi,(或者 RasPi / RPI) 是為學習計算機編程教育而設計),只有信用卡大小的微型電腦,其系統基于 Linux,隨著 Windows 10 IoT 的發布,我們也將可以用上運行 Windows 的樹莓派,
自問世以來,受眾多計算機發燒友和創客的追捧,曾經一“派”難求,別看其外表“嬌小”,內“心”卻很強大,視頻、音頻等功能通通皆有,可謂是麻雀雖小,五臟俱全,
1. 用我的話理解
用我的話理解就是樹莓派就是一臺主機,你可以外接顯示幕,鍵盤滑鼠,u盤等等外設,因為它體積很小,而且又有很多串口和外接的口,可以直接呼叫很多底層硬體,
2. 市面上的型號
市面上大多是 3 代 B+ 型,淘寶一搜樹莓派一大堆都是,價錢純主板(不要任何外設)在 230+ 左右,有點小貴,超過我的預算,所以我繼續尋找廉價的,終于讓我發現了一款 100+ 的樹莓派,
3. 樹莓派 zero w
樹莓派 zero w 是一款 mini 的樹莓派,體質只有 3b+ 的 1/3,實際到手后,你會發現它真的超級小,超級可愛,以下是我的實物圖,你可以看看大小到底有多 mini,

你可以看到,最上面是一根普通的黑色簽字筆,接下來是一個即插即用型的外接 wifi 網卡,然后是一個 USB 讀卡器,最底下的就是我們今天的主角 zero w,它真的超級小,有木有,真的是完美的詮釋了那句“麻雀雖小,五臟俱全”的話,
zero w 這款樹莓派的主要引數如下:
? BCM2835 處理器,1GHz 主頻,512MB RAM
? BCM43438 WiFi / BT 芯片
? micro-USB 電源介面
? micro-USB OTG 介面
? miniHDMI 埠
? 復合視頻和重置擴展介面
? 脆弱的 CSI 攝像頭介面
? micro-SD 卡座,存放作業系統
? 40-pin GPIO 擴展介面
? 尺寸:65mm*30mm
你別看它的 cpu 只有 1 核,記憶體只有 512MB,就覺得它可能什么都做不了,但是實際上它的性能還是很好的,用于跑一個網站真的是小 case,
4. 更多樹莓派
關于更多樹莓派型號或者使用教程你可以去樹莓派實驗室這個網站,上面有豐富的資源,
二、樹莓派zero w安裝系統
1. 準備
你可能提前需要準備的東西如下:
? 16GB or 32GB 的 SanDisk 記憶體卡(注意是以前那種放在手機上,很小的哦)
? 一根最普通不過的 usb 安卓資料線(not type-c)
? u 盤格式化工具(推薦使用 SDFormatter)
? 系統燒寫工具(Win32DiskImager)
? 樹莓派系統(可以去官網下載)
我使用的是 Raspbian Stretch Lite 這個系統鏡像,這個系統是官方制作的,lite 是無桌面版的,只有黑漆漆的控制臺,優點是體積小,省性能和記憶體,
名字帶有 desktop 的是有桌面 ui 的,對不熟悉 liunx 系統的朋友可能更友好,但是體積很大,占用的性能也會更高,

2. 第一步下載系統鏡像
下載好你需要的系統鏡像后,如下圖

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

然后進入檔案夾可以看到一個 img 的鏡像,大小為 1.7GB 左右,
ps:這個官方的 Raspbian 鏡像,如果是其他第三方的鏡像,可能下載后的壓縮包解壓后不是 img 鏡像,這種情況請另行百度解決,
3. 使用 Win32DiskImager 往記憶體卡中寫入鏡像

把記憶體卡插入讀卡器后,插入電腦,
打開 Win32DiskImager 軟體后,選擇 img 鏡像,設備選擇你的 U 盤,然后點擊寫入就可以了,寫入完成后會彈出成功的提示框,
ps: 我上圖沒有選擇設備,因為的沒插入讀卡器,僅僅是示范而已
4. 修改 boot 磁區的檔案
先別急著拔出讀卡器,此時,我們電腦可以看到 u 盤中只有一個名為 boot 的磁區,大小可能只有 40MB 左右,不要著急,因為 window 不識別記憶體卡中 liunx 系統的其他磁區,
4.1 新建 ssh 檔案
因為我們的 zero w 有一個 mini hdmi 的介面,但是我不需要螢屏,所以需要使用 ssh 連接到 zero w 中的系統,所以需要在第一次開機就能開啟 ssh 功能,
我們進入 boot 磁區內,然后新建一個名為 ssh 的檔案,注意不要后綴名!!!!也不要往里面寫任何東西!!
4.2 新建 wpa_supplicant.conf 檔案
因為 ssh 連接是需要 ip 地址的,所以我們需要將 zero w 在第一次開機自動連接 wifi,使其和我們的電腦處于一個局域網,這樣我們才可以通過 ssh 連接到 zero w 的系統,
同樣的在 boot 磁區內,新建一個名為 wpa_supplicant.conf 的檔案,然后往里面寫入如下內容后保存:
country=CN
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="你的wifi名字"
psk="你的wifi密碼"
}
5. 組裝我們的最小主機并連接
取出讀卡器中的記憶體卡,然后插入到 zero w 中,使用一根 usb 安卓資料線連接電源(5V1A)即可,
等待幾分鐘,期間我們的 zero w 的指示燈會一直閃爍,很正常,等待指示燈常亮的時候,我們去路由器上,查看一下樹莓派的 ip 地址,

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

連接成功,如上圖所示,這樣我們的系統就正確無誤的安裝好了,
ps: 如果是手機開啟熱點當做一個路由器的話,咱們手機下載一個名叫 android terminal 的 app,然后輸入 ip neigh 指令,就可以查到連接到手機的設備的 ip 資訊了,
6. 優化咱們樹莓派的系統
6.1 修改源
因為國外的源,咱們在國內的連接過去網速很慢,所以我們需要修改為國內的源,我修改的是中科大的源,
6.1.1 修改 sources.list 檔案
sudo nano /etc/apt/sources.list
--注釋其他內容,添加以下:
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
--注釋其他內容,添加以下:
deb http://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian stretch main ui
6.1.3 執行更新
sudo apt-get update
sudo apt-get upgrade
6.2 修改時區
sudo dpkg-reconfigure tzdata
找到亞洲 Asia,然后選擇 shanghai 就可以了,
6.3 開機自啟 ssh
第一種:
sudo raspi-config
進入選擇找到 interfacing option 選擇,然后找到 ssh,按回車使能 enable 就可以了,
第二種:
在終端命令列中啟動 SSH 服務后,如果系統重啟或關機后啟動,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 的頁面,說明安裝好了,
我這邊上傳了我的博客,如下圖

可以正常的看到頁面了,但是這樣只能在內網(局域網中)看到,我想讓所有人都可以訪問怎么辦?
8. 內網穿透
內網穿透,意思就是將內網(本地)的 web 應用通過 nat 穿透到公網上,從而讓別人可以訪問到,
內網穿透目前主要由 ngrok 和 frp 兩種,都非常好用,國內 ngrok 免費的有 ittun、sunny 和 natapp,這三個都是免費的,前面兩個可以自定義域名,后面的需要 vip 版本才可以自定義域名,
我這三種都試過,我發現 sunny 的 arm 版本的 ngrok 客戶端在我的樹莓派運行不了,ittun 的和 natpp 的 ngrok 都可以,由于需要自定義域名,我使用的是 ittun 的 ngrok_arm 版本的,
使用方法這三者官網都有詳細說明,大家自行查看,
這是正常運行時的截圖,訪問 http://zerow.ittun.com/ 時可以...


因為需要 ngrok 在后臺運行,所以我用的是 screen 會話使其可以在后臺運行,但是開啟自啟,還沒有實作,萬一斷電或者斷網了,我必須手動去運行一下 ngrok,這是目前沒有解決的痛點,
9. 更多
樹莓派不僅僅只是可以用于運行一個網站,還有很多很多的功能等待你的開發,可以多去看看樹莓派實驗室里面,很多大神都寫了很多實用的教程,
這個zero w 狀態資訊如下:

在上面開啟了一個 nginx 和 ngrok 服務,記憶體剩余還有 250MB,還是很舒服的,cpu 溫度也不算高,運行兩天了,基本在 37-39 之間,
近期熱文推薦:
1.1,000+ 道 Java面試題及答案整理(2021最新版)
2.別在再滿屏的 if/ else 了,試試策略模式,真香!!
3.臥槽!Java 中的 xx ≠ null 是什么新語法?
4.Spring Boot 2.5 重磅發布,黑暗模式太炸了!
5.《Java開發手冊(嵩山版)》最新發布,速速下載!
覺得不錯,別忘了隨手點贊+轉發哦!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/300370.html
標籤:其他
