
2017年2月,樹(shù)莓派基金發(fā)布了一款新的產(chǎn)品raspberry pi zero w。zero系列是樹(shù)莓派家族中最為小型的一個(gè)系列,僅有三分之一信用卡的大小,和STM32這種傳統(tǒng)單片機(jī)(核心板)大小差不多,但是樹(shù)莓派可是運(yùn)行著Linux系統(tǒng),在對(duì)實(shí)時(shí)性要求不嚴(yán)苛的情況下,妥妥秒殺單片機(jī)。
raspberry pi zero w是raspberry pi zero的升級(jí)款,兩者配置幾乎一模一樣。所不同的是,w代指wireless,前者不僅多了wifi模塊,還多了藍(lán)牙4.1模塊,大大增強(qiáng)了互聯(lián)互通的能力。初代zero太坑,聯(lián)網(wǎng)巨麻煩,因此新款wireless版甫一問(wèn)世,就銷售一空,10美元的原價(jià)淘寶已經(jīng)炒到200+,還限購(gòu)……zero w的受歡迎程度可見(jiàn)一斑。
先看一下zero w的硬件配置:

1、制作啟動(dòng)系統(tǒng)
系統(tǒng)可以在raspberry官網(wǎng)上下載,有好多可以選擇。

個(gè)人建議就選raspbian就可以,這款系統(tǒng)又有兩個(gè)版本“RASPBIAN JESSIE WITH PIXEL”和“RASPBIAN JESSIE LITE”。后者是前者的精簡(jiǎn)版,要是沒(méi)有連接顯示器的要求,請(qǐng)安裝后者。zero w硬件配置不高,建議選擇后者。
值得說(shuō)明的是,下載時(shí)最好選擇utorrent下載,這樣下載速度會(huì)快一些。
樹(shù)莓派依靠SD卡內(nèi)的系統(tǒng)啟動(dòng),如果不插入SD卡,上電之后,什么反應(yīng)都沒(méi)有……
windows下將系統(tǒng)寫(xiě)入SD卡要用到Win32DiskImager。
- 1、解壓下載的系統(tǒng),應(yīng)該會(huì)出現(xiàn)一個(gè)xxxx.img的文件,將其移動(dòng)到不帶中文的路徑下
-
2、打開(kāi)Win32DiskImager選擇此img文件,并選擇需要寫(xiě)入的SD卡
image.png - 3、點(diǎn)擊write,等待寫(xiě)入完成
2、使能串口調(diào)試
初次使用樹(shù)莓派,是無(wú)法直接聯(lián)網(wǎng)的,因此如果不想連接顯示器進(jìn)行設(shè)置,可以開(kāi)啟串口調(diào)試,效果和ssh是一樣的。
對(duì)新寫(xiě)入的系統(tǒng),需要在config.txt 內(nèi)最后一行加入開(kāi)啟串口調(diào)試的命令
enable_uart=1
2016年raspbian的某些版本是默認(rèn)不開(kāi)啟ssh的(也是神奇……),不過(guò)對(duì)于剛寫(xiě)入系統(tǒng)的zero w開(kāi)啟ssh也沒(méi)用,因?yàn)閟sh必須在聯(lián)網(wǎng)的情況下才能用,此時(shí)開(kāi)機(jī)樹(shù)莓派是不知道WiFi名字和密碼的,聯(lián)網(wǎng)也無(wú)從談起。
3、串口調(diào)試剛寫(xiě)入系統(tǒng)的raspberry pi
樹(shù)莓派zero w的管腳如圖所示,此視圖排針在右側(cè)

觀察此圖可知,右列的第3、4、5個(gè)端口分別為GND、TxD、RxD。
Windows上可供串口調(diào)試的軟件有很多,此處推薦MobaXterm
- 1、新建session,選擇com口,波特率必須選擇115200

- 2、點(diǎn)擊確定,并進(jìn)入串口模式

raspberry pi 默認(rèn)的用戶名:pi,密碼:raspberry。第一次使用可輸入passwd修改密碼。

