2017-07-22 10 views
-3

私はPythonコードをraspberry piで起動したいと思っていました。ラズベリーパイの起動時にPythonコードを入れるにはどうすればいいですか

私はrc.local、./bashrcを試みましたが、起動中のプログラムが動作中です&私はopencv + camera + voiceコマンドを使用しています。それは起動時に動作しません。

起動時に音声+カメラ+ opencv + pythonコードを実行する方法を教えてください。

答えて

0

私は、次の資料の方法4で述べたように、それはサービスとして実行させることをお勧めします:ユニットファイル

オープンサンプル単位のファイルを作成します

https://www.dexterindustries.com/howto/run-a-program-on-your-raspberry-pi-at-startup/

ステップ1 -

sudo nano /lib/systemd/system/sample.service 

次のテキストを追加してください。

[Unit] 
Description=My Sample Service 
After=multi-user.target 

[Service] 
Type=idle 
ExecStart=/usr/bin/python /home/pi/sample.py 

[Install] 
WantedBy=multi-user.target 

ナノエディターを保存して終了する必要があります。

enter image description here

これは、「サンプル・サービス」と呼ばれる新しいサービスを定義し、我々は、マルチユーザー環境で利用可能になると、それが起動されていることを要求しています。 ExecStartパラメータは、実行するコマンドを指定するために使用されます。 "Type"は "idle"に設定され、他のすべてがロードされているときだけExecStartコマンドが実行されるようにします。パスは絶対パスであり、Pythonの完全な場所とPythonスクリプトの場所を定義していることに注意してください。あなたがにExecStartラインを変更することができ、ログファイルにスクリプトのテキスト出力を格納するために

sudo chmod 644 /lib/systemd/system/sample.service 
:ユニットファイルのパーミッションを644に設定する必要が
ExecStart=/usr/bin/python /home/pi/sample.py > /home/pi/sample.log 2>&1 

ステップ2 - システム構成

ここで、ユニットファイルが定義されているので、システムファイルにはブート時に起動するよう指示できますシーケンス:

sudo systemctl daemon-reload 
sudo systemctl enable sample.service 

再起動しPiとカスタムサービスを実行する必要があります

sudoのリブート

enter image description here

+1

ソリューションへのリンクは歓迎ですが、あなたの答えを確認してくださいすることはそれなしで便利です:[リンクの前後にコンテキストを追加](// meta.stackexchange.com/a/8259)あなたの仲間のユーザーは、それが何であるか、なぜそこにいるのかを知り、リンクしているページの最も関連性の高い部分を引用しますターゲットページが利用できない場合に[リンクより少しだけ回答が削除される可能性があります。](// stackoverflow.com/help/deleted-answers) – sudo

+0

こんにちは、私は試みましたが、それは動作していません。 –

+0

私は声を上げたかったのですが、上記の方法でカメラよりもスピーチが私のために働いていません。他のワットそれを行うには? –

関連する問題