ひとりぶろぐ

価値ある情報をユーザー視点で発信するブログ

約3,300円で買えるLinuxパソコンRaspberry PiをMacで使う

      2015/12/21

IMG 0398

RSコンポーネンツから42.00米ドルで買えるLinuxパソコンと言いながら、その実ARM CPUを搭載したマイコンボード……にしては豪華すぎる仕様のRaspberry Piが届いたので使ってみました。

(続きは[Read More]から)

Raspberry Pi(ラズベリーパイ) Raspberry Pi(ラズベリーパイ)
Raspberry Pi | An ARM GNU/Linux box for $25. Take a byte! Raspberry Pi | An ARM GNU/Linux box for $25. Take a byte!

マイコンボードとして清貧に使う

Raspberry PiにはHDMIポートが付いていますが、うちにはHDMIポート付きのモニタが一台も無いし、元よりRaspberry Piをパソコン的な用途として使う気は全く無いので、モニタ無し、母艦Macな環境で、高機能なマイコンボードとして使うべく、Lチカをやったところまでのメモです。

HDMIポートが無くても、以下のような変換ケーブル、変換アダプタを使うと、DVI-Dでも使えるということです。VGAに変換するのはコストが嵩むので現実的ではないでしょう。

電源はmicroUSBから供給します。5V/700mAだということです。MacBook Pro with Retina DisplayのUSB(3.0なので供給能力は900mAあるはず)から取りました。電源の取り回しはよいですね。

iPhoneライフを支えるプッシュ通知サーバとしてもいいかも

Raspberry Piは世界中で売れまくりだそうです。

家庭内ミニサーバみたいな感じで使えるだろうし、ネットワークを使う組み込み用途でもいいでしょうね。

乾電池駆動のような超省電力を求められる用途では辛いでしょうが、パソコンみたいな扱いができるマイコンがありがたい僕みたいな人も多いんじゃないでしょうか。

Rubyが普通に動くので、TwiProwl、IMAProwlのように、プロセスを常駐させておかなければならないネットワーク監視/プッシュ通知用途でもかなりいけていると思います。daemonアリのVPSを借りるよりは、電気代は随分安く付くのではないかな。

→とりあえずTwiProwl / IMAProwlをインストールしてプッシュ通知サーバとして使ってみています。IMAProwlではGmailのプッシュ通知をし、それをProwl側でSparrow for iOSにリダイレクトして、間接的にSparrow用のプッシュ通知にしています。

The Weight @northeye: TwiProwl The Weight @northeye: TwiProwl

Raspberry Pi上で動かしたRuby(ruby 1.9.3p194 (2012-04-20 revision 35410) [armv5tel-linux-eabi])からTwitterに書き込んだテスト。

RubyGemsでTwitterのgemをインストールして、といった具合に普通に使えます。

激しいクローリング(RAM256MBなため)を必要としなければ、Twitter用のbotサーバとしてもいいと思います。gcc、libxml2、libxsltをインストールしたら、Ruby Mechanizeも動きました。

Raspberry Piをサーバとして24時間無停止運転させた場合の電気代

Raspberry Piの電源、5V、700mAとして、

P=V*I=5*0.7=3.5Wh。

1時間に0.0035kWhの消費。1時間の電気代を22円とすると、
0.0035*22=0.077

1時間に0.077円。24時間、31日とすると、月額で約57円。

単純な比較はできませんが、自宅に置いたRaspberry Piでできる範囲の役目を代替する分には、最安VPSの1/8ぐらいのコストですかね。

http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1133525821

OSインストール

Raspberry PiにはOSが搭載されていないので、OSをインストールします。

OSをインストールするには、本体に備えられたSDカードソケットに挿すSDカードが必要です。

僕は確か500円ぐらいで買った2GBのmicroSDカードにアダプタをかませて使いました。

SDカードにOSをインストールする作業は、Mac上でやりました。

Downloads | Raspberry Pi Downloads | Raspberry Pi

Raspberry Piの公式で用意されている三つのディスクイメージの中から、”simplicity and full control to the end user.”だという触れ込みのArch Linuxを選択。知人の @Sakurina 君オススメです。

ダウンロードしてzipを取得し、解凍してimgを得ます。

Mac (OS X)向けに、Raspberry Pi用のOS入りSDカードを作るためのRasPiWriteというスクリプトを作ってくれた方がいらっしゃるので、それを利用するとSDカードへの書き込みは簡単です。

サイトが無くなってしまったので、一応アップロードしておきます(ライセンスはGPL)

ダウンロード: RasPiWrite-1.15

RasPiWrite Script | Exaviorn RasPiWrite Script | Exaviorn

ダウンロードしたRasPiWrite-1.15.zipを解凍、Raspberry Pi用のSDカードをMacに挿入した後でraspiwrite.pyをルート権限で実行。

$ cd ~/Download/RasPiWrite
$ sudo python raspiwrite.py

「Now insert your SD Card, press enter when you are ready…」と聞かれるので、enterキー押下。

「Please enter the location you believe holds the SD Card:」と聞かれるので、確認の後enter。

Filesystem      Size   Used  Avail Capacity  Mounted on
/dev/disk2s1    94Mi   34Mi   60Mi    37%    /Volumes/Untitled
---------------------------------------------------------

I believe this is your SD card: /dev/disk2s1 is that correct? (Y/n)

こんな風に聞かれるので、間違いなければyと入力してenter。

「Do you wish to Download a Raspberry Pi compatible image (choose yes if you don’t have one) (Y/n):」と、イメージのダウンロードまでやっちゃうか? と聞かれましたが、僕は既に別途ダウンロードしていたのでn、enterで。

