IT

2016年03月31日

Raspberry Piで電流計・電力計を作る

amp2週間ほど前に思いついたRaspberry Piで自宅の電力計を作ろう作戦、海外出張から帰ると注文してた部材が届いていたので早速組み立て開始。すると意外とあっさり成功しました。あっけなさすぎてやりがいが今ひとつです。まずは物理的なところですが、分電盤の単相三線ブレーカにクランプセンサーを取り付けます。今回はお手軽にCTT-10-CLS-CV50を使いました。1個3000円で2個6000円です。このセンサーは変換器内蔵なのでCV50だと電流50Aの時に5Vを出力します。15Aだと1.5Vというわけ。単純なクランプセンサーのみだと交流の場合積算して力率考えて・・・とややこしいですし、自分で電流変換器作るのもパーツがたくさん必要になっちゃうのでこの変換器内蔵センサーはとっても便利です。そしてこの出力をA/Dコンバータに入力してあげます。実際には3線式なので2個のセンサーの合算値が実際の電流値、消費電力量になります。

そして2個のセンサーの出力をA/Dコンバータに入れるわけですが、たまたま手元にあったICはMCP3008です。これは8ch入力ですが今回センサーは2個なのでMCP3002とかでもOK。1個200円くらいです。そしてこのA/Dコンバータに電源を供給しますが、供給電圧がデジタル変換の基準になります。夫婦2人のうちはブレーカーが30A契約なのでセンサーに30A流れると3V出力になり、基本的にはそれ以上の電圧にはならないはず。というわけでこのICにはRaspberry Piの3.3V出力を供給しました。3.3V給電の場合、3.3V入力の時のA/Dコンバータ出力値は10ビットのMAX値=1024となります。もし30A流れているとセンサー電圧は3Vとなり、A/Dコンバータの出力は1024/3.3*3=930となります。実際にはRaspberry Piの3.3Vに誤差があると結果もずれますのでそこは後で校正することにして、とりあえずはA/Dコンバータの出力を保管するようにします。ネットワーク屋大得意のRRDを使います。データは5秒毎に取ることにして一応10年分のデータが保管できるようにします。そこで書いたPythonコードがこれです。タブは消えてるので補完して読んで下さい。

#!/usr/bin/env python
import spidev
import time
import subprocess
if __name__ ==("__main__"):
adc=spidev.SpiDev()
adc.open(0,0)
for i in range(11):
buf = adc.xfer2([1,((8)<<4),0])
a1 = ((buf[1]&3)<<8)+buf[2]
buf = adc.xfer2([1,((9)<<4),0])
a2 = ((buf[1]&3)<<8)+buf[2]
cmd = "/usr/bin/rrdtool update /home/meter/amp.rrd N:"+str(a1)+":"+str(a2)
subprocess.call( cmd, shell=True )
time.sleep(5)
adc.close()

このコードを毎分cronで実行し、5秒ごとに2つのセンサからのデータを取得してRRDに格納します。そして取得したデータをPNG出力します。グラフ作成は慣れているPerlで書きました。横軸のスケールを変えつつ複数グラフを出力するコードになっています。電源2系統の電流値を積み上げグラフにし、見た目にもちょっと気を使って線と塗りつぶしを両方使っています。

