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