Raspberry Pi用のUPS基板を購入しましたのでご紹介します。
ラズパイサーバー構想
Djangoの勉強用サーバー
最近はWEBアプリ(Django)の勉強をする時間が増えてきまして、その流れでWEBアプリの実行環境であるサーバーに興味が出てきました。いわゆるバックエンドとい言われる領域です。
Django自体の勉強ではローカル環境で動作させるため、それほどバックエンドのことを意識することがありません。本番環境として動かす場合でさえHeroku等を使っているとバックエンド側のことはあまり考えなくても動いてくれます。それでも段々とサーバー側のことも勉強しておくべきだろうと思いまして、勉強用にLinuxのサーバーをたててDjangoを動かす環境を作ることにしました。
ラズパイをサーバーにする
こんなとき役立つのがRaspberry Piですね。低消費電力でゴリゴリ実験的にLinuxを動かすにはちょうどよさそうです。学生時代に購入して以来、まともに使っていなかったRaspberry Pi 2 Model Bを勉強用Linuxサーバーとして使うことにしました。
予期せず電源が落ちると困る
勉強用ラズパイサーバーですが、Linuxが動くパソコンには変わりないため、稼働中に停電等で予期せず電源が落ちることは防ぎたいです。Djangoを動かしている際に落ちるとさらに困ります。
ということで、Raspberry Pi向けの手軽なUPSを探すことにしました。
Raspberry Pi向けUPS製品
RPi UPSPack Standard V2
Amazonを探してみるとちらほらUPS基板がありまして、「RPi UPSPack Standard V2」という商品を買ってみました。
赤い電源制御基板とバッテリーがセットになっています。Raspberry Piとドッキングするためのスペーサーとボルト類も付属していました。
バッテリーは4000mAhです。
写真では、基板とバッテリーを結ぶケーブルを改造しています。バッテリー側で芯線が切れてしまったことと、長さが短いためケーブルを延長してハンダ付けしました。
マイクロUSBコネクタで主電源を入力し充電します。電源出力は基板上の2つのUSBホストコネクタから行えます。別途USBケーブルでRaspberry Piに接続して給電します。主電源とRaspberry Piの間に挟む構成です。GPIOからの給電等は行わず、単純なUSB接続です。
充電状態とバッテリー残量を基板上のLEDで確認できます。
主電源が落ちた場合は、自動的にバッテリー電源に切り替わります。
Raspberry Piの稼働時間は?
バッテリー駆動によるRaspberry Piの稼働時間を測定してみました。
OSはDjango用のサーバー用途にUbuntu Serverを使用しました。
測定中のRaspberry Piの動作状態(負荷)は、Raspberry Pi 2 Model B単体で稼働時間定期記録用のスクリプトを動かす程度です。
この状態で3回計測したところ、約9時間稼働しました。
この程度稼働できれば、主電源が落ちたあとに安全にシャットダウン可能と思います。
主電源断後の自動シャットダウン
こちらのUPS基板にはUARTの出力ピンがありまして、MacにUSB-UART変換モジュールを使って出力を読んでみたところ、バッテリーの残容量等の情報が送られてきました。
この通信内容をポーリングして、主電源が落ちたことを検知できれば自動的にシャットダウン可能と思います。
こちらはまだ試していませんが、後々試してみたいと考えています。
Raspberry PiのGPIOに外部回路をつないで主電源電圧をそのまま監視する方が簡単そうな気もします。
ドッキングしてケースを装着
UPS基板はRaspberry Piとドッキングできるのですが、バッテリーは基板にブラブラくっついただけの構造ですのでまとまりが悪いです。
このため、UPS基板をRaspberry Piにドッキングして、3Dプリンタで簡易ケースを自作してみました。
緑色のLEDがバッテリー残量を示すLEDですが、これがなかなか眩しい光量です。
UPS基板との接続は単純にマイクロUSBケーブルで接続するだけですので、ケーブルの取り回しが課題でしょうか。短いケーブルを使う方がいいですね。
Raspberry Pi向けUPS製品紹介
実はここで紹介したRPi UPSPack Standard V2は現在Amazonで在庫切れで、他の日本のショップでも取り扱いが無い様で、購入が難しいです。
下記に他のUPS製品をご紹介します。
機会をみつけてこれらも試してみたいと思います。
コメント