#!/usr/bin/perl
$rrdtool = "/usr/bin/rrdtool";
$rrdfile = "/home/meter/amp.rrd";
$pngfile = "/var/www/png/";
$graphoption = "--font \"DEFAULT:7:/home/meter/MEIRYO.TTC\" -E";
$graphoption = "$graphoption --lower-limit 0 -T 1 -g --units-exponent 0";
$height = 150;
@width = ( 800, 800, 800, 800, 800 );
@timescale = ( 5, 60, 600, 3600, 86400 );
@xgrid = ( "--x-grid MINUTE:2:MINUTE:10:MINUTE:10:0:%R",
"--x-grid MINUTE:15:HOUR:1:HOUR:1:0:%H時",
"--x-grid HOUR:2:HOUR:12:HOUR:12:0:%a%H時",
"--x-grid HOUR:12:DAY:1:DAY:1:86400:%e%a" );
($sec,$min,$hour,$mday,$mon,$year,$wno) = localtime(time);
$tmax = 1;
if ( ( $min % 10 ) == 0 ) {
$tmax ++;
if ( $min == 0 ) {
$tmax ++;
if ( $hour == 0 ) {
$tmax ++;
if ( $mday == 1 ) {
$tmax ++;
}
}
}
}
for ( $t = 0 ; $t < $tmax ; $t ++ ) {
$pngfilename = "$pngfile$timescale[$t].png";
$timewidth = $width[$t] * $timescale[$t];
$rrdcmd = "$rrdtool graph $pngfilename $graphoption";
$rrdcmd = "$rrdcmd $xgrid[$t] --rigid";
$rrdcmd = "$rrdcmd -h $height -w $width[$t] --end now --start end-$timewidth\s";
$rrdcmd = "$rrdcmd DEF:LL1=$rrdfile:L1:LAST CDEF:LA1=LL1,3.223,*";
$rrdcmd = "$rrdcmd DEF:LL2=$rrdfile:L2:LAST CDEF:LA2=LL2,3.223,*";
$rrdcmd = "$rrdcmd AREA:LA1#A0FFA0 STACK:LA2#A0A0FF";
$rrdcmd = "$rrdcmd LINE1:LA1#00AF00 STACK:LA2#0000FF";
`$rrdcmd`;
}

タイムスケールの違うグラフを5個描くスクリプトです。ちなみにグラフの単位はわかりやすいW(ワット)にしました。あとはHTMLファイルを作ってグラフを表示し、自動更新もかけるようHTMLヘッダに記述します。結局必要なモジュールはrrdtoolとapache2くらいでしょうか。そうそう、crontabで自動実行の設定もします。毎分実行です。

* * * * * /usr/bin/sudo /usr/bin/python /home/meter/amp.py
* * * * * /home/meter/amp.pl

あとはRaspberry Piを分電盤の中に放り込みます。小さいので壁の穴と分電盤の周囲の隙間に収まってしまいます。電源は空きブレーカからとりました。ここは電気工事士の資格が必要かもしれません(当然私は持っていますが)。分電盤のカバーを外して空きブレーカからVVFケーブル出してコンセントプラグをつけて、USBアダプタつないでRaspberry Piに給電します。Raspberry PiにはUSB WiFiをつなげておけば、あとは半永久的に動いてくれます。つないだブレーカーがRaspberry Piの電源スイッチになりますので万一ハングアップしても再起動がとても簡単。ブレーカーを落としてまた上げればOK。良いシステムですね。分電盤のカバーを閉めると、外からは全く見えずいい感じです!ちなみにカバーを閉める際に漏電遮断器のスイッチに触ってしまい、間違えて家全体が停電しました。嫁が「食洗機が止まった〜!どこまで進んでたかわかんない〜!」と騒いでましたが、まぁ大きな問題ではありません。うちはガス暖房ということもありそんなに冬は消費電力大きくないのですが、夏とかにどうなるか楽しみですね。約1時間ほどでできた工作(材料費は2万以下)ですが、なかなか良いRaspberry Piの使い方ではないかと思います。

kenjiz at 23:23|PermalinkComments(0)TrackBack(0)

2016年03月26日

北京出張

北京ダック一昨日から2泊で北京出張に行ってきました。初日の朝のJAL便で北京入りしたわけですが、朝目が覚めてメールを見たら機材変更で2時間遅延の連絡・・・二度寝しました。で、家を出て羽田から北京まで4時間のフライト。入国も税関も問題なく、送迎に来てくれた事務所の女の子と合流して迎えの車に乗って北京市内へ。予想通りの大渋滞で建国門まで1時間以上かかりました。で、ひとまずオフィスに顔を出して日本から来た出張者と上海から来た出張者と合流。ネットワーク作業はちゃちゃっと済ませ、私の仕事は現地入り後3時間ほどですべて完了です。全く楽勝ですね。

で、夜は北京の所長がアレンジした北京ダックの店へ行きました。なかなか豪勢でオープンキッチンになっている作りのレストランで、大勢が待っていましたが予約していたのですんなりテーブルへ。まぁ・・・やはり私は中国料理はダメな感じですが食べれそうなものだけちょいちょいつまみました。なんだかんだ言って食べ過ぎたのかもしれませんが、ちょっとお腹が微妙な感じです。2日目はホテルで仕事しつつお昼頃オフィスへ。この日は出張者たちはみんな外出だったので残った事務所の子たちが四川料理の店に連れて行ってくれて、麻婆豆腐や青椒肉絲やら、私の食べやすいものいろいろとオーダーしました。そして夕方ホテルに戻って・・・気づいたら爆睡。目が覚めたらすでに深夜で、見事に夕食食べ損ねました。

