2017-11-20 7 views
1

GUIを作成するためにPython TkinterでRaspberry Pi 3を初めて使用するのは初めてです。自動ブート時にTkinter GUIが正しく実行されない

私はスクリプトをPythonで書いています。私のコードでは、Raspberry Pi 3 GPIO 8とGPIO 11を入力として使用しています。 2つの入力端子に2つのリレーが接続されています。リレーはスイッチとして機能します。私のコードは、リレーがスイッチオンされてGUIに表示された回数を数えます。

私はGUIが開き、それが完璧に動作

sudo python /home/pi/Desktop/test.py 

とラズベリーパイ3 LxTerminalを使用してそれをテストしています。リレーが切り替わるたびに、+1がカウントされます。

その後、私はPiを再起動するたびに自動的に起動させることにしました。私は次のテクニックを使用します。

sudo nano /etc/profile 

最後の行に次のコードを追加して保存します。

sudo python /home/pi/Desktop/test.py 

私はラズベリーパイを再起動し、GUIの起動を自動的。しかし、GUI は、リレー切り替えに応答しません。

私は数回、それを再起動を試してみましたが、いくつかの再起動後に働きました。その後、私はに再試行しましたそして次回はが再び動作しません。この手順は何度も繰り返し続けます。いくつかの時間はGUIの仕事、それはしないでください。

誰でもこの種の問題が発生しましたか? GUIの自動起動を100%にするにはどうすればよいですか?

注:

  • がPiに電源を供給するために5V 1Aの携帯電話の充電器を持ちます。 GUIが
+0

ログインしましたか?バックグラウンドで実行しましたか? '/ home/pi/.bashrc'や'/home/pi/.profile'に入れようとしましたか?たぶん、スクリプトで、ファイルにいくつかの情報と例外を保存するコードを追加すると、実行された部分が表示されます。 – furas

+0

こんにちは、 My Piは自動的に起動してログインするように設定されています。 /home/pi/.bashrcまたは/home/pi/.profileにどこに置くべきですか? 私は最後の声明をよく理解していません。私はまだPythonとRaspberryにとっては非常に新しいです。 –

答えて

2

私はTkinterのを持って、自動起動に設定されている場合

  • は、キーボードとマウスを持っていないモニターに接続するためのVGAコンバータにHDMI接続し
  • (同様の5V 2.1Aを使用してみました)私のRaspberry Piの起動時に起動するGUI。私はそれを自動スタートファイルに追加することでやりました。

    まず、スクリプトを実行可能にします。あなたのpythonスクリプトの最初の行に、

    #!/usr/bin/python 
    

    を追加してください。

    その後、今、あなたは「sudoをパイソン」接頭辞なしで、あなたのプログラムを起動することができるはずのファイルの実行可能

    chmod +x /home/pi/Desktop/test.py 
    

    を作るために、このコマンドを使用します。端末に/home/pi/Desktop/test.pyと入力するだけで、プログラムが起動します。

    nano /home/pi/.config/lxsession/LXDE-pi/autostart 
    

    と編集用に開く自動起動ファイルとBTW

    @/home/pi/Desktop/test.py 
    

    を追加します。あなたは多くの "sudoの" 方法を使用しています。あなたは非常にまれにsudoを使うべきです。あなたがsudoでユーザーファイルを編集すると、ファイルのパーミッションが大きくなり、非常に奇妙なバグが発生します。あなたが何かをインストールしているときには "sudo"が必要です。それはそれです。

  • +0

    ありがとうございました!あなたのやり方に合わせてchmod + xで自動ブートしました。残念ながら、sudo接頭辞がなければ、コードに何らかのエラーがあることを示しています。ですから、私は代わりに@sudo python /home/pi/Desktop/test.pyを使用します。これまでのところうまく動作します。私は10回以上システムを再起動し、完全に100%動作します。 –

    +0

    @BrandonLokありがとうありがとうございます。常にsudoを使用するのではなく、そのエラーを修正する必要があります。権限エラーのバグが発生します。 – Novel

    関連する問題