作者:陳拓 chentuo@ms.xab.ac.cn 2018.05.16/2018.06.09
0. 概述
本位介紹兩種電腦連接樹莓派Pi Zero W的方法:
- 電腦通過USB以太網連接樹莓派ZeroW
- 電腦通過WiFi連接樹莓派ZeroW
1. 外觀
1.1 電路板正面

Pi Zero W有兩個micro USB,標有PWR IN的是電源接口,沒有數據功能;標記USB的是OTG接口,可以使用USB-OTG線接USB-Hub,繼而連接鼠標鍵盤、有線無線網卡、U盤等其他設備。兩個micro USB都可以供電,對電源的要求5V1A。
1.2 電路板背面

1.3 CSI接口
攝像頭CSI(COMS Sensor Interface)接口

1.4 預留的接口,"RUN"和"TV"

"RUN"在3B上也有,短接后有復位和重啟的效果。"TV" 復合視頻輸出,用於老式的電視作為樹莓派 Zero 的顯示器。

1.5 無線傳輸
WiFi和藍牙和3B一樣,都由BCM43438芯片提供支持,但是兩者間不同之處在於天線的設計。3B使用的是陶瓷天線,ZeroW上用的則是一種“新穎的天線”設計。

Zero W天線由瑞典天線專家Proant AB親自操刀設計,據說要比3B的陶瓷天線還要好那么一點點。
1.6 參數

Raspberry Pi Zero W的發布時間2017年。
2. 准備
2.1 設備
- 樹莓派zero w
- TF 卡(至少8G)
- Micro USB 數據線(充電線就可以,不使用USB網卡功能)
- 電腦,本文使用windows 7
2.2 燒錄操作系統
樹莓派支持很多系統,建議使用Raspbian,能得到更多的社區支持。進入樹莓派官網的RASPBIAN映像下載頁面:https://www.raspberrypi.org/downloads/raspbian/,看看官方介紹。
Raspbian是基金會官方支持的操作系統。您可以使用NOOBS安裝它,或者下載下面的映像並按照我們的安裝指南操作。
Raspbian預裝了大量用於教育,編程和一般用途的軟件。有Python,Scratch,Sonic Pi,Java,Mathematica等等。
ZIP壓縮文件中包含的帶有桌面映像的Raspbian,大小超過4GB,這意味着這些壓縮文件使用的功能在某些平台上不受較舊的解壓縮工具支持。如果您發現下載似乎已損壞或文件未正確解壓縮,請嘗試使用7Zip(Windows)或Unarchiver(Macintosh)。兩者都是免費的,並且已經過測試可以正確解壓縮映像。
- 官網下載RASPBIAN JESSIE LITE鏡像

選擇Download ZIP下載2018-04-18-raspbian-stretch-lite.zip(349MB),解壓得到img映像文件2018-04-18-raspbian-stretch-lite.img(1.73GB)。
- 下載並安裝鏡像燒錄工具Win32 Disk Imager。
https://sourceforge.net/projects/win32diskimager/files/Archive/win32diskimager-v0.9-binary.zip/download
- 將img映像文件燒錄到SD卡
先格式化SD卡,新卡不用格式化。打開Win32 Disk Imager,如圖選擇好鏡像和SD卡盤符,單擊Write即可開始燒錄,過程可能長達幾分鍾,燒寫成功后點Exit退出即可。

3. USB數據線訪問Pi Zero W
USB分USB Host和USB Device兩種角色,PC一般是USB Host,手機等數碼設備通常是USB Device。OTG則使設備既可以是USB Device,也可以是USB Host。在Linux中,作為USB Device的設備被稱為Gadget。
用USB數據線訪問Pi Zero W其實就是使用USB Gadget驅動將USB-OTG模擬為有線網卡,之前需要的設置比較繁瑣,好在新版的Raspbian內核不需要額外安裝補丁,可以直接啟用,另外虛擬出來的網卡和有線網卡基本一樣,不像串口那樣只能打開一個終端。方法如下:
3.1 配置
在Windows 7系統下,用讀卡器操作。
- 修改boot分區里的config.txt文件,在最后一行下面,另起一行添加: dtoverlay=dwc2
- 修改boot分區里的cmdline.txt文件,找到單詞rootwait,在其之后添加:modules-load=dwc2,g_ether
注意每個參數之間空格分開,且都是在同一行。
注意:關於dtoverlay的更多內容可以查看boot/overlay文件夾里的README。
- 在boot分區根目錄創建一個文本文件,然后重命名為ssh,注意去掉.txt后綴,此時即可以 開啟ssh登錄(新版Raspbian的改動)。SSH默認關閉,因此需要在boot分區創建一個名為ssh的文件來開啟SSH服務。
注意:這個ssh文件容易丟失,如果ssh不能登錄了,先檢查ssh是否丟失。
3.2 開機上電
插好TF卡,將Micro USB數據線一頭接在Zero W USB接口,一頭連接電腦,稍等片刻即可聽到“咯噔”一聲,如果正常此時電腦會安裝相關驅動並顯示一個新網卡。

