[初回公開] 2019年02月20日
センサーやカメラを取り付けることでできる IoT 機器は遠隔地に設置して無人で情報収集することができるが、設定変更や収集したデータを都度、IoT 機器がある場所に行くのは効率が悪いため、Raspberry Pi を例にリモートで操作できるようにする設定と接続方法について紹介する。
このページの目次
1.Raspberry Pi をリモート操作する構成
パソコンやスマホなどでインターネット接続する場合は下図のように「パソコン」など操作する端末と「ルーター」などネットワーク機器とが LAN ケーブルや Wi-Fi で通信できる状態で、さらに「ルーター」から「インターネット」に接続することでパソコンでウェブサイトを閲覧したりデータのダウンロードができるようになる。
同様に電子工作の入門や IoT 機器として利用される Raspberry Pi もルーターと通信できるように LAN ケーブルで接続するすることで Raspberry Pi はインターネットに接続できるようになるとともに、同じネットワーク内にいるパソコンから Raspberry Pi をリモートで操作することも可能になる。
また、Raspberry Pi をルーターではなくパソコンと直接つなぐこともできるが、この場合は Raspberry Pi がインターネット通信できなくなり、Raspberry Pi の動作に必要なソフトウェアのインストールができなくなるデメリットがある。
尚、Raspberry Pi をリモート操作するために設定を行う必要があり、この設定を行うためにはパソコンからリモート操作する前では実施できないため、設定時のみ Raspberry Pi にディスプレイやマウスをつなげて直接設定しなければならない。
2.Raspberry Pi をリモート操作するための事前の設定
Raspberry Pi の初期状態はリモート操作できないようになっているため、設定変更する必要がある。
設定変更にあたっては専用の画面が Raspberry Pi に用意されているので画面に沿って進めるだけで設定が完了する。
2-1.Raspberry Pi のターミナルを開く
Raspberry Pi のリモート操作を許可する設定変更の画面はデスクトップ上をマウス操作で表示することができず、コマンドで操作する「ターミナル(LXTerminal)」でのみ呼び出すことできる。
そのため、Raspberry Pi のデスクトップ画面の上部にある「ターミナル(LXTerminal)」をマウスでダブルクリックして開く。
ターミナルが起動すると上図のようにコマンド(文字による指示)操作するウィンドウが表示される。
Windows OS に標準インストールされている「コマンドプロンプト」もコマンドで操作するもの、このターミナルと類似のソフトウェアとなる。
2-2.Raspberry Pi の設定画面を開く
ウィンドウ「ターミナル」が起動すると、その画面内には文字入力の待機を示すためカーソルが点滅している。
カーソルが点滅している状態で下記のコマンドを入力し、キーボードのエンターキーを押すと Raspberry Pi の設定ウィンドウが表示される。
$ sudo raspi-config
sudo は OS を設定したりサービスを起動する最高権限のアカウントにて raspi-config で設定よ呼び出す指示をしている。
2-3.リモート操作に必要な設定を行う
Raspberry Pi の設定ウィンドウが表示されると英語で表記された下図の画面が表示される。
この設定画面より Raspberry Pi へログインするパスワードを変更したり、ネットワークの設定を行うことができる。
その中よりリモート操作の設定を行うためにキーボードの「↓」キーを押して「5 Interfacing Options」を選択する。
「5 Interfacing Options」は Raspberry Pi に接続するセンサーやカメラなど入出力に関する設定を行うことができ、表示された項目の中より再度「↓」キーを押して「P2 SSH」を選択する。
「P2 SSH」は Raspberry Pi を SSH と呼ばれるリモート操作機能であり、初期状態では「いいえ」になっているためキーボードの「←」を押して「はい」を選択して、エンターキーで決定するとリモート操作できるようになる。
2-4.Raspberry Pi の IP アドレスを確認する
前述の設定画面で Raspberry Pi へ SSH でリモート接続できるようにはなったが、実際にパソコンから SSH の機能を利用して接続するために接続先となる Raspberry Pi の IP アドレスが必要になる。
そのため、Raspberry Pi のターミナルの画面で下記のコマンドを入力してエンタキーを押すと Raspberry Pi の IP アドレスが表示される。
この IP アドレスは後ほど利用するのでメモしておく。
$ ifconfig
ifconfig はネットワーク内での自身の住所となる IP アドレスを表示するコマンドで、LAN ケーブルを接続すると自動的に IP アドレスが割り当てられたり、常に固定になるように設定を行うことも可能である。
Raspberry Pi の初期状態は IP アドレスを自動で取得する仕組み(DHCP)が働いており、今回は「192.168.***.***」という IP アドレスが得られたのが確認できる。
3.Raspberry Pi に SSH でリモート操作する方法
Raspberry Pi にリモート操作するためには SSH と呼ばれる機能を利用する。
SSH とは Secure SHell の略で端末間でやり取りされる情報を暗号化して安全に操作するものである。
Windows パソコンには標準で SSH が使える状態にはなっていないため、一般的には「Tera Term(テラターム)」と呼ばれる SSH で異なるパソコンやサーバをリモート操作するソフトウェアをダウンロードして利用する。
3-1.パソコンから SSH 接続する
パソコンから Raspberry Pi にリモート操作するためには「Tera Term(テラターム)」を起動する。
テラタームを起動するとリモート接続したい端末の IP アドレスと、その端末にログインするためのユーザ名とパスワードの入力を求められる。
そこで、前述で確認した Raspberry Pi の IP アドレスを利用する。
また、ログインに必要な情報は Raspberry Pi の初期状態から変更していなければ下記のようになっている。
・ホスト名:ラズパイの IP アドレス(今回なら 192.168.***.***)
・ユーザ名:pi
・パスワード:raspberry
SSH を利用する際の順序としては、最初にリモート操作したい端末の IP アドレスを入力してその端末と通信できるかがソフトウェアが診断する。
通信できると判断されれば次に認証に必要なユーザ名とパスワードを入力する画面が表示される。
もしユーザ名とパスワードを入力する画面が表示されない場合は、パソコンと Raspberry Pi が同じネットワーク内に存在しているか、LAN ケーブルが接続されているかを確認する必要があり、詳しくは次の通りである。
3-2.テラタームで Raspberry Pi にアクセスできない時の対処法(1)
テラタームで Raspberry Pi に接続できない理由の 1 つに Raspberry Pi の電源がオンになっていないか、SSH で操作するパソコンと同じネットワーク内に存在していないかのどちらかが疑われる。
この状態の時、テラタームでは IP アドレスを入力しても次に入力すべきユーザ名とパスワードを入力する画面が表示されない。
パソコンにインストールされている「コマンドプロンプト」を開いて、下記のコマンドを入力する。
もし「宛先ホストに到達できません。」と表示されるようであれば Raspberry Pi の接続状態を確認する必要がある。
>ping {Raspberry Pi の IP アドレス}
***.***.***.*** に ping を送信しています 32 バイトのデータ:
***.***.***.*** からの応答: 宛先ホストに到達できません。
3-3.テラタームで Raspberry Pi にアクセスできない時の対処法(2)
Raspberry Pi でリモート操作する手順を紹介するサイトの中にはホスト名を IP アドレスではなく「raspberrypi」や「raspberrypi.local」といったホスト名でアクセスしていることがある。
ホスト名で接続するためにはネットワーク内に「raspberrypi」という端末がいるということを SSH を利用しているパソコンが認識できて初めて通信できるようになるが、Raspberry Pi の初期状態ではホスト名で接続できるようにはなっていない。
そのため、ホスト名で接続しようとしている時は IP アドレスを指定するか、予め Raspberry Pi のネットワーク設定を変更する必要がある。
4.Raspberry Pi をリモート操作するメリット
Raspberry Pi をリモート操作するメリットとしては、「リソースの有効活用」と「データ収集の効率化」の 2 点が挙げられる。
1 点目の「リソースの有効活用」とは、Raspberry Pi を操作するためにつなげるディスプレイやマウス・キーボードといったハードウェア資産の削減である。
Raspberry Pi を操作する上で 1 台ずつにディスプレイなどがあると操作時は楽だが、Raspberry Pi を複数台運用している時やディスプレイを置く場所も確保しなければならないことから、リモートで操作できるようにするほうがよい。
また、2 点目の「データ収集の効率化」とは、センサーやカメラなどでデータ収集する場合は作業するデスク周りから離れていることが多いため、データ収集のために Raspberry Pi がある場所に都度赴くのは効率が悪い。
IoT 機器は屋外で利用したり、製造現場では工場のいたるところや狭い場所・高所に機器を配置することもあるため、リモート操作できるようにしておくと操作する場所を取られることなく 1 つのパソコンで複数台を同時に操作・処理できるメリットがある。
関連記事
【30分でIoT】Raspberry Pi(ラズベリーパイ)に OS をインストールする方法
IoT の学習機材として人気が高い Raspberry Pi(ラズベリーパイ)は入門編のスターターキットやセンサー類とセットで販売されているキットを購入すると Raspberry Pi の動作に欠かせない OS も既…
【最も売れてるIoT】Raspberry Pi の仕様と基本的な使い方を紹介
IoT に対応した家電や小物が出回りつつある今、電気機器を製造するメーカー以外にも学校など学習現場や食品や部品の製造現場でも活用が注目されている中、IoT の学習用端末として販売されている Raspberry Pi…
【IoT入門に最適】Arduino の仕様と基本的な使い方を紹介
家電が小物がインターネットにつながって操作やデータ収集できることを IoT と呼び生活を便利にしているが、研究する学生や製品の開発者向けに IoT の学習キットがいくつか販売されており、その中…