2013年1月28日月曜日

Raspberry PiでCPU温度を表示させる Python編

マニアの街 秋葉原 で夜通し開発大会こと #nighthack に参加してきた成果を・・・

Raspberry PiでCPU(SoC)の温度は /sys/class/thermal/thermal_zone0/temp を
catコマンドなどで読むことにより表示できるのですが1000分の1度単位なので40度の場合

$ cat /sys/class/thermal/thermal_zone0/temp
40000

と表示されます。


ちょっと分かりにくいのでPythonで簡単な文字列処理を加えてみました


-ここから Python-

f = open("/sys/class/thermal/thermal_zone0/temp","r")

for t in f:
    print "CPU temp:"+t[:2]+"."+t[2:5] ,

f.close()

-ここまで Python-


Cと比べてforの違いやprintの最後の","の扱いを知らず、どうしても最後に改行が入ってしまい1時間ほど悩みましたw

実行するとこんな感じ

$ python CPUtemp.py
CPU temp:40.000

Mobile Raspberry Pi のための便利ガジェットまとめ

持ち運びできるコンピュータとしてRaspberry Piを使用するMobile Raspberry Pi(以下MRP)の便利ガジェットまとめ

・バッテリー
10000mAh以上の大容量品が増えていますが
MOBILE-GARAGE TBFシリーズがオススメ

容量は選べる4種類


MOBILE-GARAGE TBF 5000mAh 【B030-2 シルバー】
MOBILE-GARAGE TBF 7500mAh 【B030-3 ブラック】
MOBILE-GARAGE TBF 10000mAh 【B030-4 ブラック】 動作確認済
MOBILE-GARAGE TBF 15000mAh 【B030-6 ブラック】




B030-4がケース入りRaspberry Piと比較して絶妙なサイズ



・WiFiドングル

Ralink系
BUFFALO WLI-UC-GNM 動作確認済
ELECOM LAN-GMW/PSP 動作確認済


・WiFi+BTドングル

WiFiチップはRealtek系 BTは?
PLANEX BT-Micro3H2X WiFiのみ動作確認済


・キーボード

USB系
HHKB Lite 2 KUH0010
SANWA SUPPLY SKB-KG3BK
中華製 小さいキーボード

BT系
ポケモンタイピングDS
LBR-BTK1
TK-FBP030BK

・ケース
RS
Raspberry Pi enclosure base 各種

adafruit


随時更新予定

2013年1月10日木曜日

Raspberry Piをハード的にいじる。 LDOレギュレータの摘出

先人のすーぱーはかーに習いLDOレギュレータさくっと摘出・・・と練習もせずRaspberry Piに半田鏝を当てるのは怖いので練習から!

練習に使うのは去年の夏に暑さで亡くなられたWiFiアクセスポイントの亡骸とスイッチサイエンスさんで買える Chipquik 表面実装部品用取り外しキット

同じようなのがサンハトヤでも買えます。
※サンハ○○は誤植ではないので悪しからず。

ちょっと硬めな低融点半田をもりもり盛ってじっくり熱すればポロッと取れます。

注意点としてはChipquikに添付のフラックスは粘性が強く部品を取り外すには良いのですがその後の処理が大変なのでオススメはしません。

さて次は本番・・・Raspberry PiのLDOレギュレータへもりもり半田を盛って・・・なかなか手強いですがなんとか摘出できました。
放熱を考慮してある基板なのでじっくりゆっくりそして基板を焦がさない様に作業するのが肝です。

もりもり盛られた低融点半田は重力で落とすと簡単に落ちますが他のチップ部品に触れないように注意!、ちょっと基板が焦げてますがこの程度ならアルコールで洗浄すれば綺麗になります。

つづく

Raspberry Piをハード的にいじる。 DC/DCコンバータを実装するには?

DC/DCコンバータに錫メッキ線の足を生やしてユニバーサル基板に乗るようになりましたが・・・本題はどうやってRaspberry PiにDC/DCコンバータを実装するか!

元々Raspberry Piに付いているLDOレギュレータのNPC1117-3.3Vはここに・・・
ピンボケ画像ですいませんorz
RG2と書かれた丸いコンデンサの右にある黒くて四角い部品です。

DC/DCコンバータとは形も違うし放熱も考慮してガッチリ付いてますね・・・
本当はここに足を生やしたDC/DCコンバータを実装できれば良いのですが簡単には行きそうに無いです・・・

Raspberry Piが発売されて半年・・・ネットの何処かに同じ事を考えてDC/DCコンバータを実装した馬鹿すーぱーはかーが居ないかと探していたのですが・・・居ました!
Reducing power consumption of a raspberry Pi


記事(コメントは必見)
Raspberry Pi power regulator transplant reduces power consumption
LDOレギュレータを剥がしてDC/DCコンバータで生成した5Vと3.3VをGPIOのヘッダーから入力していますね
これで動くとは予想外!

この方法が可能なのであればGPIOのヘッダーにある5V端子を使ってDC/DCコンバータへ入力し出力を3.3V端子に送り込めば動くはず・・・

づづく

Raspberry Piをハード的にいじる。 DC/DCコンバータの選定と実装準備

LDOレギュレータとDC/DCコンバータの違いは前回書いたとおりですが、実際どんなDC/DCコンバータ使えばいいのか・・・使えそうな条件は以下

5V入力
3.3V出力
1A以上の出力
効率は90%以上は欲しい
なるべく小さいモジュール

