- ベストアンサー
ラズパイスクリプトの実行について
ラズパイ、Pythonの初心者です。 ラズパイを使用してて疑問に思ったのですが、ラズパイのスクリプトを起動させようと思うとラズパイにディスプレイとキーボードを繋ぎ、スクリプトのRUNボタンを押していますが、ディスプレイやキーボードを繋いでいない時(ラズパイのみ)はどうやって指定したスクリプトをRUN(実行)させるのでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
> ここで先ず①のラズパイのスクリプトを実行する必要がありますが、この場合も最初に教えて頂いた方法で自動実行せねばならないという事でしょうか サーバープログラムはずっと常駐起動させていれば良いと思うので、ラズパイを電源ONしたタイミングで自動起動するように設定しておけば良いと思います。 Raspberry Piでプログラムを自動起動する5種類の方法を比較・解説 - Qiita https://qiita.com/karaage0703/items/ed18f318a1775b28eab4 の「crontab @reboot」の項で説明されているように、「cron」に 起動タイミングとして「@reboot」(起動時に実行)を指定して登録するのが良いかと思います。 具体的には「crontab -e」コマンドを実行して起動させたいスクリプトを登録します。
その他の回答 (2)
- shuyamakawa
- ベストアンサー率67% (111/164)
> VB2019でTeraTermを開きパスワード等もVBのプログラムで入力し、TeraTermのターミナル画面にて指定スクリプトの実行は可能でしょうか? > 色々調べてみましたが、開く事は出来てもパスワード入力迄は不可なのかなと思いました。 TeraTermマクロを使えばターミナルの対話操作の部分を自動化することはできます。(「password」という文字列が表示されたら特定の文字列(設定したパスワード)を入力するというような形のスクリプトを作ることが出来ます。) またsshの認証に公開鍵認証を使うようにすればやり方次第でパスワード無しでログインするような設定にすることは可能です > 無理とした場合、他にも方法はございますでしょうか? ただ、TeraTermのマクロ使った方法よりは、ラズパイ側で動作するネットワークサーバプログラムを用意して(自作して)、PC側にあるVB側でネットワーククライアント部分を作りラズパイ側のサーバと接続してコントロールするようにするのがよりスマートな作りだと思います。
- shuyamakawa
- ベストアンサー率67% (111/164)
いくつか方法はあります。(以下ラズパイにはRasberryPi OSが入っていると仮定しています) (1)ラズパイにリモートデスクトップサーバやVNCサーバなどのソフトをインストールして、お使いのPC上からラズパイのデスクトップ画面を表示させて操作する お使いのPC上にラズパイのデスクトップ画面が表示され、PCのキーボードとマウスで操作出来るようになるため、これがご質問にあるラズパイにディスプレイとモニタを使っている操作感に近いものになると思います。 (2)ラズパイでsshサーバをインストール/起動するようにして、お使いのPCからログインして操作する Windows側からsshログインするソフトとしては例えばTeraTermなどが挙げられます。(1)のGUI操作と違い、こちらの場合はコマンドプロンプトのような画面にコマンド文字列を打ち込んでコマンドを実行して、実行結果を文字列で受け取るような使い方になります。 (3)ラズパイのGPIO(ラズパイの基板上に付いている40ピン端子)にスイッチを付けてボタンを押したらスクリプトが起動するように仕込んでおく 起動するスクリプトが決まっていて、他のPCが無いような状態で起動したいという場合に使う方法です。 (4)ラズパイのcronという仕組みを使い、指定したスクリプトを実行する スクリプトを使いたいときにボタンを押して実行ではなく、指定した時間や定期的なタイミングで特定のプログラムを実行したいということであればcronの設定ファイルに登録すればそのようなことが可能です。
補足
ご教示ありがとうございます。 ご教示くださった(2)の使用方法を採用させて頂きTeraTermをインストールしたところPC側でラズパイの実行が出来るようになりました。 ありがとうございます。 実はVB2019のプログラムにてFormで作成したボタン等を押し、任意のタイミングでラズパイのスクリプトを実行する事が最終目的としております。 VB2019でTeraTermを開きパスワード等もVBのプログラムで入力し、TeraTermのターミナル画面にて指定スクリプトの実行は可能でしょうか? 色々調べてみましたが、開く事は出来てもパスワード入力迄は不可なのかなと思いました。 無理とした場合、他にも方法はございますでしょうか?
補足
ご返信有難うございます。 済みませんがもう少しご質問させて下さい。 ラズパイをサーバー、VB(PC)をクライアントで作成するとした時は、大まかに ①ラズパイのソケット通信のスクリプトを実行し、要求待ちにする。 ②クライアントが任意のタイミングで要求を受け取る。 その後データ等のやりとりを行う形になると思いますが、ここで先ず①のラズパイのスクリプトを実行する必要がありますが、この場合も最初に教えて頂いた方法で自動実行せねばならないという事でしょうか? 分かりづらい説明で済みません。