そして今朝、8時発の帰国便なので5時頃起きてシャワーして6時にチェックアウトしタクシーで空港へ。行きとは違って週末の朝は道路がガラガラ。25分ほどで空港到着。チェックインしたらインボラアップグレードで1列目!ただ残念ながら北京発の食事はマズくあまり食べられずに羽田に帰国。夕方約束があったので速攻で家に帰ってまたお出かけです。あっという間の北京出張でした。今回、PM2.5にビビっていたのですが全人代のためになんと青空。中国は環境すら意のままにコントロールしようとするんですね。やはり現地に行かないと分からないこともいろいろとあります。

kenjiz at 23:33|PermalinkComments(0)TrackBack(0)

2016年03月18日

Raspberry Piで積算電力計を作る

Raspberry Pi
NHKで整理整頓コメディー「わたしのウチには、なんにもない。」をやっていますけど、あそこまで極端でなくても部屋がきれいというのは良いものです。で、オフィスもものを減らそう運動を勝手にはじめて、とりあえずPCを1台処分しました。サイネージ用にPCを1台置いていたのですが、よく考えたらRaspberry Piが1台あれば十分じゃないかということで、置き換えたわけです。見事にちゃんと動いてくれていて何の問題もありません。ただ、Raspberry Piを単なるPC代わりに使うのもなんか味気ないですよね。やっぱりGPIO使わないと。ということで個人用にもう1台購入して、自宅でいじくりまわし始めたわけです。

LEDや抵抗なんか買ってみて、あと今はブレッドボードというのがあって半田付けなんかしなくても簡単に回路を組めるんですよね。で、Webサイトを参考にしつつPythonで簡単にプログラム組んでみると、あっさり動作。へー、これは面白いですね。CDS光センサを使って明るさが変わるとブザーが鳴る、とかいうのを作ると、手をかざすだけで音が出たりします。で、これで調子に乗ったわたくしは、自宅の積算電力計をRaspberry Piで作ることにいたしました。RRDtoolでグラフ書いたり、自動更新のWebサイトにリアルタイムの消費電力を表示させるのが第1ステップです。まずはセンサに何を使おうかネットで検索してみますが、意外にも情報少なく、みなさん単純なCTL-10-CLSとかでやってるんですよね。交流は電流が行ったり来たりするので、瞬間の電流値を見ただけでは電力量はわかりません。あるサイトではC言語使って毎秒数百回のサンプリングをしていました。でもこれだとデータ量膨大だし、SDカード酷使したらすぐ使えなくなりそうですよね。あとは、平均値整流型電流変換回路を自分で組んじゃってる人もいました。ダイオードだ抵抗だコンデンサだとそろえるの面倒・・・ということでわたくしの選択は、クランプセンサと電流変換器が一体になったCTT-10-CLS-CV50を使うことにしました。ちょっと値は張りますが手間を考えたら格安です。あとはA/DコンバータをやらせるICを調達。全部で1万円は超えますが2万円はかかりません。これで電力量記録してWeb経由で公開できるわけですからタダみたいなものです。既製品買ったら数十万は行きますからね。全部部品届いたら早速組み立てたいと思います。

kenjiz at 23:04|PermalinkComments(0)TrackBack(0)

2016年03月07日

スティックPC

StickPC一度は試してみるべきと思っていたスティックPCを買ってみました。予想通りの小ささで、本体にはHDMI端子、USB端子3つ(1つは充電用)、SDカードスロット、そして電源ボタンしかありません。早速すべてつないで電源を入れてみると、あら完全に普通のPCと同じです。OSはHome Editionなので業務利用は難しいですが、家庭用には十分ですね。Wi-FiもBluetoothも内蔵していて、しかも価格は1万円以下。なんということでしょう。ネットを見たりするには十分です。USBハードディスクつなげれば、家の中でストレージとしても使えますし、電源入れっぱなしでも音もせず消費電力もたかが知れていますから、使い道次第では結構便利そうです。とりあえず1つ持っておけば何かに役立つかもしれません。

