特に目的はなかったけどRaspberry Pi を買ったので、ついでに温度センサーも買って、淡々と部屋の温度を記録することにしました。
Raspberry Pi購入まで
購入したのはRaspberry Pi Type B with 8GB SD card
です。$52.28でした。
昔より性能も値段も高くなったような。。。
Features
•8GB SD card pre-installed with the Raspian operating system
•Broadcom BCM2835 700MHz ARM1176JZFS processor with FPU and Videocore 4 GPU
•GPU provides Open GL ES 2.0, hardware-accelerated OpenVG, and 1080p30 H.264 high-profile decode
•GPU is capable of 1Gpixel/s, 1.5Gtexel/s or 24GFLOPs with texture filtering and DMA infrastructure
•512MB RAM
•Boots from SD card, running a version of the Linux operating system
•10/100 BaseT Ethernet socket
•HDMI video out socket
•2 x USB 2.0 sockets
•RCA composite video out socket
•SD card socket
•Powered from microUSB socket
•3.5mm audio out jack
•Raspberry Pi HD video camera connector
•Size: 85.6 x 53.98 x 17mm
うっかりSDカードありモデルを買ってしまいましたが、今見たらSDカードなしモデル との差分はたったの3ドル。そうなんだ。
今はすごく買いやすくなっていて、注文から10日程度で届きました。
Raspberry Piのセットアップ
HDMIケーブルとモニタを接続し、USBポートにキーボードとマウスを装着。SDカードを挿入し、LANケーブルも接続。最後にiPhone用コンセントを付けたMicro-USBケーブルをコンセントに。
あっさりセットアップ画面になりました。簡単すぎて物足りないw
ちなみにMicro-USBポートは最初の画像の一番手前にあります。始め、分からなかった。
他にもよく見ると、ボード上にコンデンサとか付けられそうな拡張スロットが。ハンダごて持っている人は楽しそうです。
初期アカウントはpiが用意されています。パスワードはraspberry。
時刻をUSTからJSTにしました。/etc/timezoneをAsia/Tokyoに書き換えて、以下のコマンドを実行すればOK
% sudo /usr/sbin/dpkg-reconfigure -f noninteractive tzdata
IPアドレスを固定にしました。以下を参考にしました。
固定IPアドレスの設定|hiramine.com
ユーザーアカウントも適当に作成。
% sudo /usr/sbin/useradd -k /etc/skel -m masutaka
ログインシェルをzshにしたり、sudo権限を与えたり、sshをパスワードなしでも可にしましたが、面倒なので割愛します。Chef-soloとか使おうとしましたが、今回は動かすことが目的なので敢えて無視。
セットアップが終わったら、LANケーブルと電源ケーブルだけ残して、全部外しました。
パッケージとファームウェアを最新に
# パッケージを最新に
% sudo apt-get update
% sudo apt-get upgrade
# ファームウェアを最新に
% sudo rpi-update
# リブート
% sudo reboot
以下が参考になりました。
Raspberry Piで音を鳴らす - 頼りないニモニック
温度センサーの装着
購入したセンサーはこれ。
Linux用ドライバは付いていないので、GitHubで公開されているtemperを使います。
% mkdir ~/tmp && cd ~/tmp
% git clone git://github.com/bitplane/temper.git
% cd temper
% sudo apt-get install libusb-dev
% make
% make install
% sudo chmod u+s /usr/local/bin/temper
インストールされるのは/usr/local/bin/temperだけです。無事測れました。(摂氏26.667725度)
% temper
04-Dec-2013 15:08,26.667725
以下がそのまんま参考になりました。
Raspberry Piと980円USB温度センサーで北海道の冬をロギングしてみる|徒労日記
GrowthForecastに淡々と記録
5分毎に部屋の温度を測定して、GrowthForecast[2013-08-15-1] に記録していくことにします。
以下のようなシェルスクリプトを用意して、
#!/bin/bash
temperature=`/usr/local/bin/temper | awk -F, '{print $2}'`
curl -F number=$temperature http://example.com:5125/api/home/thermometer/temperature
cronに設定するだけ。
*/5 * * * * /home/masutaka/thermometer.sh
記録されてる!
ちなみに、GrowthForecast-0.70からnumberにfloatを指定できるようになりました 。0.70以前の場合、numberに指定できるのはintだけです。
起動オプション–enable-float-numberも追加します。
% carton exec – perl growthforecast.pl –data-dir . –enable-float-number &
置き場所を考え中。Air Macが温かいので、温度が高めなのですよね。あと埃対策も兼ねて立ててます。ケース買おうかなあ。てか、他に何やろう..?