RaspberryPiをいじる。  

ラズパイってなんですか。  

情報系の話とか、情報科にいるとたまーに聞くんじゃないでしょうか。"ラズパイ"という言葉。
これです、本名「RaspberryPi(ラズベリーパイ)」

Pi.png

カードサイズの小さなコンピュータ・ボードです。もちろんLinuxが動き、RaspberryPi用の"Raspbian"というOSが公式からダウンロードできます。
USBポートx4/有線LANポート/ジャック/HDMIなどなどのI/Oが充実しており、ふつーにちっちゃいパソコンです。すごい...すごくない?
ロボットに組み込んで使うもよし、小さなサーバーにするもよし、ちょっとした工作にも気軽に使える粋なやつ。

実はこれ、あと2台ほどプロ研の棚の中に眠ってます。
せっかくイイモノあるので、「こういうことできるよ!('∀')」ってするために書くことにしました。

今回やること。 -RaspberryPiのセットアップ  

パソコンつったって、画面もキーボードもマウスもないじゃない!

RaspberryPi(以降ラズパイ)で開発したり弄ったりする際には、別にHDMI接続のディスプレイや、USBポートにキーボード等を挿す必要があります。

でもディスプレイ余ってない! 新しく買うのもヤダ!

そんな時にはPCからラズパイにネットでリモート接続して使いましょう。お手持ちのパソコンでできます。

ここでは、ラズパイを弄って遊んだり、何か作ったりするためにOSのインストールから初期設定までを書いておきます。

環境/つかったもの。  

PCMacOSX Mavericks10.9.4
RaspberryPi2ModelB
64GBMicroSDストレージ用(プロ研にあります)
USBケーブル/ACアダプターラズパイの電源用(プロ研にあります)
LANケーブル有線接続のため
Thunderbolt EthernetアダプターAirにはLANポートがないので

今回はMacの場合の手順です。

Raspbianのインストール  

プロ研に置いてあるラズパイには既にRaspbianが入ってるとかないとか聞きますが、何らかの原因で再インストール/自分でイチから始める場合用にインストールについても書いておきます。 備忘録的な。

まずRaspbianのイメージファイルを落としてきましょう。  

公式から最新版がダウンロードできます。

が、すごく遅いです。1時間以上かかります。
ここは日本ですので、日本サーバーのミラーから落としてきましょう。
http://ftp.jaist.ac.jp/pub/raspberrypi/raspbian/images/
たくさんのバージョンが置いてありますが、今回は一番下の最新版をダウンロード。

MicroSDカードに書き込みます。  

まずはガーッとSDをフォーマットしてください。キレイキレイ。

SDにイメージを焼くソフトはEtcher等ありますが、今回はOSXなのでターミナルを使用して済ませてしまいましょう。もちろんソフトで焼いても問題ありません。

ターミナルを起動して、以下を叩いてマウントされているSDを探します。

$ df -h

ファイルシステムの一覧が表示されます。容量や、未接続の時に叩いてみたりしてSDカードを探してください。
df.png 環境によって違いますが、どうやら/dev/disk1s1のようです。

このデバイスをアンマウントします。

$ diskutil unmountDisk /dev/disk1s1

failedと出る場合や、画像のようにボリューム名がある場合はこちらを叩きましょう

$ diskutil unmountDisk "/Volumes/5"

ダウンロードしておいたzipを解凍し、出てきたimgファイルをSDカードに書き込みます。

$ dd if=~/2017-09-07-raspbian-stretch.img of=/dev/disk1s1 bs=1m conv=sync

ディレクトリのパスは環境によって変えてください。
うまくいかない場合は上記の書き込みソフトを使用してみましょう。

これでOSのインストールは完了ですが、Raspbianは最近セキュリティが固くなったようで、ssh接続をするためにちょっと一手間必要になっています。
焼いた後のSDはルートフォルダに"boot"というフォルダがあるはずです。
その中に、"ssh"という名前のファイルを作成しておきましょう。以下はターミナルでの作業手順です。

mountを使ってSDカードを探します。

$ mount
../略/..
/dev/disk1s1 on /Volumes/boot

見つけたら、cdでbootに移動しましょう。

$ cd /Volume/boot

touchでsshファイルを作ります。

$ touch ssh

lsで作成されたことを確かめたら、作業は終わりです。

無事に完了したらアンマウントして、ラズパイの裏側のソケットに差し込んでおきましょう。

起動と有線接続  

ラズパイに起動スイッチはありません。電源ケーブルを繋ぐと起動します。
赤いLEDが電源、緑のLEDがSDカードへのアクセスランプです。電源を投入したら、起動するまで1分ほど待ちましょう。

WiFiに繋がせるためには一旦ラズパイに入って設定やらなんやらする必要があります。そのため、まずはLANケーブルで有線接続します。
PCとラズパイをLANケーブルで直結しましょう。
PiLAN.png

