はじめに
昨今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を読めなかったので、リーダーも合わせて購入
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がうまく焼けてません。
暫く待っていると、一気にデスクトップまで開きます。
初期設定
パスワード変更
まずは、ネットワークにつなぐ前にパスワードを変更しておきましょう。
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を実行
- これを設定しないと、デフォルトのパーミッションが極小なので直ぐにファイル容量がいっぱいになってしまいます。
- 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の勉強をしていきたいものです。