樹(shù)莓派raspberry pi zero w上手筆記

image.png

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的硬件配置

image.png

1、制作啟動(dòng)系統(tǒng)

系統(tǒng)可以在raspberry官網(wǎng)上下載,有好多可以選擇。

image.png

個(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è)


image.png

觀察此圖可知,右列的第3、4、5個(gè)端口分別為GND、TxD、RxD。
Windows上可供串口調(diào)試的軟件有很多,此處推薦MobaXterm

  • 1、新建session,選擇com口,波特率必須選擇115200
image.png
  • 2、點(diǎn)擊確定,并進(jìn)入串口模式
image.png

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

image.png

更多串口配置可以參考官網(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
image.png
image.png
image.png

至此,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。

image.png

  • 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
image.png

可以看到,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è)試一下效果
image.png

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容