繋いだら、Macの方でインターネット共有を行います。Macが繋いでいるWiFiを、ラズパイの方にもEthernetを通じて共有するという形ですね。
LANcon.png

ラズパイのアドレスを探します。ターミナルでifconfigを叩きます。

$ ifconfig
../略/..
bridge100: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
	options=3<RXCSUM,TXCSUM>
	ether 4a:d7:05:eb:da:64 
	inet 192.168.3.1 netmask 0xffffff00 broadcast 192.168.3.255
../略/..

どうやら192.168.3.1から192.168.3.255の間にラズパイはいるようです。
arpを使って絞り込みます。

$ arp -a
../略/..
? (192.168.3.2) at b8:27:eb:1d:b6:5 on bridge100 ifscope [bridge]
../略/..

見つけました。192.168.3.2ですね。
ラズパイの初期ID/パスワードは pi/raspberry です。sshで接続します。

$ sudo ssh pi@192.168.3.2

初めての接続なので鍵の話とかされると思いますが、yesで進めます。

pi@192.168.3.2's password:

ここでraspberryと入力してEnterを押しましょう。「ユーザーがpiのままだと危ないから、パスワードとか変えてね」というメッセージが出ます。

pi@raspberrypi:~ $

このようになれば成功です。ラズパイに入ることができました。

初期準備  

Raspbianの最新版を入れたとはいえ、いろいろアップデートしなければなりません。
まずapt関連を最新にしましょう。

$ sudp apt-get update

待ちます。終わったらアップグレードもしておきます。

$ sudp apt-get upgrade

これが割りと長かったりしますが、レッドブルでも飲んで待っておきましょう。
そして、テキスト編集をラクにするためにVimを入れます。いいですか、

Vimを入れるのですよ。

emacsとか選んじゃダメですよ。Vimですよ、いいですか、Vimを選ぶのです。

$ sudo apt-get install vim

これでVimと共に在ることができます。

パスワード等、丸裸な状態なのでユーザー設定を行いましょう。 まずはrootのパスワードを設定します。

$ sudo passwd root

設定したいパスワードを2回入力。
exitと叩いてpiユーザーに戻っておきます。

新しい自分用ユーザーを作りましょう。

$ sudo adduser 新規ユーザー名

設定したいパスワードを2回入力すると、FullNameやPhoneNumberなんかを聞いてきますが、そういう質問には全てEnterだけで大丈夫です。

グループを設定します。とりあえずpiと同じにしましょう。

$ groups pi

ずらっとpiが所属しているグループが表示されます。
全て与えましょう。

$sudo usermod -G 表示されたグループ(カンマ区切り) ユーザー名

これで新規ユーザー作成は終わりです。piは削除するなり残すなりして、次回からは作ったユーザーでログインしましょう。

$ ssh ユーザー名@アドレス

もう少しセキュリティを高めるために、sshポートの番号も変更します。初期状態は22です。

$ sudo vim /etc/ssh/sshd_config

Vimでは、モードを切り替えて編集します。
"i"を押すと、INSERTモードになり入力/削除ができます。INSERTモードの状態でEscを押すと通常モードに戻ります。
通常モードの時に、":w"と入力してEnterを押すと上書き保存がなされます。
同じく":q"と入力するとVimを終了します。":wq"と入力すると上書き保存して終了です。
また、編集を破棄して終了する場合は":q!"といった風に"!"を付けてやりましょう。Vimの詳しい使い方については割合します。

Port 22

この22の部分を変更します。ただし、49152〜65535の間にしてください。
変更したら:wqで上書き保存してVimを終了しましょう。
sshを再起動させます。

$ sudo /etc/init.d/ssh restart

okと出たら、exitでログアウトして変更したポートで接続し直します。

$ ssh ユーザー名@アドレス -p 変更したポート番号

無事接続できれば成功です。

あと少しです。  

そろそろ疲れてきましたね、僕もとっても疲れました。
でももう少しです。がんばりましょう。

ラズパイの環境設定をするために以下のコマンドを叩いてください。

$ sudo raspi-config

こんなのが出てきます。
PiCon.png ↓キーで4 Localistation Optionまで行き、Enterで選択します。
I2のChange Timezoneを選びます。
TZ.png Asiaを選び、
&ref(): File not found: "asia.png" at page "pg_koneta/RaspPiCam"; ズラーッとしたまで行ってTokyoを選択しましょう。
TK.png

タイムゾーンが日本に設定されました。
⇢キーを押してFinishしましょう。
fini.png

ひとまずおわり!  

これでだいたいの設定は終了です! お疲れ様でした。
次回はWiFiへの接続を行って、無線でPCとリモート接続できるようにしていきます。