Raspberry Pi(以下ラズパイ)でPythonプログラミングをしていると、「パソコンで直接編集したいなぁ」と思ってしまいます。ラズパイの設置場所と離れた環境での編集や、いちいちラズパイにモニタやキーボードを接続する必要がないからですね。
これは「パソコンVS Code上からSSH接続してラズパイ内のファイルを直接実行」という方法で解決できます。いつも使っているVS Codeで編集ができるので大変効率が良いです。
[st-mybox title=”” fontawesome=”” color=”#757575″ bordercolor=”#f3f3f3″ bgcolor=”#f3f3f3″ borderwidth=”0″ borderradius=”5″ titleweight=”bold” fontsize=”” myclass=”st-mybox-class” margin=”25px 0 25px 0″]
*私の実行環境
- windows 10 pro ver1809
- Windows Subsystem for Linux on Ubuntu 18.04
- VS Code ver 1.30.2
- ラズパイ 3b+
[/st-mybox]
パソコンのVS CodeからラズパイのPythonファイルを直接編集する方法
ラズパイにVS Codeをインストールすることもできますが、できれば慣れたパソコンからプログラミングしたいですよね。VS Codeには便利なプラグインがあって、簡単にラズパイ内のフォルダを参照できるようになります。
「SSH FS」というVS Codeのプラグインで可能です。Qiitaの下記記事を参考に、早速プラグインのインストール~設定をしてみましょう。
[st-cmemo fontawesome=”fa-external-link” iconcolor=”#BDBDBD” bgcolor=”#fafafa” color=”#757575″ iconsize=”100″]Visual Studio CodeでSSHごしにファイルを編集する[/st-cmemo]
1.VS CodeにSSH FSプラグインをインストール
[st-mybox title=”” fontawesome=”” color=”#757575″ bordercolor=”#f3f3f3″ bgcolor=”#f3f3f3″ borderwidth=”0″ borderradius=”5″ titleweight=”bold” fontsize=”” myclass=”st-mybox-class” margin=”25px 0 25px 0″]
- VS Codeを開きます
- ①の拡張機能ボタンをクリックします
- ②の検索エリアに「SSH FS」と入力します
- ③にSSH FSが表示されるのでクリックします
- ④にSSH FSが表示されるので「インストール」を押します
- インストール後再読み込みボタンを押します
[/st-mybox]
再読み込みボタンは必ず押してください。VS CodeにSSH FSが正式に登録されます。
再読み込みされ、VS Codeが再起動されたら、2.SSH FSの設定に進んでください。
2.SSH FSの設定
1)VS Code画面左下に新しくSSH FILE SYSTEMSが追加されていますのでクリックします。
2)SSH FILE SYSTEMSのエリアが展開されます
3)SSH FILE SYSTEMSエリアの中でマウス右クリックするとCreate a SSH FS configurationボタンが現れるのでクリックします。
4)VS Code画面上に、SSH FSの設定項目が現れます。Nameの欄にSSH接続の適当な名前を入力してSaveを押してください。
5)パソコンからラズパイにSSH接続するための情報を入力します。
たくさん設定項目がありますが、最低限必要な項目は以下の通りです。
[st-mybox title=”” fontawesome=”” color=”#757575″ bordercolor=”#f3f3f3″ bgcolor=”#f3f3f3″ borderwidth=”0″ borderradius=”5″ titleweight=”bold” fontsize=”” myclass=”st-mybox-class” margin=”25px 0 25px 0″]
“Name”:
4)で登録した名前が表示されていると思います。変更したければ、この部分を変更します。
“Host”:
ラズパイのIPアドレスもしくはホスト名(raspberrypi)を入力します。
“Port”:
ポート番号を変更していなければ、ラズパイの初期値は「22」です。
“Root”:
ラズパイ内のどのフォルダにログインするかをPATHで入力します。「/home/pi」としておくと、ログイン後、すぐにpiユーザのホームディレクトリに移動されています。
“Username”:
ラズパイにログインするときのユーザー名です。通常は「pi」です。
“Password”:
ラズパイにログインするときのパスワードです。パスワードを直書きするのが心配、ということであれば公開鍵認証という認証方式を使ってパスワード無しで、安全にログインする方法もあります。
➡「ラズパイにパスワード無しで安全にSSHログインする方法【リモート開発】」
[/st-mybox]
6)設定が出来たら保存(Ctrl + S)をします。
3.SSH FSでラズパイにログインする
1)SSH FSの設定を保存すると、画面右下に接続を促すポップアップが表示されます。「Connect」をクリックします。
3)ラズパイへのSSH接続が成功すると、画面左側のエクスプローラーにファイルツリーが表示されます。これで好きなファイルを編集できますね。
[st-cmemo fontawesome=”fa-exclamation-circle” iconcolor=”#ef5350″ bgcolor=”#ffebee” color=”#000000″ iconsize=”100″]
SSH接続できないときは
Windowsの場合、「Putty」というSSHクライアントソフトが必要とSSH FSのドキュメントに書かれています。しかしWindows10でアップデートしてあれば、標準でPowerSellにSSHクライアント機能が付くようになりました。
私の環境ではPuttyをインストールせずにVS CodeからラズパイへSSH接続できました。どうしてもSSH接続できなければ、下記リンクを参考にPuttyをインストールして再度設定してみてください。
外部リンク:PuTTYのインストール – PuTTYの使い方
[/st-cmemo]
4.ターミナルからのラズパイ内ファイルの実行
PCからSSH接続したラズパイ内のPythonファイルを編集する場合、VS Codeのデバッグ機能が使えません。できる方法はあるようですが、設定が非常に複雑なため、私はターミナルからPythonファイルを実行して動作を確認しています。
1)Ctrl + @でターミナルが開きます。私の場合はWindows10にubuntuを入れ、ターミナルをUbuntuにしていますが(現在はGitBash)、通常はPowerShellが立ち上がります。SSH接続の操作は同じです。
蛇足ですが、VSCodeのターミナルをWSL版のUbuntuにはしない方が良いです(笑)理由は下記に記載しました。
➡「Windows版VSCodeのターミナルって結局どれがいいの?」
ターミナル画面に 下記を入力しエンターを押します。
[st-mybox title=”” fontawesome=”” color=”#757575″ bordercolor=”#f3f3f3″ bgcolor=”#f3f3f3″ borderwidth=”0″ borderradius=”5″ titleweight=”bold” fontsize=”” myclass=”st-mybox-class” margin=”25px 0 25px 0″]
ssh pi@192.168.13.70
[/st-mybox]
ssh接続で piユーザーとしてIPアドレス192.168.13.70のPCにアクセスするコマンドです。パスワードが聞かれ、VS Codeのターミナルからラズパイにログインできます。
が、もっと便利でセキュリティ的に安全に接続する方法があります。
下記ページにて、SSH FSからも、VSCodeのターミナルからも素早く接続する方法を解説しています。手間はかかりますが、ラズパイ等のLinux系IoTデバイスのセキュリティを確保し、安全にスムーズにログインできるようになります。ぜひお試しください!!
[st-card id=1342 label=”おすすめ” name=”” bgcolor=”” color=”” readmore=”on”]
2)ログイン後は、実行したいPythonファイルがあるフォルダに移動し、Pythonファイルを実行します。
[st-mybox title=”” fontawesome=”” color=”#757575″ bordercolor=”#f3f3f3″ bgcolor=”#f3f3f3″ borderwidth=”0″ borderradius=”5″ titleweight=”bold” fontsize=”” myclass=”st-mybox-class” margin=”25px 0 25px 0″]
cd <フォルダ名>・・・・目的のフォルダに移動します
python3 <ファイル名.py>・・・・pythonファイルの実行
[/st-mybox]
*コマンド(cdやPython)とフォルダ名・ファイル名との間には半角スペースが必要です。
まとめ
以上でパソコンのVS Codeからラズパイ内のPythonファイルを直接編集・実行できるようになりました。デバックが人手間かかりますが、いちいちラズパイにモニタ・キーボードつないで、ラズパイ内で編集するよりは効率が上がります。SSH設定は手間ですが、ひとつづつ確実に設定していけば戸惑う個所は無いはずです。
ラズパイのPythonなどをスムーズに編集するにはVSCodeをいかに使いこなすかにかかっています。最近はVSCodeの良い参考書も出ていますので、思考の速度で編集できるように読んでみてはいかがでしょうか?
コメント