树莓派系统安装和配置 WiringPi
2020-11-03
吃灰多年的樹莓派終于要派上用場(chǎng)了,三年來樹莓派的系統(tǒng)總體上來說變化不少。
系統(tǒng)鏡像燒錄
這里只給出簡單說明。
在其官網(wǎng)下載需要的版本鏡像并驗(yàn)證SHA-356。此處建議“Download Torrent”,相對(duì)更快;
使用家喻戶曉的Win32 disk imager燒錄至卡,并驗(yàn)證;
插卡上電開機(jī)。
我使用的是 Raspberry Pi OS (32-bit) Lite ,畢竟使用WiringPi并不需要圖形界面;
值得注意的是和三年前的版本比起來,它會(huì)自動(dòng)檢測(cè)TF卡剩余空間并自動(dòng)擴(kuò)充根目錄所在分區(qū)。
簡單配置
用戶名為 pi ,初始密碼為 raspberry 。
修改密碼
sudo passwd pi
sudo passwd root
均兩次輸入新密碼即可。
本地化
我傻乎乎的按著 archwiki 找半天(完全不一樣),最后發(fā)現(xiàn)明明自帶有極其方便的工具:
sudo raspi-config
進(jìn)入“Localisation Options”。
“Change Locale”修改語言環(huán)境。取消 en_GB.UTF-8 UTF-8 ,選擇 en_US.UTF-8 UTF-8 ;如果需要中文請(qǐng)選上 zh_CN GB2312 、 zh_CN.GB18030 GB18030 和 zh_CN.UTF-8 UTF-8 。選擇 Ok 后修改默認(rèn)語言,英文選擇 en_US.UTF-8 ,中文選擇 zh_CN.UTF-8 。這里使用空格鍵和回車鍵選中和確認(rèn),使用Tab和方向鍵移位,必要時(shí)使用Page Up和Page Down。
“Change Time Zone”修改市區(qū),對(duì)于生活在中華大地上的人們,自然選擇 “Asia->Shanghai”。
“Change Keyboard Layout”修改鍵盤映射。默認(rèn)的鍵盤映射啥的都是英國的,這里改為美式鍵盤即可。
“Change WLAN Country”設(shè)置Wifi地區(qū)(不同國家可能有Wifi密碼長度限制),選擇 CN China 即可。
更換軟件源
我使用了清華源,具體配置可以看清華源的幫助。下面是部分摘抄內(nèi)容。
這里 Raspbian 對(duì)應(yīng)的 Debian 版本為 Debian10(buster) 。相對(duì)于刪除原文件所有內(nèi)容,個(gè)人認(rèn)為注釋掉更好。
# 編輯 `/etc/apt/sources.list` 文件,刪除原文件所有內(nèi)容,用以下內(nèi)容取代:
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib rpi
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib rpi
# 編輯 `/etc/apt/sources.list.d/raspi.list` 文件,刪除原文件所有內(nèi)容,用以下內(nèi)容取代:
deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui
最后執(zhí)行 sudo apt-get update 檢查配置是否正確。
連接Wifi
剛開始并沒有意識(shí)到 raspi-config 里面連接Wifi功能的存在,而是手動(dòng)配置了Wifi。所以這一段僅供參考。對(duì)于 raspi-config ,執(zhí)行 sudo raspi-config ,選擇“Network Options -> Wireless Lan”即可。
下面是我手動(dòng)配置Wifi的過程。
首先取消rfkill的限制, rfkill list 可以看到相關(guān)默認(rèn)配置:
rfkill unblock all
再次執(zhí)行 rfkill list 可以看到限制已經(jīng)取消。
其次打開無線網(wǎng)卡開關(guān) sudo ifconfig wlan0 up ,之后就可以使用 wpa_cli 等配置之。
我還安裝了比較喜歡的 iwd :
sudo apt-get install iwd
sudo systemctl enable iwd
iwd 在重啟后依然會(huì)自動(dòng)連接上次的Wifi。
打開ssh
樹莓派自帶了ssh但是并沒有默認(rèn)打開。
這也可以通過 raspi-config 設(shè)置,在“Interfacing Options”的“SSH”選項(xiàng),同時(shí)也有“VNC”的選項(xiàng)。
下面是手動(dòng)設(shè)置的過程,僅供參考。
sudo systemctl enable ssh
sudo systemctl start ssh
此時(shí)直接試圖用管理員用戶登陸的時(shí)候會(huì)被拒絕,需要在配置文件中修改使其允許。當(dāng)然也可以建立一個(gè)普通用戶登陸后 su 為管理員用戶。
# 想用vim自行安裝 sudo apt-get install vim
sudo nano /etc/ssh/sshd_config
其中有一行:
#PermitRootLogin prohibit-password
依照之在文件中添加一行(而不是直接在原行上改):
PermitRootLogin yes
保存后重啟ssh即可:
sudo systemctl restart ssh
安裝WiringPi
其頁面有非常詳細(xì)的安裝向?qū)АW詈唵蔚姆椒^于直接從源中安裝:
sudo apt-get install wiringpi
也可以從源碼構(gòu)建,但是這個(gè)網(wǎng)站(git.drogon.net)并不是那么容易打開。好在Github上也有。
首先安裝必要的構(gòu)建工具:
# 很多教程寫的是 git-core,表示非常不能理解
sudo apt-get install gcc git
然后在一個(gè)你喜歡的地方克隆WiringPi在Github上的倉庫:
git clone https://github.com/WiringPi/WiringPi.git
cd WiringPi/
./build
# 這條可能需要
sudo ldconfig
最后驗(yàn)證一下是否安裝成功:
gpio -v
我的輸出如下:
gpio version: 2.60
Copyright (c) 2012-2018 Gordon Henderson
This is free software with ABSOLUTELY NO WARRANTY.
For details type: gpio -warranty
Raspberry Pi Details:
Type: Pi 3, Revision: 02, Memory: 1024MB, Maker: Embest
* Device tree is enabled.
*--> Raspberry Pi 3 Model B Rev 1.2
* This Raspberry Pi supports user-level GPIO access.
讀取gpio引腳編號(hào)信息:
gpio readall
這是我的Raspberry Pi 3B的輸出:
+-----+-----+---------+------+---+---Pi 3B--+---+------+---------+-----+-----+
| BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM |
+-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
| | | 3.3v | | | 1 || 2 | | | 5v | | |
| 2 | 8 | SDA.1 | IN | 1 | 3 || 4 | | | 5v | | |
| 3 | 9 | SCL.1 | IN | 1 | 5 || 6 | | | 0v | | |
| 4 | 7 | GPIO. 7 | IN | 1 | 7 || 8 | 0 | IN | TxD | 15 | 14 |
| | | 0v | | | 9 || 10 | 1 | IN | RxD | 16 | 15 |
| 17 | 0 | GPIO. 0 | IN | 0 | 11 || 12 | 0 | IN | GPIO. 1 | 1 | 18 |
| 27 | 2 | GPIO. 2 | IN | 0 | 13 || 14 | | | 0v | | |
| 22 | 3 | GPIO. 3 | IN | 0 | 15 || 16 | 0 | IN | GPIO. 4 | 4 | 23 |
| | | 3.3v | | | 17 || 18 | 0 | IN | GPIO. 5 | 5 | 24 |
| 10 | 12 | MOSI | IN | 0 | 19 || 20 | | | 0v | | |
| 9 | 13 | MISO | IN | 0 | 21 || 22 | 0 | IN | GPIO. 6 | 6 | 25 |
| 11 | 14 | SCLK | IN | 0 | 23 || 24 | 1 | IN | CE0 | 10 | 8 |
| | | 0v | | | 25 || 26 | 1 | IN | CE1 | 11 | 7 |
| 0 | 30 | SDA.0 | IN | 1 | 27 || 28 | 1 | IN | SCL.0 | 31 | 1 |
| 5 | 21 | GPIO.21 | IN | 1 | 29 || 30 | | | 0v | | |
| 6 | 22 | GPIO.22 | IN | 1 | 31 || 32 | 0 | IN | GPIO.26 | 26 | 12 |
| 13 | 23 | GPIO.23 | IN | 0 | 33 || 34 | | | 0v | | |
| 19 | 24 | GPIO.24 | IN | 0 | 35 || 36 | 0 | IN | GPIO.27 | 27 | 16 |
| 26 | 25 | GPIO.25 | IN | 0 | 37 || 38 | 0 | IN | GPIO.28 | 28 | 20 |
| | | 0v | | | 39 || 40 | 0 | IN | GPIO.29 | 29 | 21 |
+-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
| BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM |
+-----+-----+---------+------+---+---Pi 3B--+---+------+---------+-----+-----+
by SDUST weilinfox
總結(jié)
以上是生活随笔為你收集整理的树莓派系统安装和配置 WiringPi的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: APP自动化 -- contexts(上
- 下一篇: 毛巾被的选购、使用和洗涤小窍门