トップ «前の日記(2013年05月23日) 最新 次の日記(2013年06月07日)» 編集

xiphioの備忘録


2013年06月02日

_ [computer] Raspberry Pi 2台目購入、温度ロガーの為の設定の備忘録

ふとRSのサイトをみると、 Raspberry Piが潤沢に有るではありませんか。USB温度計のTemperは2個買ってあったので、それでまたついつい注文。以下、先に書いたことの重複になるけど、ここは備忘録なので、RaspberryPiと格安USB温度センサーにて温度ロガーにする手順を、もう一度まとめて箇条書き。

まず、http://www.raspberrypi.org/downloadsからRaspbian “wheezy”をダウンロードして、Windows上で"win32diskimager"にてイメージを書き込む。初期のログイン名とパスワードは、"pi"と"raspberry"。

通電して立ち上げ。最初に自動的に立ち上がるコンフィグでは、今後GUIも使わないしSSHで繋いで操作するので、設定するところは取りあえず以下の所だけ。
Advanced Options のUpdete を実行
Expand Filesystem を実行
Internationa....(以下略)のTimezoneを、Asia => Tokyo
Advanced Options のSSH を Enable

$ sudo raspi-config
で再設定可能。画像の説明

ネットワークのアドレスをstaticで設定するには、/etc/network/interfacesを書き換え。
ifaceでdhcpを設定している行を削除して、以下を追加
============================
iface eth0 inet static
address 192.168.X.X
netmask 255.255.255.0
gateway 192.168.X.X
============================

あとで違うネットに持ってゆくと、mailが送れなくなってしまった。名前解決が出来ていないのが原因で、/etc/resolv.conf にネームサーバーを設定し直すとOK。この値は、どうやら最初のブートの時にDHCPサーバーからもらってきて設定するみたいで、気がつかなかった。環境が変わると設定し直す要があります。

この後は、teletermからSSHで繋いでログインし、操作する。まず、温度測定のためのプログラムの為にライブラリを取ってきて
$ sudo apt-get install build-essential libusb-0.1-4 libusb-dev

gitも必要なのでインストール
$ sudo apt-get install git

そして温度計測のソースコードを取ってきます
$ git clone https://github.com/bitplane/temper.git

後はコンパイルするだけです
$ cd temper
$ make
$ sudo ./temper

上記で動作確認が取れたら、temper.cを目的に合う様に書き換えてコンパイルします。

レポートやアラートのmailを送るために、まずexim4をインストール。
$ sudo aptitude install exim4

Gmailを使ってmailを送るために、まずexim4の設定(対話形式です)
$ sudo dpkg-reconfigure exim4-config
(1)SMTP,fetchmail で受けるの項を選択
(2)"localhost"
(3)"127.0.0.1"
(4)未設定
(5)未設定
(6)"smtp.gmail.com::587"
(7)NO
(8)NO
(9)/var/mailのmboxの項を選択
(10)NO
(11)未設定

次に設定ファイル/etc/exim4/passwd.clientに、ユーザ名とパスワード等を以下のように記入
=============================
gmail-smtp.l.google.com:ユーザ名@gmail.com:パスワード
*.google.com:ユーザ名@gmail.com:パスワード
smtp.gmail.com:ユーザ名@gmail.com:パスワード
=============================

設定反映
$ sudo update-exim4.conf

ちゃんとmailを送れるかテスト
$ cat ./temper.c | mail -s testmail xxx@xxxx.xxx

ついでに、FTPも無いので、gFTPをインストール
$ sudo apt-get install gftp
これで、よそからプログラムを持って来れます。

計測と1日分のログを送るにはcronを使います。さすがにcronは起動済みなので編集するだけです。
$ crontab -e

0,15,30,45 * * * * (温度測定スクリプト)
とすれば、15分おきに温度計測を実行してくれますし、
5 0 * * * (計測ログレポートスクリプト)
としておけば、毎日0時5分に1日分のログをmailで送ることも出来ます。