REMOTE AI DEVELOPMENT

GitHub Copilot × VS Code Remote - SSHで
Raspberry PiでリモートAI開発を行う。

Windows 11のVS CodeからRaspberry Piへ接続し、PythonやシェルスクリプトをAIで開発する環境を整えます。

WHY REMOTE SSH

手元のPCと、動かす場所を分ける

Raspberry Piは、センサーの読み取りや常時稼働する小さなサービスなど、実際に動かしたい場所に置いて使えるコンピューターです。一方、コードを書く作業は、キーボードや画面が使いやすいWindows PCで行いたいことがあります。

VS CodeのRemote - SSHを使うと、Windows側の使いやすい編集画面からRaspberry Pi上のファイルを開き、そこでPythonやシェルスクリプトを実行できます。コードの置き場所と実行場所を近づけたまま、普段の開発体験を保てるのが便利なところです。

WHY GITHUB COPILOT

AIと対話しながら開発を進める

GitHub Copilotは、コードの続きを提案したり、やりたい処理を伝えて実装の案を出したりできるAI支援ツールです。Pythonやシェルスクリプトの小さな機能から試すことで、Raspberry Piで動かすプログラムを少しずつ形にできます。

右側のCopilot ChatをAgentモードにすると、開いている作業フォルダーを対象に、複数のファイルにまたがる変更やコマンドの実行を伴う開発も依頼できます。AIの提案はそのまま使わず、目的や安全性を確認してから採用することが大切です。

1. RASPBERRY PI

まずRaspberry Pi側を準備する

接続設定は、OSを書き込む段階で済ませておくと、その後の確認がスムーズです。

  1. PCにRaspberry Pi Imagerをインストールし、Raspberry Pi OSを選びます。GitHub Copilotや開発ツールを使う場合は、利用する拡張機能やパッケージの対応状況を確認したうえで、64-bit版を候補にします。
  2. OSの書き込み前に設定画面を開き、ホスト名、ユーザー名とパスワード、必要であればWi-Fiを設定します。
  3. SSHを有効にし、最初はパスワード認証を選びます。接続できるようになった後で、必要に応じてSSH公開鍵認証へ移行すると管理しやすくなります。
  4. 起動後、同じネットワーク上のWindows PCからホスト名で接続できるか、またはルーターの管理画面でIPアドレスを確認します。

64-bit版は万能という意味ではありません。Raspberry Piの機種、OS、利用したいPythonパッケージや拡張機能が対応しているかを確認して選びます。

2. GITHUB COPILOT

GitHub Copilotを用意する

GitHubへログインし、Copilotの設定画面または公式のプラン案内を開きます。この記事ではGitHub Copilot Proを利用しますが、Copilot Freeやほかの個人向けプランもあるため、利用目的と最新の料金・機能を確認して選びます。契約する場合は画面の案内に従って支払い情報を登録します。

契約後に大切なのは、VS Codeで使うGitHubアカウントと契約したアカウントを揃えることです。別のアカウントでサインインしていると、拡張機能を入れても提案が表示されないことがあります。

3. WINDOWS 11

Windows側にVS CodeとSSHを整える

Windows 11ではSSHクライアントが標準で利用できるため、まずは接続コマンドが認識されるか確認します。

VS Codeをインストール

Visual Studio Code公式サイトからWindows版をインストールします。更新通知が届いたら、セキュリティと拡張機能の互換性のため、内容を確認して更新します。

SSHを確認

PowerShellを開き、ssh と入力します。ヘルプやバージョン情報が表示されれば、SSHクライアントは利用できます。認識されない場合は、Windowsのオプション機能からOpenSSH Clientを追加または確認します。

4. REMOTE - SSH

