【2021年版】 初心者向け Raspberry Pi 4 へのOSインストール・初期設定手順(後編)
前編 では、OSのインストールまでを完了させました。 後編では、ラズパイで電子工作をする際に必要な環境を整えます。
前編をお読みでない方は先にそちらからお読みください。
現時点での状態
- microSDにRaspberry Pi OSを書き込み、Raspberry Piに差し込んだ
- Raspberry Pi にHDMIケーブル・USBマウス・USBキーボード・電源を接続して起動できた
- Raspberry Pi からWi-Fiに正常に接続できた
- Raspberry Pi のパスワードをきちんとメモしているor覚えている
【応用編】 パソコンからRaspberry Piを操作する
電子工作をする場合、毎回ラズパイにキーボード・マウス・HDMIケーブルを接続するのは面倒です。ということでPCからリモート操作できるようにしてしまいましょう。
(ここの設定が完了するまではキーボード・マウス・HDMIケーブルを使います)
5. Raspberry Pi 側の設定
画面左上のメニューから、Preferences(設定)→Raspberry Pi Configuration(Raspberry Piの設定)をクリックします。
Interfaces(インターフェイス)タブをクリックし、SSHとVNCを Enable(有効)にし、OKをクリックします。
続いて、LAN内でのIPアドレスを固定します。
なぜなら、毎回IPが変わるとPCからの接続が困難になってしまうからです。
ターミナルというアプリを起動します。Windowsにおけるコマンドプロンプトのようなものです。
画面の上部にある、以下のアイコンをクリックします。
黒い画面が表示されたら、 ifconfig と入力してEnterキーを押します。
(Windowsで似たようなことをするのは「ipconfig」ですが、ラズパイなどLinuxでは「ifconfig」なので注意しましょう。)
長い結果が表示されますが、左側にwlan0と表示されている部分を探してください。
その中に inet という欄があるはずです。ここの後に書いてある 192.168.XX.XX のような IP アドレスをメモしておいてください。
このIPアドレスがラズパイに今現在割り当てられているものです。
今回はいま割り当てられているアドレスに固定します。
続いて、もう1つコマンドを実行します。route と入力し、Enter キーを押します。
こちらは短い実行結果です。defaultと書いてある右横のIPアドレスをメモしてください。
こちらがデフォルトゲートウェイ、通常はルーターのIPアドレスです。
では、ここで得た情報をもとにして設定ファイルを書き換えます。以下のコマンドを入力し、Enterキーを押してください。
長いので入力ミスがないように気をつけてください。
sudo nano /etc/dhcpcd.conf
すると、コマンドライン上で動くテキストエディタ「nano」が起動し、設定ファイルが開かれます。
マウスホイールか、矢印キーでスクロールして一番下の行に移動します。
そして以下の内容を書き加えます。
interface wlan0 static ip_address=192.168.XX.XX/24 static routers=192.168.XX.YY static domain_name_servers=8.8.8.8
もちろん、XXのまま入力するのではなく
- 192.168.XX.XX の部分には先程メモしたラズパイのIPアドレス
- 192.168.XX.YY の部分には先程メモしたデフォルトゲートウェイのIPアドレス
を当てはめてください。
半角スペースやイコールなど、すべてスペルミスなく入力し終わったらキーボードで Ctrl+O を押してください。
下部に「File Name to Write: 」のように表示されたら Enter キーを押します。
(ファイル名を指定する欄なのですが、変更せずそのまま保存するという操作です。)
「Wrote 64 lines」のように表示されたら、キーボードで Ctrl+X を押してください。
元のコマンド入力画面に戻ってきたら、 sudo reboot と入力し、Enter キーを押します。
再起動が完了したら、一旦そのままにしておきます。
※注意:
これ以降、ネットワーク越しに接続する手順の解説が続きます。そのためにはパソコンもラズパイと同一のLANに繋がっている必要があります。
異なる場合、パソコン・ラズパイが同一のLANにあるように(同じWi-Fiルーターに繋がるように)してください。
6. パソコン側の準備と接続(VNC編)
ここから、ラズパイではなくパソコン側の作業になります。
VNCはリモートデスクトップの一種です。ラズパイの画面をパソコンから遠隔操作できます。
このVNCを使うステップは「とりあえず遠隔操作を体験してもらう程度」なので、特に重要ではありません(SSHを使うところからが本番です)。ですので、ちょっと難易度が上がってもOK!という方はこのステップを飛ばして「7. パソコン側の設定(SSH編)」に進んでください。
以下のサイトから VNC Viewerをインストールしてください(インストール手順は省略します。「VNC viewer インストール」でググると参考になる資料が出てくるはずです)。
VNC Viewerが起動したら、上部の入力欄に 192.168.XX.XX のように、ラズパイのIPアドレスを入力して Enter キーを押します。
接続できると、ラズパイの画面をパソコンから操作できるようになります。
特に難しい知識もいらず、PCのマウスやキーボードをそのまま使えるので便利でしょう。
しかし、このVNCにはいくつか問題があります。
まずは画面をリアルタイムで転送するので、動作がやや重くなるという点です。ラズパイはPCほど高性能ではないため、動作はもたつきます。
2つ目はHDMIで何らかの液晶画面に接続していないと、VNC接続ができないという点です。(HDMIを接続していない状態でVNC接続をする設定もあるのですが、初心者がそれを設定するよりはSSHを使える様になった方が便利です。)
ということで早速SSHを使ってみましょう。
7. パソコン側の準備(SSH編)
ここからも、ラズパイではなくパソコン側の作業になります。
SSHとは、画面ではなくコマンドを別のパソコンから遠隔で送るためのものです。
VNCに比べると初心者にはとっつきにくいかもしれません。しかし、文字列(コマンド)だけがやり取りされるので、動作が非常に軽快です。プログラミングに関してはVNCのように画面のやり取りをする必要があまりないため、ラズパイを用いた開発ではこちらを使うのが主流です。
以下のサイトから「TeraTerm」(テラターム)をダウンロードし、インストールします。
「日本語」のまま、 OK をクリックします。
ライセンスに同意したら「同意する」で「次へ」をクリックします。
インストール先です。特に変更せず「次へ」をクリックします。
「標準インストール」で、「次へ」をクリックします。
「日本語」で「次へ」をクリックします。
「次へ」をクリックします。
特に変更せず「次へ」をクリックします。
「インストール」をクリックします。
すぐに完了するので、「完了」をクリックします。
これでパソコン側の準備は完了です。
8. SSHを使って、ラズパイに接続しよう
スタートメニューから TeraTerm を探し、起動します。
以下のような画面が表示されているはずです。
ラズパイのIPアドレスを入力します。
サービスは「SSH」、TCPポートは「22」、SSHバージョンは「SSH2」になっていることを確認してください。
入力・確認したらOKをクリックします。
このような表示が出てきたら接続をクリックします。
SSH認証という画面が表示されたら、
- ユーザ名の欄に pi
- パスフレーズの欄に ラズパイ初期設定画面で設定したパスワード
を入力し、OKをクリックします。
TeraTermが以下のような画面になったら接続成功です。
なお、TeraTerm上ではコピーが Alt+C、貼り付けが Alt+V になることに気をつけてください。
では、早速ラズパイにコマンドを送ってみましょう。
sudo apt update
と入力し、Enterキーを押してください。少し時間がかかりますが、以下のようになれば完了です。
これはパッケージ管理システム(スマホにおける AppStore や PlayStore のようなものだと思ってください)のリストを最新情報に更新するためのコマンドです。
続いて、以下のコマンドを実行しましょう。
こちらは先ほど更新した情報に基づき、インストールされているソフトウェアを実際に最新版に更新するものです。update と upgradeが紛らわしいですが、よく使うので覚えておきましょう。
sudo apt upgrade
Do you want to conitinue? (続けますか?)と聞かれたら、Y を入力して Enter キーを押しましょう。
9. Pythonのコードを実行してみよう
以下のコマンドでPythonを起動してみましょう。
python3
画面は以下のようになるはずです。
これはREPL(レプル)といって、1行ずつコードを実行できる環境です。
以下のコードを入力し、Enterを押して実行してみましょう。
print("hello world")
無事にhello worldと表示されたら完了です。もちろん、このコードはパソコンではなくラズパイで実行されています。
つまり、端子にLEDやモーターなどの電子部品を接続すれば、Pythonでそれらを制御できるということです(電子工作に関する説明は今回はしません)。
Ctrl+Z でREPLを終了できます。
ちょっとした確認や練習にはREPLが使えますが、一般的な開発ではソースコードのファイルを作成し、それを実行します。
実際に試してみましょう。
以下のコマンドで、「nano」というエディタを使って「hello.py」というファイルを作成・編集します。
nano hello.py
以下のようにnanoが起動するはずです。nanoでのカーソル移動操作は矢印キー(←↓↑→)を使います。
以下のようなコードを入力しましょう。コピペでもかまいません。
print("Hello Python") a = 1+1 print(a)
入力したら、Ctrl+Oを押します。
続いて、Enterキーを押します。これで保存できます。
以下のように「Wrote 3 lines(3行保存しました)」のメッセージが画面下部に表示されたら保存が完了しています。
Ctrl+Xを押してnanoを終了しましょう。
nanoを終了してコマンド入力画面に戻ってきたら、以下のコマンドを実行します。
python3 hello.py
以下のような形で実行されたら成功です。
以下のコマンドで接続を閉じましょう(なお、ラズパイは起動したままです)。
exit
(参考)コマンドラインからラズパイをシャットダウンする手順
この記事は、基本的に次の手順まで続けて進む流れにしているのですが、ここで中断したい人は以下のコマンドを使ってください。
また、いずれにせよシャットダウンの手順は知っておいたほうがいいのでコマンドは覚えておきましょう。
sudo halt
これを入力してEnterキーを押し、しばらくしてラズパイ本体の緑のランプの点滅が止まったら電源コードを抜いてかまいません。
10. テキストエディタからSSHで接続しよう
nanoを使ったプログラミングはどうだったでしょうか?ちょっと使いづらいと感じたと思います。
もちろん慣れの問題もあるとは思いますが、それでもnanoではWindowsやMac上で動作するアプリほど快適にプログラミングはできないのは事実です。
使いづらい環境でプログラミングをするとモチベーションが下がってしまうので、便利な環境を整えましょう。
10.1 VS Code のインストール
以下のサイトにアクセスし、VS Code(ブイエス・コード)というアプリケーションをPCにインストールします。
これは「テキストエディタ」と呼ばれるアプリケーションで、PC向けの開発環境です。
同意したら「次へ」をクリックします。
インストール場所は特に変えず、「次へ」をクリックします。
そのまま「次へ」をクリックします。
プログラミング環境を整えるため、以下の3つにチェックを入れます。
- エクスプローラーのファイルコンテキストメニューに……
- エクスプローラーのディレクトリコンテキストメニューに……
- PATHへの追加(再起動後に使用可能)
「次へ」をクリックします。
「インストール」をクリックします。
チェックを入れた状態で「完了」をクリックすると、VS Codeが起動します。
10.2 VS Codeの日本語化
標準状態のVS Codeは英語なので、日本語化してみましょう。
(以下、画像が小さくて見づらい場合は画像をクリックすると拡大表示できます。)
初期設定ウィザードが表示されますが、これは無視していいのでMark doneをクリックします。
なお、VS Codeは頻繁にアップデートされているので、この初期設定ウィザードの表示は時々変わるかもしれません。いずれにせよ終了してかまいません。
ウィンドウ左側にある、四角が4つ並んだアイコンをクリックします。これが拡張機能を管理するツールです。
日本語化パックは拡張機能として提供されているので、拡張機能ストアから検索します。
左上の入力欄に Japanese と入力し、「Japanese Language Pack 日本語」「Microsoft」と書いてあるものをインストールします。おそらく一番上に出てくるはずです。
Installをクリックします。
右下に In order to use... というメッセージが出たら、 Restartをクリックしてください。VS Codeが再起動します。
10.3 VS CodeからSSHで接続
VS Codeが日本語になったでしょうか。
続いて、SSH関連の拡張機能をインストールします。
再び、ウィンドウ左側にある、四角が4つ並んだアイコンをクリックします。
「Remote - SSH」という拡張機能をインストールします。Microsoftからリリースされている公式のものです。
検索欄に「Remote」と入力し、SSH用のものを探しましょう。
Remote - SSH のインストールが完了すると、左端に画面と 「> <」と描かれたアイコンが表示されます。これがリモート接続のためのアイコンです。
これをクリックします。
PC上にあるSSHの設定ファイルを編集していきましょう。
画面左上の「SSH TARGETS」と書かれている部分にマウスポインタを合わせると、歯車のアイコンが出てきます。ここをクリックします。
SSH設定ファイルを選択します。
Windowsの場合 C:\Users\ユーザ名.ssh\config でよいでしょう。これをマウスでクリックします。
config というファイルが開きます。これを編集します。
- alias : 登録する名前です。わかりやすい名前なら何でも良いですが、ここでは MyRaspberryPi とします。
- hostname : Raspberry Pi のIPアドレスです。
- user : Raspberry Pi のユーザ名です。特に設定を変更していない場合、pi です。
たとえば、このようになります。
書き換えたら Ctrl+S を押して設定ファイルを上書き保存します。
すると、画面の左側「SSH TARGETS」の下に先程追加した MyRaspberryPi が追加されているはずです。
ここにマウスを合わせると、MyRaspberryPi の右側にフォルダのようなアイコンが表示されるのでクリックします。
Windows であればファイアウォールの警告が表示されるかもしれません。
プライベートネットワークにチェックを入れて、「アクセスを許可する」をクリックします。
接続先のOSを聞かれます。RaspberryPi OSはLinuxベースなので、「Linux」をマウスでクリックします。
「Continue」をクリックします。
「Enter password for ...」と表示されたら、Raspberry Piの pi ユーザーのパスワードを入力し、Enterキーを押します。
これ以降何度か聞かれることがありますが、その度にパスワードを入力してください。
以下のような画面になったら接続完了です。画面下部にコマンド入力画面が出ているはずです。
左側の「フォルダーを開く」をクリックします。
開くフォルダをフォルダパスで指定します。
おそらく標準で /home/pi/ になっているので、このままOKを押します。
「このフォルダー内のファイルの作成者を信頼しますか?」と聞かれます。
外部から入手したデータを扱う際に使用するためのもので、今回は「信頼します」で続行して良いと思います。
左側のファイル一覧をスクロールすると、先ほど作成した hello.py が見つかるのではないでしょうか。これをクリックします。
すると、右側に先ほど nano で書いたコードが表示されるはずです。
これをVS Code に内蔵されたターミナルからも実行してみましょう。
日本語キーボードの場合、Ctrl + @を押すと、ターミナル(コマンドを送る画面)が画面下部に表示されます。
TeraTermのときと同じく、以下のコマンドを実行します。
python3 hello.py
実行できているでしょうか。これでTeraTerm単体で使う必要はほぼ無くなったと言えるでしょう。
ファイルを作成してみましょう。左側のファイル一覧の上の方にマウスを持っていくと、ファイルを追加するアイコンが表示されます。
これをクリックします。
以下のようなにファイル名を入力する表示が出てくるので、ファイル名を入力します。
Pythonを示す .py が付けばファイル名は何でも良いですが、ここでは fromvscode.py としてみました。
ファイル名を入力してEnterキーを押すと、そのファイルが画面右側で開かれます。
好きにPythonのコードを書いてみましょう。まだPythonに慣れていないよという方は以下のようなprint文で十分です。
print("VS Code上で作成したファイル")
書き終わったら Ctrl+S で保存します。
このファイルをターミナルから実行してみます。
ただ、 fromvscode.py とちょっと長いファイル名にしてしまったので入力が大変ですね。
ここで使えるのが Tab キーです。Linuxはターミナルにおいて Tab キーを使うと入力補完ができます。
python3
と入力し、半角スペースまで入力してください。
ここですべてのファイル名を入力せず、先頭の一部だけ…… たとえば fr と入力しましょう。
ここで Tab キーを押します。
すると、ファイル名が補完されます。
そこでEnterキーを押すと通常通り実行できます。
ここまでで基本的な動作確認は完了です。お疲れ様でした。
作業を終わるときはVS Codeを閉じればOKです。ただし、ラズパイのシャットダウンを実行したい場合はVS Codeを終了する前に実行しておいてください。
(もちろん、VS Codeを閉じたあとにTeraTermを立ち上げて、そこからシャットダウンを実行してもかまいません。)
今後の学習の指針
この記事を通じて、基本的なセットアップ手順と、ファイルを作成してラズパイ上でPythonコードを実行するところまでは把握できたと思います。
ラズパイをフル活用するには電子工作やLinux、プログラミングの知識が必要になってきます。
それぞれカンタンなものばかりではありませんが、少しずつ身に着けていきましょう。ラズパイに関しては色々な書籍・Webサイトがあるので、それらを参考にすれば色々なものが作れるはずです。
頑張っていきましょう!
LYNCSとは?
宇宙科学総合研究会 LYNCS (リンクス)はその名前の通り、宇宙について様々な面から研究、アプローチをするサークルです。 工学分野では電子工作やプログラミングを扱い、模擬人工衛星「CanSat」の開発やドローンの開発などを行っています。プログラミング・電子工作の初心者でも興味がある方なら大歓迎です!先輩がサポートしていきます! (実際、プログラミング未経験だった1年生が、その年の終わりにはRaspberry Piなどを利用して自律走行ロボットやドローンを自作できるようになりました。)
慶應義塾大学に進学される方、在学中の方でご興味をお持ちの方は、公式Twitterやメールなどでお気軽にお問い合わせください!