Raspberry Piの起動時にプログラムを実行するにはどうすればよいですか?
コメントⓘ Cet article peut avoir été partiellement ou totalement traduit à l'aide d'outils automatiques. Nous nous excusons des erreurs que cela pourrait engendrer.
Raspberry Piの起動時に、プログラムまたはコマンドラインを実行する必要がある場合があります。
これは、特にホームオートメーション用のオブジェクトを製造する場合であり、オブジェクトが接続されたときにプログラムを自動的に起動する必要があります。
このチュートリアルでは、Raspberryを起動するときにプログラムを起動する非常に簡単な方法を説明します。
使用する素材。
このチュートリアルでは、次のものが必要です。
Raspberry Piに直接アクセスできない状態でこのチュートリアルを完了するには、SDカードを読み取ったり、アダプターを使用したりできるPCも必要です。
Raspberry Piがrc.localで起動したときにプログラムを起動します。
Mac OSおよびWindowsの場合、PCからrootfsパーティションにアクセスするには、rootfsパーティションにアクセスできる必要があります。これを行うには、チュートリアルを参照して、MacおよびWindowsからLinuxパーティションを読み取ります。
Raspberry Piの起動時にプログラムを起動する最も簡単な方法は、ファイルを使用することです /etc/rc.local
。
このファイルには、Raspberry Piの起動が完了する直前に実行される一連のコマンドが含まれています。
Raspberry Piの起動時にプログラムを起動するには、ファイルを変更するだけです /etc/rc.local
SDカード上(Piから、またはファイルを変更して) /etc/rc.local
スコアで rootfs
PCに接続されているカードから)。
プログラムを開始するには、次の行を探します。
exit 0
ファイルで、行の前にプログラムを呼び出すコマンドラインを追加します exit
。
たとえば、次の名前のPython 3スクリプトを呼び出す場合 example.py
フォルダにあります /home/pi
起動時に、exit 0行を次の行に置き換えます。
/usr/bin/python3 /home/pi/example.py
注意すべき重要な点がいくつかあります。
まず、プログラムはユーザーによって実行されます root
したがって、すべての権利を持ちます。あなたがやっていることに注意してください!
第二に、常に絶対パスと非相対パスを使用する必要があります。相対パスの動作は予測できません。
3番目と最後のポイント、プログラムはスクリプトに制御を戻す必要があります。そうしないと、Raspberry Piが起動を完了することができなくなります。プログラムが無限ループを実行する場合、バックグラウンドで実行する必要があります &
注文後。私たちの場合、これは次のようになります:
/usr/bin/python3 /home/pi/example.py &
Raspberry Piを起動すると、プログラムが正しく起動します。