こんな所でしょうか?
そして最も重要なのは安くて入手性が良いこと!

高くて良い部品なら今時の通販で何処でも入手可能なのでここはRasPiの精神?に沿ってコスト重視で探してみたいと思います。

コスト重視の部品といえば・・・秋月電子!

年末の超三端子と言い最近DC/DCコンバータの取り扱いが増えているので使える物があるはず・・・と条件に合いそうな部品は以下

ムラタ表面実装DC-DCコンバーター OKL-T/3-W5N-C

スーパー3端子電源 R-78E3.3-0.5

SIMPLE SWITCHERナノ・モジュール LMZ10500


5V入力、3.3V出力の条件だとこの3つが使えそうです。

OKL-T/3-W5N-Cは出力3Aとちょっとオーバースペック
R-78E3.3-0.5は出力500mA少ない・・・
LMZ10500は出力650mAとぎりぎりっぽいですがあの小ささは酷ですw

実は別に激安DC/DCコンバータを用意していたのですが入力が8V以上と選定ミスをしてお蔵入りになってるのはさておき・・・OKL-T/3-W5N-Cが使えそうです。

会社帰りにさくっと買ってきたのですが・・・モジュールの裏側の半田面はこんな感じ


ユニバーサル基板の2.54mmピッチに合うかな?と確認したみたのですが・・・横を合わせると縦が合わずという・・・正攻法ではだめな感じです。

正攻法がだめなら邪道な方法で!

先ほどの画像の右側に写っている先っぽをちょっと曲げた鈴メッキ線で足を生やして見ました。
これで上下逆ですがユニバーサル基板に無理やり載せることが出来ます。

つづく

2013年1月8日火曜日

Raspberry Piをハード的にいじる。 3.3VのLDOレギュレーターは効率が悪い。

前回、5V1Aも喰らうRaspberry Pi(+WiFiドングル)に絶望したバッテリー駆動ですが、どうやら5Vから3.3Vを生成しているLDOレギュレーターの消費電力が怪しいです。
仮に3.3V消費電力を500mAとした場合、LDOレギュレーターが消費する電力は以下になります。

(5V-3.3V)x500mA=0.85W

Raspberry Pi Model Bの公称消費電力が3.5Wなので約24%もLDOレギュレーターが消費している計算になります。
これはもったいない!

据え置き用のRaspberry PiであればUSB電源やACアダプタの容量を確保すれば問題はないのですがバッテリー駆動の場合、消費電力は駆動時間に直結するため無駄な電力消費は抑えたいところです。

5Vから3.3Vを効率良く生成するためには・・・DC/DCコンバータが良さそうです。
DC/DCコンバータの効率は80%から高いものでは95%以上とモバイル機器にはぴったりでLDOレギュレータと比較すると以下のようになります。

DC/DCコンバータ
5V→3.3V効率は約90%以上

LDOレギュレータ
3.3V/5V=0.66 から 約66%

LDOレギュレータからDC/DCコンバータに変更すると66%→90%以上!なんと24%以上効率上がってお買い得!(家電の広告みたいですねw

つづく

Raspberry Piをハード的にいじる。 序章

あけましておめでとうございます。
冬コミ(当サークル落選)も終わりお正月も終わり・・・
堕落した年末年始も終わり・・・
orz

年末に実家へ帰ったところやっとRSからRaspberry Piが届いていたので年末年始とコミケ以外はソフトウェア的にいじって楽しんでいたのですが・・・何かつまらん!というか、何で仕事でもないのにWiFiの検証してるんだ俺・・・
※どうやらCLIで設定するiwconfigは使えずGUIでないとWiFiの接続はできないっぽい?

と、年末年始でやっとWiFi接続やらVNCやら一通り遊ぶ環境は用意できたのですが、素のハードののままで遊ぶのは楽しくない!
というわけで所詮数千円のボードなので壊す覚悟でハード的にいじってみようかと思います。

・メニュー1
RCA(コンポジット)とEthernetポートいらなくね?

・メニュー2
何か怪しいハードを繋げたい。

・メニュー3
バッテリーで動かしたい。

ぱっと思いついたのがこの3つ・・・

メニュー1に関しては現在手に入るModel BではEthernet付きなのでEthernetを無くして安くなるModel Aを待てば良いな~と、wktkしながら回路図を見ていたのですが・・・
EthernetチップのLAN9512って”USB Hub"兼用なの?!
という残念な事が発覚してしまいModel Aを買う気が無くなりました。
WiFiトングルを刺すので最低USBは2ポート欲しい・・・
RCAとEthernetは何時か外す。
そしてModel Aもどきにする・・・

メニュー2の怪しいハード・・・Arduinoがサックリ繋がるわけで怪しいハードを追加するにはぴったり。
GPIOポートもあるにはあるのですが・・・OSから操作するのはちょっと大変そうだし単純なIOは少なくてSPIやI2Cを使うようです。
誰か拡張基板作らないかな~w(他力本願

で、最後のメニュー3ですが、元々USBのMicroB電源なのでモバブで動かせば良い。
しかし!こいつWiFiドングル込みで1A(仮)も食いやがる!
※ずっとトングルだと思ってたらドングルなのね・・・恥ずかしいw

またまた回路図とにらめっこしてた訳ですが・・・どうやら5Vから3.3Vの生成に使われてるレギュレーターが無駄に消費してる気が・・・

つづく