? 開發(fā)軟件一般需要一個程序運行環(huán)境和一個集成開發(fā)環(huán)境(Integrated Development Environment,IDE)。Raspbian系統(tǒng)默認(rèn)已經(jīng)提供了Python 2和Python 3的運行環(huán)境,選擇一款優(yōu)秀的IDE,并采用合適的開發(fā)方法將有助于提高開發(fā)效率。本章將介紹一種Windows下遠(yuǎn)程開發(fā)樹莓派程序的方法,主要內(nèi)容如下:
- 介紹在本地和遠(yuǎn)程開發(fā)樹莓派程序的兩種思路。
- 介紹在Windows上使用Pycharm遠(yuǎn)程開發(fā)樹莓派程序的方法。
4.1 兩種開發(fā)思路
-
本地開發(fā)
? 本地開發(fā)是指在樹莓派上安裝和使用IDE(或文本編輯器)進(jìn)行程序編寫、調(diào)試和運行。如果樹莓派已經(jīng)連接上顯示器、鼠標(biāo)、鍵盤等I/O設(shè)備,那么就可以和使用普通PC一樣進(jìn)行程序開發(fā)。如果沒有連接顯示器等I/O設(shè)備,可以使用SSH或VNC遠(yuǎn)程登錄到樹莓派編寫程序。對于第二種方法,雖然是遠(yuǎn)程登錄到樹莓派,但由于開發(fā)環(huán)境和代碼等都保存在樹莓派上,所以我們?nèi)匀豢梢哉J(rèn)為是在樹莓派本地進(jìn)行開發(fā)。
? 本地開發(fā)的優(yōu)勢是簡單,不需要太多的配置就可以進(jìn)行程序開發(fā)。其劣勢也是非常明顯的,最主要的問題是樹莓派本身的性能相對有限,而現(xiàn)代IDE對性能的要求較高,直接在樹莓派上進(jìn)行程序開發(fā)的用戶體驗不是很好。 -
遠(yuǎn)程開發(fā)
? 遠(yuǎn)程開發(fā)是指在個人計算機(jī)上編寫代碼,然后將代碼上傳到樹莓派進(jìn)行調(diào)試和運行,整個調(diào)試和運行的操作都是在個人計算機(jī)上完成的,基本無需在樹莓派上進(jìn)行操作。很明顯,遠(yuǎn)程開發(fā)方式發(fā)揮了普通個人計算的優(yōu)勢,減輕了樹莓派的負(fù)擔(dān),為我們提供了更好的開發(fā)體驗。
? 遠(yuǎn)程開發(fā)是我們推薦的開發(fā)方式,以下將介紹一種遠(yuǎn)程開發(fā)樹莓派程序的方法。
4.2 PyCharm遠(yuǎn)程開發(fā)樹莓派程序
4.2.1 PyCharm簡介
? PyCharm是JetBrains開發(fā)的一款功能強(qiáng)大的Python IDE,提供了調(diào)試、語法高亮、項目管理、代碼跳轉(zhuǎn)、智能提示、自動完成、單元測試、版本控制等功能。PyCharm有專業(yè)版和社區(qū)版兩個版本,但只有專業(yè)版才具備遠(yuǎn)程Python解釋器和調(diào)試器功能,要實現(xiàn)遠(yuǎn)程開發(fā)樹莓派程序需使用專業(yè)版的PyCharm。
4.2.2 配置遠(yuǎn)程開發(fā)環(huán)境
? 步驟 1: 將樹莓派接入網(wǎng)絡(luò)(需要和個人計算機(jī)在同一個局域網(wǎng)),并配置好SSH,具體參考第3章。
? 步驟 2: 在個人計算機(jī)上安裝Python3。從Python官網(wǎng)https://www.python.org/downloads/下載合適的Python版本并安裝,我們這里安裝的是Pyhton 3.7.2(64-bit),對應(yīng)的安裝文件為python-3.7.2-amd64.exe。運行安裝程序,按圖 4.1所示選擇,把Python加到Windows的環(huán)境變量PATH上去。如果采用默認(rèn)安裝,則點擊“Install Now”,如果需要自定義安裝(如修改安裝路徑等),則點擊“Customize installation”,然后一路“Next”即可。
? 安裝完成后,在“命令提示符”輸入以下命令,如果安裝成功,則顯示“Python 3.7.2”。
python --version
? 步驟 3: 在個人計算機(jī)上安裝Pycharm。由于需要使用到Pycharm的遠(yuǎn)程Python解釋器和調(diào)試器功能,因此我們需要安裝專業(yè)版的Pycharm,官網(wǎng)下載地址:http://www.jetbrains.com/pycharm/download/。Pycharm的安裝比較簡單,運行安裝程序后,采用默認(rèn)安裝一路“Next”即可,安裝過程大概需要幾分鐘,請耐心等待。
? Pycharm專業(yè)版是收費的,安裝完成后需要激活,具體的解決的辦法,可以私信我,或上網(wǎng)查找。
? 步驟 4: 運行Pycharm新建一個“Pure Python”項目,并按圖4.2設(shè)置。其中,“Location”為新建項目在個人計算機(jī)上的存放位置。
? 步驟 5: 新建基于SSH連接的遠(yuǎn)程Python解釋器。如圖4.2所示,點擊“...”,然后選擇“SSH Inetrpreter”,并按圖4.3一步一步設(shè)置。其中,“Host”為樹莓派的IP地址;“UserName”為登錄樹莓派的用戶名;“InterPreter”為樹莓派上的Python解釋器路徑,這里使用的是Python 3的解釋器,如果想使用Python 2,則把路徑改為“/usr/bin/python”。由于Raspbain系統(tǒng)是大小寫敏感的,在填寫配置信息的時候應(yīng)注意大小寫。
? 成功新建遠(yuǎn)程Python解釋器后,如圖4.4所示,PyCharm會向樹莓派上傳一些文件,一般需要幾分鐘的時間,請耐心等待。
? 步驟 6: 修改項目在樹莓派上的存放目錄(可選)并完成項目創(chuàng)建。新建遠(yuǎn)程Python解釋器后,PyCharm會自動設(shè)置項目在樹莓派上的存放目錄,但為了管理方便,建議修改一下。如圖4.5所示,按照您的習(xí)慣對“Remote project location”進(jìn)行修改,然后點擊“Create”完成項目創(chuàng)建,進(jìn)入PyCharm的開發(fā)界面,如圖4.6所示。
? 步驟 7: 進(jìn)一步配置項目遠(yuǎn)程Python解釋器。進(jìn)入“File->Settings->Project: myApp(項目名稱)->Project Interpreter”,如圖4.7所示,點擊“Project Interpreter”選項后面的小齒輪,選擇“Show All...”,進(jìn)入“Project Interpreters”。
? 如圖4.8所示,找到剛剛新建的遠(yuǎn)程Python解釋器配置,然后點擊小鉛筆圖標(biāo)進(jìn)入“Configure Remote Python Interpreter”界面。
? 按照圖4.9設(shè)置SSH Credentials,“Host”、“User Name”、“Authentication type”、“Password”、“Python Interpreter path”等配置項的值與之前步驟的值一樣,而“PyCharm helper path”采用默認(rèn)值即可。
? 如果設(shè)置成功,如圖4.10所示,在“Project Interpter”對話框的列表中將顯示出樹莓派上已安裝的Python包的信息,點擊列表右邊的眼睛圖標(biāo)可以進(jìn)行刷新。如果在列表下面出來圖4.10中的提示,則點擊“Install packaging tools”安裝packaging tools即可。
? 步驟 8(可選): 配置文件上傳機(jī)制。PyCharm能夠自動的把代碼文件等上傳到樹莓派,默認(rèn)是當(dāng)文件文件發(fā)生改變時自動上傳。這種默認(rèn)機(jī)制上傳文件的次數(shù)較多,效率不高且會影響MicroSD卡的壽命,因此建議修改為保存文件后上傳文件,以減少文件上傳次數(shù)。如圖4.11所示,在“File->Settings”中找到相應(yīng)的配置項并修改。
? 到此為止,我們就完成了PyCharm遠(yuǎn)程Python開發(fā)環(huán)境的搭建,這樣就可以在個人計算機(jī)上使用PyCharm編寫代碼,然后通過SSH調(diào)用樹莓派上Python解釋器進(jìn)行調(diào)試和運行程序。
4.2.3 編寫第一個程序
? 步驟 1: 新建一個Python文件,輸入以下代碼并保存,最終結(jié)果如圖4.12所示,在下方的“File Transfer”窗口中可以看到文件已經(jīng)被自動的上傳到樹莓派。
#!/usr/bin/python3
if __name__ == '__main__':
print("Hello, World!")
? 步驟 2: 運行程序。如圖4.13所示,第一次運行程序可以點擊綠色三角形選擇“Run 'main'”或“Debug 'main'”,運行的結(jié)果可以在下面的“Run”窗口中看到。之后,也可以通過點擊右上角工具欄按鈕運行或調(diào)試程序。
4.2.4 root權(quán)限問題
? 很多的樹莓派Python程序(例如:GPIO、藍(lán)牙等)需要root權(quán)限才能運行,而前面配置用于遠(yuǎn)程開發(fā)樹莓派程序的用戶pi是不具備root權(quán)限,遠(yuǎn)程運行程序的時候會發(fā)生錯誤,以下提供一種解決這個問題的方法。
? 步驟 1: 新建腳本文件。在樹莓派上新建一個腳本文件,命名為py_sudo.sh,文件的內(nèi)容如下:
#!/bin/bash
sudo /usr/bin/python3 "$@"
提示:
- 這里我們把腳本文件py_sudo.sh存放在“/home/pi/”目錄下面。
- 可以使用XShell登錄樹莓派后,運行“nano”或“vi/vim”等文本編輯器創(chuàng)建該腳本文件,也可以在個人計算機(jī)上創(chuàng)建該腳本文件后上傳到樹莓派上。
? 其中,python3表示使用Python 3,如果想使用Python 2,修改為python即可。
? 步驟 2: 讓腳本文件具有可執(zhí)行權(quán)限。使用XShell登錄樹莓派,進(jìn)入腳本文件所在目錄,輸入以下命令:
chmod +x py_sudo.sh
? 步驟 3: 修改遠(yuǎn)程Python解釋器。參考4.2.2節(jié)的步驟7,進(jìn)入“Configure Remote Python Interpreter”,按圖4.14所示修改遠(yuǎn)程Python解釋器路徑。
? 完成配置后就可以遠(yuǎn)程調(diào)試運行需要root權(quán)限的Python程序,而編寫程序的方法不變。
4.3 本章小結(jié)
? 本章首先介紹了本地開發(fā)和遠(yuǎn)程開發(fā)樹莓派程序的兩種思路,然后詳細(xì)介紹在Windows上使用PyCharm專業(yè)版遠(yuǎn)程開發(fā)運行樹莓派程序的方法。