Raspberry Pi3 の初回セットアップまでにやったこと

はじめに

昨今IoTが騒がれていて、個人でもお手軽にIoTをいじれると言う意味で、ずっと触ってみたいと思っていながらRaspberry piですが、ひょんなことから手に入れる事が出来ました。

今日は、そんなRaspberry piを初回セットアップするまでにやったことを備忘録として記しておきます。
※本稿で扱うRaspberry piは Raspberry Pi3 Model B を取り扱います。
※Raspberry pi以外での作業は全てMacで行ってます。

Raspberry Piを使うにあたって買ったもの

本体

Raspberry Pi3 Model B ボード&ケースセット 3ple Decker対応

まずはこれがないと話になりませんね。(と言うかAmazonで買えるようになっていたのに驚き…一昔前は個人輸入だったと思うので)

ACアダプター

Raspberry Pi3はMicroUSBで電源供給するのですが、推奨が2.5Vの電力が必要との事なので、通常のiPhone等だと1Vなので起動できなくなるかもしれません。(Webを見る感じだと2V以上あれば安定稼働するっぽいです。
かく言う私も、2.5Vの電圧のACアダプターなど持っていなかったので購入。
(AndroidやiPhoneの高速充電を謳ってるやつがあれば十分動くと思います

ついでに、高電圧でも問題ないmicro USBも合わせて購入(24h稼働するかもしれない事を考えたら、ここから火事になるリスクもありますしね。

micro SDカード

これもWebを見る限り相性があるみたいで、64G以上の物を使うとなんかメンドイ事が云々が記載されており、少しでも面倒の事が起きたら空きてしまう私は、動作事例のあった

https://www.amazon.co.jp/gp/product/B015J44R0U/ref=oh_aui_detailpage_o01_s00?ie=UTF8&psc=1

これ、32GだけどClass10だしいっかなーと思い購入。

後、使っているMacbook Proがmicro SDを読めなかったので、リーダーも合わせて購入

Transcend カードリーダー USB3.0

USBキーボード / USBマウス

購入したRaspberry Pi3はwifi対応をしているものの、初回のセットアップにはキーボード/マウスが必要との事で泣く泣く購入。
(セットアップの時しか使うつもりがなかったので、そこら辺で1000円以内に買える安いやつ


これで必要なパーツが揃ったので、早速Raspberry Pi3をセットアップしていきます。

Raspberry Pi3 セットアップ

OSの準備 (RASPBIAN)

ダウンロード

Raspberry Pi3はSDカードにOSを焼いて、それを本体にぶっ刺して利用します。
なので、最初にRaspberry Piを動かすためのOSを焼く作業を行います。

RASPBIANのダウンロードサイトでOSをダウンロードします。

ここでLITEかそうじゃないかで分かれていますが、GUI/CUIの違いなだけなので、コマンド入力が苦で無ければどっちでも良いかと。
(私はOSのGUIに触れてみたかったので、通常版を落としました。

SDカードのフォーマット

ここから先の作業は、MacのディスクユーティリティやターミナルコマンドでOSイメージを焼いた際に何度も失敗したので、他サイトでも推奨されているやり方を記載してます。
コマンドではうまく動作しなかった為、ここでは非掲載にしてます。

SDカードのフォーマットは、Macのディスクユーティリティでも良いのですが、

SD Memory Card Formatter - SD Association

上記ツールを使えばフォーマッタの種別等を気にしなくて最適な物でやってくれるので便利です。

OSをSDに焼く

Etcherを使って焼きます。
起動して、ダウンロードしてきたzipを放り込んで、SDカードを選択したら焼くだけです。あら便利(コマンドでやったら何度も失敗したので、ツールで実施をお勧め)

起動

SDカードを本体にぶっ刺して、電源を入れる

電源はmicro USBをぶっ刺しただけで入ります
(最初凄い勢いで電源ボタン探した(;・∀・)

うまくSDカードが認識したら、起動時にSDカードを読み込んでいるサインとして、赤や緑のランプが点滅します。
赤がただ点灯しているだけだと、恐らくSDカードの読み込みが出来ていないか、SDカードのOSがうまく焼けてません。

暫く待っていると、一気にデスクトップまで開きます。

f:id:project-unknown:20171112021020j:plain

初期設定

パスワード変更

まずは、ネットワークにつなぐ前にパスワードを変更しておきましょう。

Raspberry Pi上でターミナルを開き、以下のコマンドを入力します。

$ passwd
Changing password for pi.
(current) UNIX password: # <- 今のパスワード(デフォルトはraspberry)
Enter new UNIX password: # <- 新パスワードを入力
Retype new UNIX password: # <- 確認のためもう一度入力
passwd: password updated successfully

wifi設定

画面右上にwifiを設定するアイコンがあるので、そこからキャッチしているルーターを選んでいつものwifi設定。

ssh 設定

Raspberry Piはデフォルトではssh設定がoffになっており、このままだとリモートでアクセスが出来ません。
(特にRaspberry Piをディスプレイに移すんじゃなくてサーバっぽくリモートでCUI操作する場合は死活問題です)

ssh接続するためには、以下の場所に空ファイルを作るだけでOKです。

sudo touch /boot/ssh

ここで設定を反映させるために、再起動します。

sudo reboot

再起動したら、以下のコマンドからRaspberry PiのIPアドレスを調べます。

ifconfig

これをメモって、別のPCから以下のコマンドでssh接続が出来るか確認

ssh pi@(先程調べたIPアドレス)

これで、SSH接続が出来るようになっているはずです。

raspi-configの修正

Raspberry Piの最低限の設定を行います。 ここでは、言語設定, ネットワーク設定, タイムゾーン, SDカードのパーミッションの変更を行います。

以下のコマンドをターミナルで入力します。

sudo raspi-config

青い画面が立ち上がると思うので、キーボードで以下の項目を選択していきます。

  • 4のLocalization Setting
    • 1 Change Localeをja_JP.UTF-8を有効化
    • 2 Change TimezoneをAsia/Tokyoに設定
    • 4 Change Wi-fi CountryをJP Japanに設定
  • 7 Advanced Options
    • A1 Expand Filesystemを実行
      • これを設定しないと、デフォルトのパーミッションが極小なので直ぐにファイル容量がいっぱいになってしまいます。

ミラー参照先を日本にする

$ sudo vi /etc/apt/sources.list

デフォルトで入力されているものの先頭を「#」を付けてコメントアウトし、以下を末尾にでも追加します。

deb http://ftp.jaist.ac.jp/raspbian/ jessie main contrib non-free rpi

パッケージ周り

apt周りのupdate

$ sudo apt update
$ sudo apt upgrade
$ sudo apt install rpi-update
$ sudo rpi-update

vim導入

個人的にこれがないと話にならんので即導入。
(エンジニア失格ですが、どうもviが慣れない…

$ sudo apt-get install -y vim
$ sudo update-alternatives --set editor /usr/bin/vim.tiny

自分用の管理者アカウントを作っておく

デフォルトが「pi」ユーザなので、このまま使っておけば問題は無いかもですが、Webに公開する時等は、このユーザ名がセキュリティホールになったりしそうなので、管理者権限を持ったアカウントを追加し、基本はそれを使うようにしておきます。

アカウントを追加

$ sudo adduser {追加したいアカウント名}

追加したアカウントに管理者権限付与

$ sudo visudo

開いたファイルに以下のように編集(全て末尾に突っ込んでOK)

{追加したアカウント}  ALL=(ALL) NOPASSWD: ALL
pi ALL=(ALL) NOPASSWD: ALL

次にrootの外部からのログイン認証を出来なくしておく

$sudo vi /etc/ssh/sshd_config

開いたエディタで以下を編集

#PermitRootLogin yes
PermitRootLogin no
...
#PasswordAuthentication yes
PasswordAuthentication no

# 以下は末尾に突っ込む
Match Address 192.168.*.*
  PasswordAuthentication yes

ここまでやったらsshを再起動します。

sudo /etc/init.d/ssh restart

再起動したら、念のためにssh接続できるか確認してみてください。

最後に

いやーなんだかんだでセットアップはやはり時間がかかりますね(なんだかんだで3時間うんうん唸ってた(;・∀・)

ここから時間を見つけては、センサー等を継ぎ足してIoTの勉強をしていきたいものです。