ハードウェア初心者がRaspberryPiでエラーを知らせる何かを作ってみる(前編)

この記事は株式会社トレタアドベントカレンダー23日目の記事です。 昨日のserk_kこんな私でもニューラルネットワークをスクラッチで実装できました(30歳 男性)が大分スパークしたので緊張してます。ディープラーニングは、ずっと勉強しようと思ってまだ出来ていないので、これをきっかけに年末年始の休暇でちょっとチャレンジしてみようと思います。

今日は、ハード初心者の自分がググりまくりつつ1からRaspberryPiでエラー検知用の何かを作ってみた道のりの記事になります(前編)。

概要

普段は自分はサーバーサイドエンジニアとしてAPIの開発をしています。開発しているプロダクトでエラーが発生した際にはslackに流れるようになっているのですが、他のノティフィケーションも同じ場所で同じの濃淡で表示されるので、いつか見落としてしまうのではないかビクビクしています。そこで前からRasbperryPiで何か作ってみたいとは思ってたので、エラーが発生した時に音を鳴らす何かがあれば確実にエラーに気がつくのではないかと思い作ることにしました。 ざっくり説明すると、プロダクトでエラーが発生したら、RaspberryPiの上で動くアプリのエンドポイントを叩き音を鳴らすといったシンプルな仕組みです。

この記事では、RaspberryPiと関連パーツの購入からOSのインストール、そしてrubyの環境構築までを前編として紹介します。

必要なもの

  • RaspberryPi本体(最新の3を購入しました)
  • USB接続のキーボード
  • USB接続のマウス
  • MicroSDカード 16GB(+アダプター)
  • USB電源アダプタ(+マイクロUSBケーブル)
  • USB接続のマウス
  • ディスプレイ(+HDMIケーブル)

これらを、秋月電子通商 秋葉原店で購入しました。秋月電子通商では入り口にRaspberryPiのコーナーがあり、とりあえず基本的なものはそこで一通り揃います。すぐ近くの千石電商にもRaspberryPi関連のパーツがおいてあるのでこちらでも特に問題はないかと思います。

ディスプレイとUSB接続のマウスは家にあったので購入しませんでした。ただ、何も考えずに買ったMicroSDカードにアダプターが入って無く家中を探す羽目になったので購入の際はアダプターがついているか必ず確認するようにしましょう。

設定

とうことで、必要な物が揃ったら早速設定に入っていきます。

OSのダウンロード

まずは、購入したMicroSDカードにOSをダウンロードします。RaspberryPi用のOSは公式ホームページDOWNLOADSにおいてあります。

f:id:Muhammad:20161223213021p:plain

いろいろググりまくった結果とりあえずNOOBS(LITEじゃない方)をダウンロードしました。ダウンロードが完了したらZIPを解凍します。

次にMicroSDカードをフォーマットします。今回はMacbook Proを使ってるので、アダプターに装着してMacbook Proに装着します。 macの場合だとデフォルトでDiskUtilityがあるので、FormatをMS-DOS(FAT)にしてEraseをするだけです。

完了したら、先程解凍したNOOBSの中身をMicroSDカードに移します。

この辺でハマってしまって大分時間を使ってしまったのですが、必要なのはNOOBSの中身だけです。NOOBSのフォルダー自体を移動してしまうと動かないので注意しましょう。必要なのは中身だけです。

RaspberryPiの組み立て

組み立ては凄くシンプルで、OSの入ったMicroSDカード、キーボード、デスプレイ、マウスを装着します。そして最後に電源のマイクロUSBケーブルを装着すると起動します。 電源のマイクロUSBケーブルはMicroSDカードの後に装着するようにしてください。

f:id:Muhammad:20161223213737j:plain

OSのインストール

インストールは、特にハマるポイントはなく画面の指示通りの進むだけです。一個だけ難点は、大分時間がかかることですかね。 インストールが完了すると、普通にインターネットが使えたりして、何か嬉しくなります。最初は英語のみなのでもし日本語にしたい方は色々調べてみてください。

rubyのインストール

最初は自分がいちばん慣れているrubyを入れてみます。 デフォルトで2.1.5が入ってたのですが、とりあえずrbenvを使ってrubyの最新安定版の2.3.3を入れてみます。

rbenvをgit cloneします。

$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv

git cloneが完了したら.bashrcに下を追記します。

$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc"
$ echo 'eval "$(rbenv init -)"' >> ~/.bashrc

.bashrcを再度読み直しします。

$ source .bashrc

ruby-buildをgit cloneします。

$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

完了したらRubyをインストールします。

$ sudo rbenv install 2.3.3
$ sudo rbenv rehash

完了したら使用するバーションを2.3.3にして完了です

$ rbenv global 2.3.3

注意点としては、rubyのインストール、すごーーーーーく時間がかかるので容赦しておいてください。 依存パッケージがなかったりして途中で失敗すると心折れそうになりますが、我慢して進みましょう。

railsのインストール

railsのgemをインストールするだけです。

& gem install rails

ということで、RaspberryPi上でrubyrailsの環境構築が完了しました。

emacsのインストール

実際にコードを書くためには当たり前ですが何かすらのエディターが必要です。デフォルトでvimが入ってるのですが、自分はemacsの方が慣れている(vimは閉じ方ぐらいしかわかりません。。。)のでemacsを入れてみます。

GNUからソースコードのダウンロードします。

$ wget http://gnu.mirrors.linux.ro/emacs/emacs-24.5.tar.gz

解凍します。

$ tar -xzvf emacs-24.5.tar.gz

解凍したディレクトリに移動します。

$ cd emacs-24.5

makeファイルを作ります。

$ ./configure

makeします。

$ make

インストールします。

& sudo make install

これでemacsのバージョンを確認して24.5であれば無事完了です。

前編では、RaspberryPiと関連パーツの購入からOSのインストール、そしてrubyの環境構築まで紹介しました。 後編では実際にエラーを検知した時に音を鳴らす部分の作成を紹介する予定です。