如果顯示:

需要RNDIS Ethernet Gadget windows7驅動程序,Windows7已經自帶了相關驅動, 只是默認不會讓它正常安裝,需要自行安裝。安裝方法:
在設備管理器中選中未安裝驅動的RNDIS/Ethernet Gadget device,更新驅動程序 -> 手動選擇驅動程序 -> 從計算機的驅動程序列表中選擇 -> 網絡適配器 -> Microsoft Corporation -> Remote NDIS Compatible Device,然后會有提示不建議安裝此驅動程序因為無法確認是否與硬件相匹配,請忽略警告,繼續。

查看網絡適配器,最后那個就是USB以太網卡了。

3.3 電腦通過putty連接Pi Zero W
官網下載https://www.putty.org/
打開putty,Host Name填raspberrypi.local,端口22,用戶名pi,密碼raspberry即可通過USB以太網使用SSH登錄控制Zero W了。

點擊Open,顯示:

Win7安裝RNDIS驅動后raspberrypi.local不能識別,解決辦法是通過安裝Bonjour軟件讓電腦可以識別raspberrypi.local主機名。
下載並安裝Bonjour,再次運行putty,登錄Pi Zero W,彈出安全設置選項:

點擊Y將該主機添加到putty。出現下面的錯誤:

解決辦法,設置如下:

再次運行putty:

終於看到這個界面啦,心中一陣欣喜!
3.4 設置共享互聯網連接(沒什么太大用處,可以跳過)
打開網絡和共享中心:

雙擊本地連接4:

點擊屬性:

這個連接就是RNDIS/Ethernet Gadget #3。
回到網絡和共享中心,點擊“無線網絡連接”,這是本電腦的網絡連接。

點擊屬性,選擇共享標簽:
勾選允許其他網絡用戶通過……,家庭網絡連接選擇前面看過的本地連接 4。

點擊“確定”,測試:

Ctrl+z退出ping。或者sudo ping -c4 www.baidu.com,只ping 4次。
4. Pi Zero W連接WiFi
- 掃描周圍的無線局域網:命令: sudo iwlist wlan0 scan

- 找到要連接的SSID、ESSID:ESSID:"TP-LINK_A929"

- 配置wifi連接
- 修改/etc/network/interfaces文件,使wlan0為動態分配獲取IP。
命令: sudo nano /etc/network/interfaces

添加以下語句:
auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
輸入后,使用組合鍵“Ctrl + X”,然后輸入“Y”,回車保存修改。
查看確認一下修改:
pi@raspberrypi:~ $ sudo cat /etc/network/interfaces
-
- 修改/etc/wpa_supplicant/wpa_supplicant.conf文件
命令: sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
在文檔的最后加入:
network={
ssid="wpa-ssid"
psk="password"
}
wpa-ssid就是前面找到的SSID:TP-LINK_A929。
password是WiFi密碼。

注意:加入語句的格式一定要正確,“=”附近不能有空格,格式錯誤會導致不能連接到wifi。ssid 位置輸入WiFi的名稱,psk 位置輸入WiFi的密碼,請注意,key_mgmt=NONE表示沒有WiFi密碼。
- 檢查ssh文件是否存在:pi@raspberrypi:~ $ ls /boot
如果不存在,創建:pi@raspberrypi:~ $ sudo touch /boot/ssh
- 退出ssh

注意:為防止文件丟失,請按第5小節的步驟關閉電源。
- 將USB線插到PWR IN口上,打開putty,Host Name填raspberrypi.local,端口22,用戶名pi,密碼raspberry即可通過WiFi使用SSH登錄控制Zero W了。

USB線只是供電,沒有數據通信。
5. 關機
為防止文件丟失,請按下面的步驟關閉電源。
- 登錄putty的ssh終端
- pi@raspberrypi:~ $ sudo shutdown -h now
- 等待電源指示燈熄滅后,關閉電源
參考文檔
樹莓派介紹