更多串口配置可以參考官網(wǎng)。
4、開(kāi)啟SSH
raspberry pi的系統(tǒng)設(shè)置可開(kāi)啟ssh,命令是raspi-config,需要以管理員權(quán)限運(yùn)行。
raspbian是以Debian為基礎(chǔ)的Linux,因此操作起來(lái)和Ubuntu比較像,root權(quán)限運(yùn)行需要在前面加sudo。
sudo raspi-config



至此,ssh已經(jīng)開(kāi)啟,如果處在聯(lián)網(wǎng)的狀態(tài)下,可以用ssh登陸樹(shù)莓派了。
除此以外,還可以在SD卡的根目錄下新建一個(gè)ssh的空白文件(無(wú)后綴),系統(tǒng)啟動(dòng)時(shí)發(fā)現(xiàn)此文件會(huì)自動(dòng)打開(kāi)ssh
5、為pi zero w設(shè)置WIFI
- 1、修改/etc/network/interfaces文件,用pi自帶的nano打開(kāi)
sudo nano /etc/network/interfaces
nano使用起來(lái)和普通的文本編輯器沒(méi)什么區(qū)別,保存時(shí)按ctrl+o,退出按ctrl+x,如果沒(méi)保存就退出,會(huì)提示是否保存,其他nano的用法可以參考nano簡(jiǎn)明使用指南。
把wlan0 inlet 后面的manual換成dhcp。

- 2、將WiFi名稱和密碼寫(xiě)入wpa_supplicant.conf
第一步我們發(fā)現(xiàn)wpa的配置文件在/etc/wpa_supplicant/wpa_supplicant.conf,此文件就是我們配置WiFi名稱和密碼的地方。其他更詳細(xì)配置參見(jiàn)官網(wǎng)說(shuō)明.
GNU nano 2.2.6 File: /etc/wpa_supplicant/wpa_supplicant.conf
country=GB
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="你的WiFi名稱"
psk="你的密碼"
key_mgmt="WPA-PSK"
priority=5
}
network={
ssid="你的WiFi名稱2"
psk="你的密碼2"
key_mgmt="WPA-PSK"
priority=4
}
priority5 > priority4,樹(shù)莓派會(huì)自動(dòng)連接優(yōu)先級(jí)高的WiFi。
- 3、重啟WiFi
pi的WiFi的名稱是wlan0,可以用ifup或者ifdown命令連接或者斷開(kāi)wlan0
sudo ifup wlan0

可以看到,WiFi已經(jīng)綁定到192.168.31.11這個(gè)IP上了。
如果可以登錄路由器后臺(tái),可以給此樹(shù)莓派綁定一個(gè)靜態(tài)IP,這樣就不用每次連接后都更換IP了。
如果想遠(yuǎn)程連接樹(shù)莓派,由于在局域網(wǎng)內(nèi),除了要能遠(yuǎn)程訪問(wèn)到路由器,還需要開(kāi)啟路由器向192.168.31.11這個(gè)IP的22端口的轉(zhuǎn)發(fā)。
6、設(shè)置樹(shù)莓派自動(dòng)重連WiFi
由于不可知的原因,有可能會(huì)導(dǎo)致樹(shù)莓派失去連接,這時(shí)候需要重新連接WiFi。
自動(dòng)重連的原理是,定期查看是否斷網(wǎng),如果斷網(wǎng)了重啟WiFi,參考的文章是這篇,第一步略有修改。
- 1、Python 代碼 autowifi.py,放在 /home/pi 目錄下:
#!/usr/bin/python
import os, time
while True:
if '192' not in os.popen('sudo wpa_cli status').read():
print '\n****** wifi is down, restart... ******\n'
os.system('sudo ifup wlan0')
time.sleep(300) #5 minutes
- 2、Shell腳本autowifi.sh,也放在 /home/pi 目錄下:
#!/bin/sh
python /home/pi/autowifi.py &
- 3、開(kāi)機(jī)自動(dòng)啟動(dòng)以上腳本:在終端窗口執(zhí)行以下命令即可
sudo cp -f /home/pi/autowifi.sh /etc/init.d/
sudo chmod +x /etc/init.d/autowifi.sh
sudo chown root:root /etc/init.d/autowifi.sh
sudo update-rc.d autowifi.sh defaults
- 4、測(cè)試一下效果

這樣一款不會(huì)斷線的樹(shù)莓派就設(shè)置好了。