kenjiz at 23:58|PermalinkComments(0)TrackBack(0)

2016年03月01日

SIMフリースマホ

Priori3S最近、MVNOとかSIMフリースマホとか流行ってるわけですが、昨年から発売された大手キャリア端末はSIMフリー化が可能なため今後さらに増えていくものと思います。維持費用も格段に下がるため、わたくしもひとつ検証してみることにしました。検証用なので安いもの・・・ということで選んだのは、FREETELのPriori3S LTEというモデル。2万以下で買えちゃってデュアルSIM対応。まずはドコモのWiFiルータのMicroSIMをさしてみてAPNを設定すると、問題なく通信可能。ただしなぜかLTEではなくて3Gでの接続になってしまいます。そしてもう一つはMVNOのOCNモバイルONEのNanoSIM。こちらもAPNの設定で無事につながり、画面にはdocomoの文字も表示されます。

大手キャリアのスマホ料金は月額7000円オーバーが相場ですが、MVNOなら利用量にもよりますが月額2000円以下ですみます。SIMフリー端末を2万円で調達しても、数か月で元が取れる計算。それこそ家族が多かったりすると家族で毎月数万円も違いが出てきますよね。会社だと法人で相対契約とかしているでしょうから、たとえばうちの会社はiPhone6Sは無償提供+通話料+パケット料+各種オプション代込みで月額4000円台なわけですが、内線通話機能が不要であればMVNOで全然良い感じです。固定電話代はもう下げられるところまで下がっていますが、モバイルはまだまだ削れそうですね。社用携帯を今後どうしていくか検討したいと思います。

kenjiz at 23:28|PermalinkComments(0)TrackBack(0)

2016年02月15日

Let's Note SZ5

Let's Note SZ5わたくしの上司が持ち歩いているLet's Noteですが、もう購入から5年以上経っていてスピードが遅いのを我慢して使っている模様・・・。ということで買い換えてもらいました。常にPCを持ち歩いていてとにかく軽いのが良い、ということなので、SZ5をチョイス。約850gという軽さで、届いたときは流石に驚きです。ほんと中身がすっからかんに思えるくらいの軽さ。バッテリーを装着しても全然大したことがありません。NECも軽量モデルをそろえていますが、DELLやlenovoは1kg切りのクラムシェルがありませんよね。世界的にみると軽量モデルはほとんど需要がないようですが、ぜひ日本向けに軽量モデルを各メーカーに頑張って開発してもらいたいです。

kenjiz at 23:30|PermalinkComments(0)TrackBack(0)

2016年01月30日

シンガポール出張

Gardens by the BayシンガポールオフィスのITインフラの再構築に立ち会うために、シンガポール出張してきました。オフィスのネットワーク止めるので週末作業になるわけですが、日曜日はシンガポールの人件費が高いとかで、土曜日実施に決定。ということで出張旅程を組むわけですが、JALってシンガポールに1日3便も飛ばしてるんですね。で、時間帯も選べるわけですが、最短旅程だと金曜夜に出発して土曜日朝着、そのまま仕事して、土曜日夜発、日曜日朝帰国、なんていう0泊3日もいけそうな感じ。とはいえ、もうそんな無茶はしません。おとなしく行きも帰りも昼行便にして、朝羽田を出発して、夕方無事にチャンギに到着しました。

それにしても、常夏のシンガポールは2月というのに30度!機材等の荷物も多かったので空港からタクシーでホテルに向かいますが、渋滞で1時間ほどかかりました。でも、なぜかタクシーの安さにびっくり。シンガポールって物価がなんでも高いと思っていたんですけどね。で、ホテルにチェックインして部屋で着替えて、駐在員と合流して夕食へ。ていうかメールでだけやりとりしていた駐在員、思っていたより若い!実はシンガポールで初対面でした。食事しながらいろいろと語り合って、明日に備えて早めにホテルへ戻ります。

そして今日、朝から業者さんに来てもらい、ファイアウォールの作業を進めますが・・・ここで機器の構成ミスが発覚し、1日では片付かないことが判明・・・結局暫定構成として、最終的には後日再設定ということになりました。今回の作業が完了すれば本社とネットワークがつながるので、電話やビデオ会議が気軽にできるようになり、海外オフィスとのコミュニケーションがますます進むという算段です。最終的には全拠点を回りたいところですね。私の体力がいつまで持つかはわかりませんが、がんばっています。

