Tag Archives: Python

Permalink to single post

Livestreamer

ストリームいじってるプログラムを書いたりしていたんだけど、なんかいろいろあるストリーミングサービス (ustreamとか) のURLなげたらうまい具合に探ってもらって簡単にストリームを抜き出せるライブラリとかあったら便利そうじゃね?

とかおもってたけどまぁフツーにありました。

コマンドラインから利用できて、あとPythonでできてるのでPythonのライブラリとして使用できる。あと使って無いけどWindowsでも動きそうなかんじ。大変素晴らしい。

25個ぐらいのサービスに対応してるようです。さすがにニコニコとかは無い。

Permalink to single post

F-PLUG (消費電力モニタ) をLinuxで使ってみた

大地震からも日が経ち、節電という言葉もだんだん聞かなくなりつつあるなか皆様いかがお過ごしでしょうか。

なんて偉そうな事言いつつ今回のはあまりそれとは関係ないんですが、前々から会社のいろいろな機材 (サーバーとか) で使ってる消費電力のモニタとかやりたいなぁと思っていたりして、ワットモニターUSBとか、スマートコンセントとか電力計の類をいろいろ調べてたんだけど、先週とある電気量販店でF-PLUGなるよさげなものを発見した。

F-PLUG

F-PLUG 近影

  • 一口 15Aまで
  • Bluetooth (RFCOMM)
  • この手のものにしては比較的安め (約5000円)
  • 電力に加えて、温度、湿度、照度まで図れる
  • リアルタイムの電力計測が可能、また一時間ごとの積算値もF-PLUG側で記録される

とまぁこんな感じです。これを使って、いろいろとデータをとってLinuxサーバーでモニタすればなにかいいことが起きるに違いないということでこれを購入。ソフトウェアは公式にはどうやらWindows用しかないようだったけど、とりあえずBluetooth (RFCOMM) ならLinuxでも比較的簡単に何とかなるだろうという目算。

現在値取得までは比較的容易に…

とりあえず/dev/rfcomm0を使えるようにするまでの接続はググって出てきたところ (→Rasperry PiにF-PLUGを2個繋いでみた 等) を参考に。まぁ普通のRFCOMM機器の接続手順です。

あとどうやらOBDNマガジンなるものにはfplug_for_linuxなるソフトウェアが掲載されているようで、とりあえずそれを使えば現在値の取得 (電力値[W]と温度・湿度・照度) まではできた。

しかし機能が足りない

リアルタイムでのいろいろな値をモニタするものやりたかった事だけど、一番やりたかったのは積算の消費電力量 [Wh] を出すこと。上記のものではそこまでの機能は提供されていない。

まぁ一秒ごとに電力値を計測して足していけば積算電力もだせるだろという話もあるけど、なんか無駄な感じするし、そもそも二秒おきぐらいにしか計測できないので誤差がけっこう出る気がして気持ちが悪い。

ということで作る。上記は簡単な小物作りには面倒なC言語で作られていたので、結局全部Pythonで書き直すことにした。

幸いなことに、(というかなぜか?) データの仕様がまるっと公式ページ (F-PLUGメッセージ一覧) に掲載されていた。正直かなり見づらい上に若干不正確  (というか舌足らず?) だったりもするけど、こういうものがあるだけでかなり助かる。なんかもともと業務用のなんかの製品だったりするのかな。

まぁということでひたすらこのコードを打ち込む。

成果物

とりあえず制御用ソフトウェアをせっかく作ったので、現段階までにできたものを公開しときます。

まだUIはありません。作ってません。pyfplugモジュールにある FPlugDevice クラスでF-PLUGの操作ができます。ほとんど全ての機能が使えると思います。

ちなみにDebian 7とGentoo Linux (ともに64bit) で動作確認してます。

ところで精度は・・・?

それは分かりません。かなりざっと不真面目にしか確認してないです。

  • 温度: 壁掛け時計の数値が23℃の時、F-PLUGの計測値は27.0℃
    • マシンに近かったり、F-PLUG自体たぶん発熱してるから高めになった?
  • 湿度: 壁掛け時計の数値が55%の時、F-PLUGの計測値は湿度は42%
    • 温度が高い分湿度が下がってるのかも
  • 照度はほかに計測機器がないから不明
  • 電流:
    • うちの安物クランプメーターで1.4 (A) 前後のとき、F-PLUGでは170 (W) 前後
    • 同様に10.90 (A)のとき 1063 (W)
    • 電圧100 (V)、力率1.0として計算すると、それぞれ21%、2.5%ほどの差になる
    • しかしそもそもこのクランプメーターも怪しい

これじゃ (精度計測としては) 参考にもならないですね。ただまぁこの感じからすると大きく外れた値はないので、とりあえずつくったプログラムはある程度正しく動いてるんでしょう。

他の所の報告ではそもそも個体差がけっこうたったりして、それなりの誤差があるようです。

怪しげなクランプメーター

怪しげなクランプメーターで計測するの図


今後…

  • かんたんなコマンドラインのUIつくる
  • Zabbixとかで使ってみる
Permalink to single post

色々制作

niconico.py

ニコニコ動画というかニコニコ実況のPython向けライブラリを書いた。というよりは、ニコニコ実況の解析プログラム的なものかいてて、それの副産物のような感じではあるけど。

とりあえずniconico.py公開リンク

LoafCMS(仮)

なんか写真とか動画とかも含めて適当に管理すれば、それなりのページができるようなCMSがほしいなーと思っていて、それを実現すべくLoafCMS(仮)なるものを書いています。

が、しかしデザインとか何度も考え直していて一向に進まず。困ったものだ。

使えるレベルになったら公開したい。

で、それを使ってsunaga-labを構築したいなぁとか思っていたのですが、なんからちがあかないので、とりあえずwikiだけ構築してしまうことにした。

URL: http://www.sunaga-lab.net/w/

コンテンツがなにもないのも寂しいので、niconico.py関連だけ書いておいた。

http://www.sunaga-lab.net/w/doku.php?id=niconicoと
Permalink to single post

python2.5

Gentooで適当にemerge worldしてたら

なんかpythonが2.4からpython 2.5にアップデートされたらしくて、pythonつこうてるアプリケーションが一通り動かない。どうやらモジュールが一通りインストールされていないらしい。

「No module named gtk」とかいろいろなモジュールに対してメッセージがでる

調べたらpython-updaterというものが使えるらしい

せっせとemergeしとったのに不要だったか。。。

Permalink to single post

glade+PyGTKがウルトラ便利な件

gladeキャプチャ

GUIのプログラムを作るとき、コントロールを視覚的にはっつけたりできるのは非常な便利なわけですが

あんまりそのようなツールを知らず、やっぱりMS様の.NETには敵わないななんて思ってたわけですが

gladeとPyGTKでプログラムを組んでみたら非常に楽。これはいい。

とうとう念願だった、Linuxでの満足なGUI作成環境が見つかった。かも。

時間あるときにチュートリアルでもこのページに組むかな