記事検索
月別アーカイブ
アクセスカウンター

    タグ絞り込み検索

    JSON

    2011年04月30日09:47TEPS: ピークシフト for FreeBSD

    2011/04/28 13:54:57
    @ssci 東京電力電力供給状況APIを使ってThinkPadのピークシフト機能を東京電力のピークタイムに連動させるWindowsアプリ、TPTPコネクトをリリースしました。 http://bit.ly/fibisi 機種限定で非公式ですが、よろしければ紹介いただければ幸いです。

    TPTPコネクトのツイートをみて「お、JSONで提供されるのか、なら簡単に実装できるかも?」とおもって久しぶりに突貫工事で作ってみた。

    ターゲットはデスクトップとしても使っているFreeBSD。ThinkPadとちがってバッテリはもってないので電力を抑えるだけでピークシフトではないが、ピーク時の電力を抑えることでピーク時間帯以外の計算負荷が上がると考えれば、消極的ピークシフトといえないこともない。使える言語はC/C++/shなので、JSONをパースするライブラリは仕事でも使ったことがあるpicojsonの一択で、電力制御をするpowerdをいじるにはshがいいよなと考えて、

    1. fetchで東京電力電力供給状況APIをたたいてデータ取得(JSON)
    2. JSONをshスクリプトの代入文に変換 (picojsonをつかったjson2sh)
    3. 周波数を落とすかどうか判定
      1. ピーク時間帯なら最小電力消費に
      2. そうでなければほどほどに
      3. 計画停電がなさそうなら普段通りに (いいのか?)
    4. /etc/rc.conf.d/powerdに設定を書く
    5. /usr/sbin/service powerd restartで変更反映

    こんな感じのshスクリプトをでっち上げた。これを10分おきとかそのくらいでcronでたたけばok。

    ちなみに名前のTEPSはTokyo Electric Power Saverの略ってことで。

    2011/04/29 02:56:01
    jsonを読み込んでshスクリプトに変換するプログラムと、TPTPコネクトもどきforFreeBSDをつくってみた。

    https://bitbucket.org/koie/json2

    https://sites.google.com/site/tptpconnect/

    TPTPの作者さんからツイートをいただいたので、仕様で理解できなかったところを聞いてみた。

    2011/04/29 07:27:44
    仕事早すぎ!です。 RT @koie jsonを読み込んでshスクリプトに変換するプログラムと、TPTPコネクトもどきforFreeBSDをつくってみた。 https://bitbucket.org/koie/json2

    2011/04/29 11:26:50
    @emomon8 TPTPコネクトはとても参考にさせていただきました。saving=trueのときだけピークシフトするようにしてみました。つくったのは「常に当日をベースとして」だけなのですが「自動設定1」と「過去」で過去の情報を使う意図がよくわからなかったです。

    2011/04/29 11:47:05
    .@koie なるほど、savingにも着目するのはありですね。過去のデータを使う意味は、当日の東電のデータにあるピークタイムに完全に頼っていいか分からなかったからです。後から見た実績とは必ずしも一致しませんし。であれば、前日の実績から判断するのもありではないかと。(続く)

    2011/04/29 11:56:05
    .@koie (続き)で、前日のデータを見るようすると、休日明けの平日に休日のデータを見るのもおかしいので、その前の平日を見に行くようにしたと。実際、当日のデータを使う日と過去のデータを使う日をどういう風に組むかとパターンは幾らでもあると思います。(続く)

    2011/04/29 12:04:45
    .@koie (続き)あの自動設定1と2はそのパターンに対する自分なりの提案です。まあ実用上は当日だけでいいのでは、と思わないでもないです。自分も初めはそのつもりでしたから。後は、設定の自由度をどれだけ持たせるかという話ですね。自由度が大きい方がうれしいですから。



    このエントリーをはてなブックマークに追加