kenjiz at 23:42|PermalinkComments(0)TrackBack(0)

2016年01月27日

DELL U2715H


2年ほど前から、会社のデスクトップPCのモニタは4Kを2枚使っているのですが、やはり28インチで4Kは細かすぎるのと、TNパネルの応答性の悪さがじわじわと仕事の足を引っ張っていたため、今回U2715Hを2枚買ってみました。結果は、やはり大成功。28から27インチへ1インチダウンして画面サイズは小さくなっていることは事実なのですが、やはりIPS液晶のレスポンスの速さはもっと重要だったことに今更ながら気づいた次第です。これからさらに仕事のスピードUP!です。

kenjiz at 23:50|PermalinkComments(0)TrackBack(0)

2015年12月20日

DIGA買い替え・・・なぜか買い増し

DIGA4年ほど使っているPanasonicのDIGA DMR-BWT510ですが、ディスクがいっぱいになったのでブルーレイへの書き出しをしようとしたのですが、何回やっても失敗します。困りました。仕方ないのでブルーレイレンズクリーナーを買って試したりしましたが効果無し。もうこうなったら、と深夜に分解してブルーレイドライブのレンズをアルコールと綿棒できれいにしてみたのですが、効果無し。結局あきらめて買い替えることにしました。


で、とりあえず選んでみたのはDIGA DMR-BRZ1010です。最近はHDDが外付で増設できるせいか大容量モデルが少なく、このモデルも1TBしか積んでいません。でもトリプルチューナーなので3番組同時録画が可能。今までもダブルチューナーだと微妙にぶつかるときがあったので、トリプルなら問題ないでしょう。で、古いBWT510はHDDを500GBから2TBへ換装しているわけですが、BRZ1010だと容量が逆に減ってしまうので、外付けHDDも増設しました。なんでも最近はSeeQVaultという新しい規格ができたようなので、それに対応した3TBのI-O DATA AVHD-AUSQ3.0を調達。場所は取りますが仕方ありません。SeeQVaultというのは、HDDを外してそのまま他のレコーダーにデータごと移動できるという規格で、いずれブルーレイが壊れることを考えたらこれをチョイスすべきでしょう。


で、さっそく届いたのでささっと結線して使い始めますが、ここで致命的な問題発生。BWT510からBRZ1010への番組の移動はどうやらできない模様・・・。お部屋ジャンプリンクというDLNAでの転送は可能なのですが、番組自体を移動することはできないようで、結局BWT510で録画したコンテンツを見るためにはBWT510をオンラインにしておく必要があるということです。ちなみにプラズマテレビのTH-P50VT5に外付けしているHDDからの番組移動はできるようなので、特定の世代以降は対応しているといったもののようです。ファームウェアのバージョンアップで対応してもらいたいものですけどね。hしなみにBWT510は2011年購入、P50VT5は2013年購入、そして今回BRZ1010は2015年購入ということで、2年ごとに機器が変わっている感じです。あと、初SeeQVaultですが、HDDの初回フォーマット時に、通常のフォーマットかSeeQVaultかを選択するようになっています。もちろんSeeQVaultを選びましたが、こちらはまだ使っていません。でもブルーレイレコーダーが2台ってのはちょっとシンプルライフに逆行していて嫌ですね。今後どうするか考えないといけません。

kenjiz at 23:31|PermalinkComments(0)TrackBack(0)

2015年12月08日

iOS9.2不具合

iOS9.2が出て少し経ちました。何が良くなったのかはよくわかりませんが、不具合はいくつかあるようです。実際にうちの会社で被害を受けているところとして、MDM関連で問題があるようです。MDM経由でインストールしたアプリを手動で削除するとMDMとのリンクが解除されてしまい、遠隔での端末チェックやリモートワイプができなくなります。これって結構大きな問題ですよね。今のところ、手動で同じアプリを再インストールするとリンクは復活するようなので大騒ぎにはなっていませんが、一般ユーザーにややこしい手間をかけさせることになるのはちょっと困ります。9.2.1が早く出てもらいたいものです。

kenjiz at 23:21|PermalinkComments(0)TrackBack(0)