1.はじめに
Raspberry Pi OSにはVNC(Virtual Network Computing)サーバー機能を選択することによって、Raspberry Piに対してPCからリモートデスクトップ接続が可能です。PC側では、Real VNCやTiger VNCのViewerが使用できます。(※ウィンドシステムがWaylandに切り替わってから、Real VNC Viewerは使用できませんでしたが、正確な時期は不明ですが7月頃から使用できるようになりました。)VNCはIPアドレスのセグメント[1]が一致しているLAN内での接続が一般的で、インターネットを介した接続にはポートやセキュリティなどの設定と専門的な知識が必要です。一般論になりますが、セキュリティ対策が不十分な場合、IoTデバイスが第三者に悪用される可能性が報告されています[2]。
2024年5月に発表されたRaspberry Pi Connectは、インターネット経由でRaspberry Piを遠隔操作・管理するための公式ツールです。自宅や外出先から、職場や学校のRaspberry Piに簡単に接続できて、デスクトップまたはシェルセッションでのリモート操作が可能です。IoT化されたエアコン、給湯器、そして窓シャッターなどもスマートフォンで遠隔から操作できる昨今、Raspberry Piを使って同様のことができる可能性があります。また、Raspberry Pi ConnectはRaspberry Pi財団の公式サービスなので安心感があり、しかも無料なのが嬉しいですね。
Raspberry Pi Connectは、Bookworm(64-bit) Release 5.3に標準搭載されています。ただし、本ツールはまだベータ版として提供されており、対応デバイスはRaspberry Pi 5、Raspberry Pi 4B、Raspberry Pi 400に限られています。本稿では、アカウントの作成、Raspberry Pi の登録、リモートデスクトップ接続の順に主な手続きを説明します。Raspberry Pi Connectの技術的な詳細や仕組みについては、参考文献[3]〜[5]を参照してください。参考文献[5]は日本語ですが、閲覧には会員登録が必要です。
1.1 使用したもの
- Raspberry Pi 5 4GB
- OS:Bookworm(64-bit) Release 5.3 July 2024
- PC、ディスプレイ、キーボード、マウス
- Wi-Fi環境
2.Raspberry Pi IDの作成
Raspberry Pi ConnectなどのRaspberry Piサービスを利用するには、Raspberry Pi IDが必要です。まず、Raspberry Pi Connectを有効にし、その後Raspberry Pi IDを作成します。
- Raspberry Pi Connectを有効にする
[Menu]⇒[設定]⇒[Raspberry Piの設定]を開き、「インターフェイス」タブをクリックして、「Raspberry Pi Connect」のスイッチをオンにします。既にRaspberry Pi IDを取得している場合は、スイッチをオンにした時点で本章はスキップしてください。
- デスクトップ画面右上に表示されたRaspberry Pi Connectのアイコンをクリックし、表示されたメニューから「Sign in」を選択します。この操作により、Raspberry Pi IDのログイン画面が表示されるので、既にアカウントを持っている場合はログインを行い、まだ作成していない場合は新規にRaspberry Pi IDを作成します。
図2 Connectのアイコンより「Sign in」をクリック
- 新規にIDを作成する場合、表示されたWebページの「create one for free」のリンクをクリックします。
図3 「Sign in with your Raspberry Pi ID」のWebページ
- 電子メールアドレス、パスワード、氏名(ニックネームなど)を入力し、「I agree to the Terms and Conditons」にチェックを入れてください。図の該当箇所は、プライバシー保護のため、ぼかし処理を施しています。
図4 「Create your Raspberry Pi ID」のWebページ
- 「私は人間です」にチェックを入れると、画像認証が表示されます。指示された画像を選択するなどの質問に回答し、「Continue」をクリックしてください。
- 登録した電子メールアドレスに確認用のメールが送信され、確認を求めるメッセージが表示されます。メールの受信ボックスを確認してください。
- PCやスマートフォンで、id@raspberrypi.comから送信された確認メールを開き、「Verify email」をクリックします。
- 表示されたサインインの画面で、登録した子メールアドレスとパスワードを入力し、「Sign in」をクリックします。
図8 PC側に表示された「Sign in with your Raspberry Pi ID」のWebページ
- サインインに成功すれば、IDの作成は完了です。サインイン後、登録したメールアドレスに確認の連絡が届きます。右側の人のアイコンをクリックすることで、メニューから「Sign out」を選択してログアウトすることが可能です。
図9 PC側に表示された「Email successfully verifiked」のWebページ
3.Rapsberry Pi本体の登録
- Raspberry Piに戻り、デスクトップ画面右上に表示されたRaspberry Pi Connectのアイコンをクリックして、表示されたメニューから「Sign in」を選択します。
図10 Connectのアイコンより「Sign in」をクリック
- サインインのWebページが表示されたら、中央にある「Sign in as 名前、電子メールアドレス」のボタンをクリックします。
図11 「Sign in with your Raspberry Pi ID」のWebページ
- Raspberry Piを識別するために、本体の名前を付けます。ここでは「HomePi5-01」とし、次に「Create device and sign in」をクリックします。
図12 「Name your new device」のWebページ
- 「Device sign in successful」と表示されたら、設定は成功です。もし、時間が経過して無効と表示された場合は、サインインからやり直してください。
図13 「Device sign in successful」のWebページ
4.PCからRaspberry Piにリモート接続をする
- リモート側のPCで、次のURLをWebブラウザで開きます。
https://www.raspberrypi.com/software/connect/
「Sign in」をクリックします。
図14 Raspberry Pi Connectサービスの公式Webページ
- 「Sign in with Raspberry Pi ID」をクリックします(図15(a))。なお、サインインが継続している場合は、図15(b)が表示されますので、中央の「Sign in as・・・」をクリックします。すると、図17が表示されます。
図15(a) 「Sign in with Raspberry Pi ID」のWebページ
図15(b) 「Sign in as・・・」のWebページ
- 登録した電子メールアドレスとパスワードを入力して、「Sign in」をクリックします。なお、Raspberry Piのサービスからサインアウトしていると、プロファイル画面(Hi 名前)が表示されます。もう一度、同じURLを開いて、「Sign in」をクリックします。
https://www.raspberrypi.com/software/connect/
図16 「Sign in with your Raspberry Pi ID」のWebページ
- ページの左側に登録したRaspberry Piのデバイス名(HomePi5-01) が表示されます。右側の「Connect via」ボタンをクリックします。
- 「Screen sharing」と「Remote shell」のメニューが表示されます。以下のようにそれぞれを選択できます:
・Screen sharing: Raspberry Piのデスクトップ画面をリモートで表示し操作するためのオプションです。
・Remote shell: コマンドラインからRaspberry Piを操作するためのオプションです。
- 「Screen sharing」をクリックして、Raspberry Pi (HomePi5-01) と通信接続が完了すると、デスクトップ画面が表示されます。接続を終了する際は、左側の「Disconnect」をクリックします。
なお、以下の点に留意してください:
・マウス操作: VNCとは異なり、マウスを利用してソースコードなどの文字情報のコピー・アンド・ペーストはできません。代わりに、上部右側の「Copy from remote」と「Paste to remote」機能を使用します。
・文字コード: 日本語の場合、PCの文字コードがシフトJISで、Linux側がUTF-8であるため、文字化けが発生することがあります。その場合は、文字コードの変換を行う必要があります。
・画面左下に[Ctr],[Menuアイコン],[Alt],[Esc],[Tab]などの特殊キーやアイコンが表示されます。VNCでは特殊キーを使用できますが、Pi Connectではリモート側のWindowsが反応します。そのため、アイコンで用意しています。使い方の一例として、図21のようにPiカメラのプレビューとターミナルの2つのウィンドウを使用している場合、[Alt]を先にクリックして、[Tab]をクリックすると、両者のウィンドウをトップへ切り替えることができます。
図19 「Screen sharing」によるリモートデスクトップ接続
- 「Remote shell」をクリックすると、シェルセッションが開始されます。終了する際は、exit コマンドを実行してセッションを終了します。
図20 「Remote shell」によるシェルセッションの接続
- スマートフォン(Android)でもデスクトップ画面を表示できます。リモート側のHomePi5-01にPiカメラ3を接続して撮影している内容を確認することができます。スマートフォンのディスプレイが小さいため、キーボードとマウスを接続して作業するよりも、監視用として利用するのが適しています。
遅延はありますが、1台のリモート側のHomePi5-01に対して、同時に3台のデバイス(PC、タブレット、スマートフォン)から接続することも確認しました。HomePi5-01はヘッドレス状態で動作しています。
5.おわりに
職場や教室などの同じLAN内で、Raspberry Piをヘッドレスで使用する場合、VNCの方がデスクトップ画面をディスプレイにフィットさせたり、マウスでのコピー・アンド・ペーストが可能なため、プログラム開発などの細かい作業に適しています。
一方、Raspberry Pi Connectは、インターネットを介した接続に大きなアドバンテージがあります。スマートフォンでも利用できるため、機器の監視やデータのモニタリングなど、アディア次第で用途は広がることでしょう。
ただし、Raspberry Pi Connectを利用するにはRaspberry Pi IDの取得が必要です。これにより、集合教育などでは電子メールアドレスやアカウント、パスワードの管理が指導者側の負担となる可能性があります。
Raspberry Pi Connectは現在まだβ版です。今後の改良や便利な機能の追加が期待されるため、さらに使いやすくなることが楽しみです。
Reference
[1] セグメント, "https://e-words.jp/w/セグメント.html"
[2] NHKスペシャル取材班, IoTクライシス―サイバー攻撃があなたの暮らしを破壊する,NHK出版 (2018/July/25)
[3] Gordon Hollingworth, News Raspberry Pi Connect ,"https://www.raspberrypi.com/news/raspberry-pi-connect/" (2024/May/07)
[4] Raspberry Pi Connect (Beta), "https://www.raspberrypi.com/documentation/services/connect.html"
[5] 羽田野太巳, 新サービス「Raspberry Pi Connect」を試してみた、Webブラウザーでリモート接続,"https://xtech.nikkei.com/atcl/nxt/column/18/01109/052200056/" (2024/May/24)