にゃみかんてっくろぐ

猫か百合を見守る壁になりたい

Raspberry Piでダッシュボードを作る(2) -真っ白ダッシュボード-

f:id:no_clock:20171016214958j:plain

Raspberry Piとミニディスプレイ,各種センサを使ってダッシュボードを作ります.


今回のゴール

  • 「こんにちは」と表示する真っ白なダッシュボードを作る.

f:id:no_clock:20171018204238j:plain

Webアプリケーションとして作る

準備ばかりでは退屈なので,「こんにちは」と表示するダッシュボードを作って動かしましょう.

ダッシュボードは,スクリプト言語Rubyと軽量フレームワークSinatraを使って,Webアプリケーションとして作っていきます.とても簡単に作ることができます.

rubyインストール

$ sudo apt-get install ruby

以上.簡単です.

あるいは,rbenv*1を使うことも出来ます.ただし,rubyをビルドする時間が長いためあまりおすすめはしません(私はそれでもrbenvを使いましたが).興味があれば Raspberry Pi rbenv などで検索してみてください.

Sinatraインストール

Ruby on Railsが有名どころですが,ダッシュボードにはちょっと豪華すぎます.そこで,Sinatraという軽量なフレームワークを使います.

$ sudo gem install sinatra

インストールはこれだけです.

Rubyは,ライブラリが"gem(ジェム)"という形で用意されていて,パッケージ管理システムRubyGemsで簡単にインストール出来るようになっています.

そのRubyGemsがgemコマンドです.「RubyGemsなんてインストールしてないぞ?」と思うかもしれませんが,rubyパッケージに含まれています.

真っ白ダッシュボードの作成

いよいよ真っ白な「こんにちは」だけのダッシュボードを作ります.

app.rb というファイルを作り,下記のコードを記述します.

#!/usr/bin/env ruby

require 'sinatra'
get '/' do
  'こんにちは'
end

空行を含めてもたった6行ですが,これで準備が整いました.

ダッシュボードの起動と表示

早速起動します.chmodコマンドで実行権限を与え,app.rbを実行します.

$ chmod +x ./app.rb
$ ./app.rb
== Sinatra (v1.4.8) has taken the stage on 4567 for development with backup from Thin
Thin web server (v1.6.4 codename Gob Bluth)
Maximum connections set to 1024
Listening on localhost:4567, CTRL+C to stop

Webサーバが起動して,アクセス待ちの状態になりました(停止するときは Ctrl+C キー).

Raspberry Piでブラウザ(例えばChromium)を起動して, http://localhost:4567/ にアクセスしましょう.

f:id:no_clock:20171018204238j:plain

「こんにちは」が表示されましたか? あっという間にWebサービスが出来上がりました.

※注: app.rb内のメッセージを書き換えても,起動し直さないと反映されません.注意してください.

今回はここまで.次回以降は,デザインを整えて,ダッシュボードの部品を作っていきます.

*1:Rubyバージョン管理システム.最新版の導入やバージョンの使い分けが簡単になる