VS CodeからRaspberry Piへ接続する

  1. 拡張機能ビューを開き、Microsoft公式の「Remote - SSH」をインストールします。
  2. コマンドパレットを開き、「Remote-SSH: Add New SSH Host...」を実行します。
  3. 接続先として ssh ユーザー名@Raspberry PiのIPアドレス を入力し、通常は C:\Users\ユーザー名\.ssh\config に保存します。
  4. 「Remote-SSH: Connect to Host...」から登録したホストを選び、自動判定できない場合は接続先のLinuxを選択します。
  5. ホストキーの確認が表示されたら、接続先が自分のRaspberry Piであることを確認して続行し、パスワードを入力します。

左下の表示が「SSH: ホスト名」または「SSH: IPアドレス」に変われば、VS CodeのウィンドウはRaspberry Piへ接続されています。Remote - SSHには接続先で最低1GBのメモリが必要で、2GB以上・2コア以上が推奨されています。ARM向けのRaspberry Piでは、拡張機能によって対応していない場合があるため、個別の対応状況も確認します。

5. EXTENSIONS

Windows側のVS Codeから拡張機能を追加する

Remote - SSHでRaspberry Piへ接続した後も、操作するのはWindows PC側のVS Codeです。拡張機能ビューをWindows側で開き、インストールします。

GitHub Copilot

Windows側の拡張機能ビューでGitHub Copilotを検索し、インストールします。

VS Code のバージョンによってはインストールされている場合があります。その場合はインストールする必要はありません。

Python

Windows側の拡張機能ビューでMicrosoft公式のPython拡張機能を検索します。インストールを選びます。

ShellCheck(BASHプログラム作成を行う場合)

Windows側の拡張機能ビューでShellCheckを検索して追加します。

拡張機能の検索、インストール、設定はWindows側のVS Codeで行います。拡張機能によってはリモート側で行うこともあります。詳しくはそれぞれのドキュメント等を確認してください。

6. SIGN IN AND TEST

サインインして、提案が出るところまで確認する

GitHub Copilotのサインイン案内が表示されたら、「Sign in to GitHub」を選び、ブラウザーでVisual Studio Codeの認証を許可します。契約したアカウントで認証されていることも確認します。

次に、Raspberry Pi側の作業フォルダーにPythonファイルを作ります。例えば、次のようなコメントを入力してからEnterを押します。

# Raspberry PiのCPU温度を取得する関数

灰色の候補が表示されれば、Copilotの提案を受け取れる状態です。候補は必ず内容を読み、実行前に安全性と目的への適合性を確認します。

右側に表示できるCopilot Chatでは、モードを「Agent」に切り替えて開いている作業フォルダーのプログラム開発を依頼することもできます。目的や変更したい内容を具体的に伝え、提案されたファイル変更やコマンドは内容を確認してから実行します。

SECURITY NOTES

便利さと一緒に、接続情報も管理する

  • IPアドレス、SSHユーザー名、パスワード、秘密鍵は、公開ページやリポジトリに書きません。
  • パスワード認証で接続できた後は、SSH公開鍵認証やファイアウォールなど、環境に合った対策を検討します。
  • Copilotの提案は補助です。認証情報、個人情報、秘密の設定値をコードやコメントに入力しないようにします。
  • 接続情報は別紙の「環境情報メモ」で管理し、記事本文には具体的な値を載せません。

REFERENCE

参考情報

SUMMARY

まず接続し、小さく動かしてみる

この環境づくりの要点は、Windows PCを操作画面、Raspberry Piを実行環境として役割分担することです。そして、AIを用いた開発の一歩をはじめてみることです。

この記事の画面表示や操作方法は、Windows、Raspberry Pi OS、VS Code、拡張機能などのバージョンや更新状況によって変わる場合があります。表示名や手順が異なるときは、各ソフトウェアの最新の公式ドキュメントも確認してください。

最初から大きなプログラムを作る必要はありません。CPU温度の取得やログの保存など、小さなPythonスクリプトから始めると、接続、編集、実行、修正という流れを一つずつ確認できます。