「Please locate the disk image (.zip, .img.gz, .tar.bz2 (.tar.bz2 only working with QtonPi distros currently):」と、イメージの場所を聞かれたので、「/Users/ユーザ名/Downloads/archlinuxarm-13-06-2012.img」と入力してenter。

指示に従い、しばらくすると書き込み完了! ddコマンドについて知る機会を得ないまま終わってしまいました。

起動

OSを書き込んだSDカードをMacから取り外し、SDカードソケットに挿す。

IMG 0399

Ethernetケーブルを挿す。

IMG 0401

最後に電源供給用のmicroUSB(MacBook Proから電源供給)を挿して起動開始。電源スイッチはありません。

IMG 0402

しばらくするとDHCPサーバで(BOOTP?)でIPアドレスを取得してネットワーク上に現れるので、ルータのDHCPのテーブルを確認。

DHCP クライアント
ホスト名     IPアドレス     MACアドレス     リース時間
alarmpi     192.168.1.106     xx:xx:xx:xx:xx:xx     1 day 00:00:00

alarmpiというホスト名が付いていました。Macのターミナルからsshでログイン。

$ ssh root@alarmpi

以下のように聞かれるのでyesで。

The authenticity of host 'alarmpi (192.168.1.106)' can't be established.
RSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:79:28:79:18:0a.
Are you sure you want to continue connecting (yes/no)? yes

パスワードはroot。つまり、ユーザ名root、パスワードもrootですね。

Xが勝手に上がってしまうのかなと思ったら、そうでもないみたいです。

そもそも、このArch Linuxのイメージには、デフォルトではX入ってないみたい?

思惑通りでした。

とりあえず、あっという間にLinuxサーバとして機能するようになりました。

Rubyのインストール

Arch Linuxのパッケージ管理に使うコマンドはpacmanです。

パックマン。こういうセンスいいですね!

まずはデータベースの更新。一応、システムの更新もしておきます。

# pacman -Sy
# pacman -Syu

手始めにRubyインストール。

# pacman -S ruby

Webサーバ

ついでにWebサーバもインスコしてみました。

# pacman -S nginx
# rc.d start nginx

http://alarmpi/ にアクセスするとnginxのスタートページが見えました。

Skitched 20120722 204810

パッケージを探すのは「-Ss キーワード」

pacman -Ss ruby

pacmanについては、ここに日本語の解説がありました。

Pacman (日本語) – ArchWiki Pacman (日本語) - ArchWiki

USB端子に挿したmicroSDの認識

USB端子が二つ付いているので、リーダに挿したmicroSDを装着。

IMG 0411

# ls /dev/sd*
/dev/sda  /dev/sda1

/dev/sda1が増えているのでマウントしてみます。

# mount /dev/sda1 /mnt
# cd /mnt
# ls
LOST.DIR	  upload.rb
clockworkmod	      opensource  upload_test.rb
DCIM		      PRIVATE
DEVPROF		      SD_VIDEO

読めました。この辺をオートでやりたいっすね。

もう一つのUSB端子に無線LANのAPになれるドングルを挿したら、
自作AirStashができそうですね。無線LANも動いているそうです。

Raspberry PiのGPIOでLEDをチカチカさせる

Raspberry Piには、もちろんGPIOが付いています。

LEDをつないでチカチカさせましょう。

ここに詳しく書いてあります。

RPi Low-level peripherals – eLinux.org RPi Low-level peripherals - eLinux.org

いつものLチカ用基板におでましいただく。

IMG 0404

チュートリアルではGPIOの4番を使った例が多いので、それに倣います。

GPIOの4番は、SDカードソケットを挟んでmicroUSBとは逆サイドの端にある「P1」というシルク印刷のあるコネクタにあります。

IMG 0405

「P1」とある位置にあるのが1番ピン、そこから数えて4番目がGPIOの4番です。GNDは、2列目の3番目。

富豪マイコンらしく、Lチカ(LEDチカチカ)にもRubyを使うことにします。

IMG 0406

ltica.rbというスクリプトを書きます。

#!/usr/bin/ruby

system('echo "4" > /sys/class/gpio/export')
system('echo "out" > /sys/class/gpio/gpio4/direction')

1000.times do |v|
        system("echo #{v%2} > /sys/class/gpio/gpio4/value")
        sleep 1
end

実行。

# ruby ltica.rb

LEDチカー!

IMG 0407

ということで、Raspberry Piもマイコンボードっぽく(?)使えることが分かりました。

ものすごく地味な試行でしたが、Raspberry Piは本来、USBキーボード、USBマウス、HDMIのディスプレイ(変換ケーブルでDVIにも)を繋ぎ、Quake 3を動かす実力のある、かなりハイスペックなものです。

だがしかし、ネットワーク機能を内蔵したマイコンとしてもかなり安いので、今後様々な用途で使われていくことになるでしょうね。

Webサーバとしても速攻で機能しますし、シェルスクリプトからでも触れるGPIOをコントロールするのは簡単です。赤外線リモコンをつないだら、外出先からスマフォでエアコンの電源を入れる、などということもすぐできますね。

Raspberry Pi Type B 512MB
Raspberry Pi Type B 512MB
posted with amazlet at 13.04.29
RS Components Ltd
売り上げランキング: 310
Raspberry Pi Clear Case
Raspberry Pi Clear Case
posted with amazlet at 13.04.29
Raspberry Pi
売り上げランキング: 1,835
Raspberry Piユーザーガイド
Eben Upton Gareth Halfacree
インプレスジャパン
売り上げランキング: 1,137

 - iPhone, Raspberry Pi, Ruby