到目前為止,我們所有的樹莓派4BPython程序都是通過使用IDLE或通過控制臺(tái)窗口執(zhí)行的。但是,我們可能希望我們的程序在啟動(dòng)時(shí)自動(dòng)運(yùn)行,在本方法文檔中我們將學(xué)習(xí)如何在Raspbian上執(zhí)行此操作!
為什么在啟動(dòng)時(shí)運(yùn)行腳本?
大多數(shù)計(jì)算機(jī)用戶將熟悉基于用戶界面的程序,這些程序需要用戶輸入才能執(zhí)行操作。例如,游戲采用用戶操作虛擬角色的鍵盤和鼠標(biāo)數(shù)據(jù)來運(yùn)行,跳躍,游泳和爬行。其他應(yīng)用程序(例如辦公程序)包含執(zhí)行諸如保存文檔,創(chuàng)建新文件,執(zhí)行外部腳本以及通過Internet發(fā)送數(shù)據(jù)包等功能的交互式元素。但是,這些類型的程序與其用戶進(jìn)行廣泛的交互,并且通常依賴于用戶啟動(dòng)程序。
然而,為微控制器編寫的程序通常涉及控制硬件和執(zhí)行更多基本功能。雖然這些程序可以與用戶交互,但只要系統(tǒng)啟動(dòng)就需要執(zhí)行。樹莓派4B可以說是微控制器和PC之間的融合,因?yàn)樗峁┝宋⒖刂破鞯挠布δ埽ɡ鏕PIO),同時(shí)還建立了可以運(yùn)行Raspbian(Linux發(fā)行版)的架構(gòu)。因此,許多用戶將樹莓派4B作為微控制器用于項(xiàng)目中,因此需要在Pi啟動(dòng)后立即執(zhí)行其程序。這樣可確保您無需遠(yuǎn)程訪問Pi并運(yùn)行程序。
在rc.local
讓Python程序在啟動(dòng)時(shí)啟動(dòng)的第一個(gè)任務(wù)是創(chuàng)建一個(gè)調(diào)用Python程序來執(zhí)行的腳本文件。將以下代碼復(fù)制并粘貼到文件中,然后將該文件另存為“startup.sh”。為簡(jiǎn)單起見,請(qǐng)確保將腳本文件保存到Documents文件夾中。
如果您不確定如何創(chuàng)建腳本文件,那么打開終端窗口然后啟動(dòng)nano。要啟動(dòng)nano,請(qǐng)使用以下命令:
編輯完文件后,按Ctrl+X,這將提示您是否要保存文件。輸入Y,下一個(gè)選項(xiàng)將詢問您的文件名。由于我們已經(jīng)指定了文件,只需按Enter鍵,文件將在Documents下創(chuàng)建。
腳本文件的第一行通知系統(tǒng)腳本應(yīng)該使用bash運(yùn)行,而不是在另一個(gè)shell中執(zhí)行。第二行增加了一個(gè)小延遲,這非常重要。Raspbian的用戶報(bào)告說,如果啟動(dòng)后太快執(zhí)行Python腳本,某些服務(wù)可能無法使用,例如串行端口。第三行是調(diào)用Python程序的命令,這也應(yīng)該在Documents中。如果要在其他文件夾中執(zhí)行Python程序,請(qǐng)確保定義了正確的路徑。
但是,此腳本本身不會(huì)在引導(dǎo)時(shí)調(diào)用,因此我們需要在RaspbianOSRC.local上編輯一個(gè)特殊文件。在控制臺(tái)窗口中,使用以下命令以nano打開rc.local文件:
進(jìn)入nano后,您需要輸入以下行:
最后的‘&’符號(hào)至關(guān)重要,因?yàn)樗谝粋€(gè)單獨(dú)的線程中執(zhí)行腳本。如果缺少此符號(hào),則系統(tǒng)將在主系統(tǒng)線程中運(yùn)行腳本。如果腳本沒有結(jié)束(即無限循環(huán)),那么系統(tǒng)永遠(yuǎn)不會(huì)啟動(dòng)。文件保存后,你的Pi現(xiàn)在應(yīng)該在啟動(dòng)時(shí)執(zhí)行你的Python程序!
-
python
+關(guān)注
關(guān)注
56文章
4827瀏覽量
86753 -
樹莓派
+關(guān)注
關(guān)注
121文章
2009瀏覽量
107472
發(fā)布評(píng)論請(qǐng)先 登錄
樹莓派4B VS香橙派4B, 你pick 誰?
對(duì)樹莓派4B進(jìn)行開機(jī)測(cè)試
Ubuntu Server在樹莓派4B上的運(yùn)行概述
樹莓派入門(五)—— 樹莓派4B之初體驗(yàn)

【樹莓派】樹莓派4B新手篇:安裝官網(wǎng)Raspbian Buster系統(tǒng)及基礎(chǔ)配置

樹莓派4b學(xué)習(xí)筆記

評(píng)論