Category Archives: Linux

Permalink to single post

Vaio Z Canvas

いままで持ち運び用として新しいMacBook12インチ使ってたんですが、もうLinux入れるのが相当厳しそうだし、そもそもGentooには厳しいスペックなので結局新しいマシン買いました。(一ヶ月以上前ですが)

Vaio Z Canvas

Vaio Z Canvas

Vaio Z Canvasです。
» 続きを読む…

Permalink to single post

New MacBook (12 inch) and Linux

持ち運びすげー楽で、Windows,Mac,Linuxが使えるから仕事もできるしって感じで、新しいMacbook (12インチ) を買ったが、Linuxが動かず困っている。

いろいろと調べても動かないという情報ばかり。というかググりづらすぎる。Macbook 12ってやると2012年のMacBook Proが出てきたりするし、New MacbookとかってやってもNew Macbook Proが混じる。Macbook 8,1とかやってもPro。世の中はProばかり。

厳密に言うとUbuntuのLiveとかは動くことは動くんだけど、キーボード、マウス、SSDコントローラーが動かないからほとんど何もできない。。。

とりあえず自分用に関連情報まとめ

Linux以外の関連情報

仮想化は断じてせぬ。

Permalink to single post

Mac上のSynergyでキーボードが使えない

LinuxやMacをそれぞれサーバーとかクライアントにして使ってますが、クライアントがMacの場合だけ、マウスとか、テンキーだけはなぜか使えて、それ以外のキーボードが使えないという問題に悩まされていた。(Linuxがクライアントの場合は大丈夫でした)。SyneygyKMでも使用不可。

ようやく解決方法が見つかったのでメモ。
解決法は 【マウスもキーボードも】Synergy【みんな共有】@2ch にありました。

上記にあるように、Mac側で環境設定→キーボード→入力ソースで「Unicode Hex Input」を有効するだけ。これキーボード使用時に入力ソースとして選択されている必要はないっぽいです。

ややおかしい部分もありそうですが、とりあえず使えるようになってよかった。

ちなみに環境は

  • サーバー: Gentoo Linux 64bit, Gnome 3.18, Synergy 1.4.16
  • クライアント: Mac OS X 10.10.2 (Yosemite), Synergy 1.6.2

です。

Permalink to single post

ネットワークが接続・切断を繰り返す (gentoo@MacBookPro15)

NetworkManagerを使用しているが、いろいろとアップデートしたあとにネットが接続・切断を繰り返す症状をたまに起こす。

うちの場合はNetworkManagerの設定 (Gnomeの設定→ネットワーク) から対象アクセスポイントのIPv6を切ればとりあえず接続はできるようになる。

NetworkManagerとかカーネルとか含めて色々更新しちゃったから何が原因かよく分かってないけど、多分NetworkManagerアプデしたからでしょう。

ただデュアルスタックだけどIPv6使ってはいるから、どうにかしたいなぁ。

(追記1) なんか有線LANと無線LANのIPv6アドレスがかぶっているっぽい。。。よく見たらdnsmasqの設定まちがえてた。。。でも解決せず。ていうかKernel Panicする。

(追記2) net-misc/dhcp-4.3.1, net-misc/networkmanager-0.9.10.1_pre20141101, gentoo-sources-3.18.1 の組み合わせで行ったらIPv6 Onの状態でも比較的安定している。気がする。

Permalink to single post

gentoo-sources-3.18 (Linux Kernel) with Mac Book Pro 15

Linux Kernel 3.18 がでて昨日ようやくgentoo-sourcesまで落ちてきたので更新した。

いつものごとく、broadcom-sta がビルドできないが、色々探してパッチ (今回は marineam 氏のオーバーレイのものを使った) を /etc/portage/patches/net-wireless/broadcom-sta へぶち込んで無事にビルド。

特に問題無し。

しかしWebcamはどうしたものか。。。

Permalink to single post

NFSサーバーで許可されたグループなのになぜかAccess Deniedになる

NFSでマウントしたディレクトリににたいして、許可されたグループのメンバーからアクセスしてもAccess Deniedされて若干ハマった。
状態としては以下のような感じ。

### 状態確認
$ pwd
 (NFSマウントされているの場所)
$ ls -lah
合計 29K
drwxrwxrwx 3 good-group good-group   7 10月  7 11:00 .
drwxrwx--- 7 hoge       good-group   7  6月  9 12:00 ..
-rw-rw-rw- 1 hoge       good-group  15K 10月  1 00:00 test-good.txt
$ id
uid=1000(fuga) gid=1000(fuga) groups=1000(fuga),10(wheel),14(uucp),18(audio),19(cdrom),27(video),35(games),80(cdrw),85(usb),100(users),250(portage),973(vboxusers),993(pulse),998(plugdev),1000(fuga),1011(bbb),5001(ccc),5002(ddd),5003(eee),5004(good-group)

### アクセスしてみる
$ cat test-good.txt
cat: test-good.ods: 許可がありません

### NFS以外はOK
$ cat /home/taka/test-home.txt
This is a test file.

(ちなこにここで、idで出てくるグループ数が多いのがミソだった)

クライアントでもメンバーだし、サーバー側でもメンバーになっている。

どうにも分からんし、ググってもピンとこない (というかそもそもどうググればいいか、キーワードが分からん) ので、NFSが読めるわけではないがWiresharkさんなら解読してくれるだろうとの願いで、とりあえずキャプってみる。

WiresharkでNFSをキャプチャしてみたところ

WiresharkでNFSをキャプチャしてみたところ

なんか Auxiliary GIDs で所属グループIDのリストを送ってるっぽいですが、後半が省かれてますね。16個までしか送られてない。なんか個数的にもこれはどっかの制限で切られている予感。

ちなみにそもそもLinuxユーザーとかのレベルのアクセス制御は全部クライアントでやってると思ってたので、リストを送ってたりすること自体知らなかった。。。 (この問題に遭遇した時に若干もしやという気もしたけど)

これらのヒントを元に調べた所だと、どうやらグループ数が16を越えると上手く動かないケースがあるようで。

Solving the NFS 16-Group Limit Problem

この記事によると、

  • NFS側で対処できることはなくて、auth_sys? (というかプロトコル自体?) の問題。NFSv4にしたってダメだよ
  • ファイルシステムでもどうしようもない
  • auth_sysをチューンする方法もないよ

(ただし2011年の記事なので状況が変わってるかも)

ということで、 rpc.mountd の –manage-gids オプションを使ってサーバー側でGroup IDを管理する方法がベストの方法として取り上げられている。

が、ちょっとサーバがFreeBSD (というかFreeNAS) で、どこいじれば正攻法なのかパッと分からんので、とりあえず一旦グループ数を減らす方向でトライ。

### 状態確認
$ pwd
 (NFSマウントされているの場所)
$ ls -lah
合計 29K
drwxrwxrwx 3 good-group good-group   7 10月  7 11:00 .
drwxrwx--- 7 hoge       good-group   7  6月  9 12:00 ..
-rw-rw-rw- 1 hoge       good-group  15K 10月  1 00:00 test-good.txt
$ id
uid=1000(fuga) gid=1000(fuga) groups=1000(fuga),10(wheel),14(uucp),18(audio),27(video),35(games),85(usb),100(users),973(vboxusers),998(plugdev),1000(fuga),1011(bbb),5002(ddd),5003(eee),5004(good-group)

$ cat test-good.txt
This is a test file.

とりあえずうまくいった。

Permalink to single post

Mac Book Pro…

どこでも作業 (仕事) ができるようにMac Book Pro 15インチをかったんだけど、裏面のロゴが気に入らないのでちょっと手を加えた。

マックのロゴステッカー

しかし少し汚い。手作り感が出てしまっている。あとappleロゴを透けないようにする処理のせいで、若干盛り上がったりしている。
やっぱちゃんとした業者にステッカー発注したほうがいいのだろうか。

Permalink to single post

GPSロガー購入 (i-gotU GT-900Pro) &読み込みプログラム書いた

i-gotU GT-900Pro

i-gotU GT-900Pro

使っているタブレットのGPS精度がいまいちかつ、記録アプリがかなりクソで思わず窓から投げ捨てそうになったので、ちゃんとしたGPSロガーを購入することにした。色々調べたところigot-UのGT-900Proにした。腕時計型のロガー。

個人的にいいとこ:

  • 日本の準天頂衛星「みちびき」に対応 (ただし精度への寄与具合は不明・・・)
  • 腕時計だからツーリングとかでも使いやすい
  • 気圧高度計つき
  • Androidとかと同じMicro USBで充電できる
  • けっこうガチ防水

個人的にわるいとこ:

  • 腕時計にしてはちょっとでかい (まぁ許容範囲ではあるが)
  • 単体 (PC等接続なし) でのデータ消去方法がない?(設定データも消えそうなハードリセットならあったけど・・・)
  • ソフトがWindowsのみ、かつgpsbabelで使えないっぽい (=Linuxで使い辛い)
  • ネットの資料が少ない気がしてきた。あんま売れてないのかな

購入にあたり参考にしたサイト:

たぶん自転車とか、ランニングで使うことを念頭に置かれたものなんですね。

ちゃんとしたロガー買ったので、OpenStreetMapのマッピングにも寄与しようかと。
特によく行く小さい離島とかは、地図があんまないし、Google Mapでも全然道がわかんなかったりするので。 (現状でもOpenStreetMapのがよくできてる離島は多々ある。どっちも適当な島も多々ある)

ところでこれ、gpsbabelでも使用できず、そのままではLinuxで使えない。ググって見たところいくつかi-gotUシリーズ向けのプログラムはあるようだ。

しかしながら前者はGUIのみのJavaプログラム、後者は多分古すぎてGT-900Proでは使えないC++のプログラム (そもそもうちの環境でビルドできず・・・) でした。とりあえずCLIで簡単に使えるプログラムが無い。やりたいことはデータダウンロードと消去だけなのに。
ただ、それぞれ通信プロトコルの資料が書いてあり、そんな難しそうでもなかったのでPythonで簡単なCLIプログラム書きました。pygotuとして、Mercurialレポジトリに公開してます。

とりあえずデータのダウンロードはできます。Purgeがまだできません。意外と難解である。

ということでそのうち続きをやる。

Permalink to single post

git pull requestメモ

  • githubでfork→作業→commit→rebaseでまとめる→push→GitHubでpull request
  • git rebase -i [対象commitのhash] → 対象commitのhash~現在までがでてくる
    • でてくるエディタで、pickをsquash にすると、その変更と直前の変更をまとめる

参考リンク

Permalink to single post

Livestreamer

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

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

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

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

Permalink to single post

Gentoo+systemd+Linux Kernel 3.14でトラブる

恒例のGentooハマり。

Kernel 3.12から3.13や3.14にカーネルアップするとどうもうまく動かなかった。

具体的には、ディスクマウントのところでタイムアウト (ログには「Timed out waiting for device dev-sda6.device」とか出る) したり、nouveauのドライバで初期化にこけたり。

いろいろと調べつつ、以下の二ヶ所直せばとりあえず動いた。

1点目: マウントオプション: noauto, x-systemd.automount

/etc/fstabの全てのディスクとNFSの行に「noauto, x-systemd.automount」オプションをつける。

Gentoo Forums :: View topic – Systemd timing out during local disk mount

ここみてやってみたら動いた。ただ「temporarily fix」だよと言っている。

systemd (日本語) – Arch Linux

なんかfsckとかぶったりしてうまくいかないっぽい。

2点目: SYSFS_DEPRECATED関連をOFFる

systemdをemergeしたときに完全に見落としていた。こんなメッセージが出る。

* Messages for package sys-apps/systemd-208-r3:

*   CONFIG_SYSFS_DEPRECATED:     should not be set. But it is.
*   CONFIG_SYSFS_DEPRECATED_V2:     should not be set. But it is.
* Please check to make sure these options are set correctly.
* Failure to do so may cause unexpected problems.

これをOFFってなかった。非常に残念なミス。

Permalink to single post

Gentoo with systemdでzabbix-agentd.confの指定がおかしい

net-analyzer/zabbix-2.2.0-r3のsystemd用起動ファイルにある設定ファイルの指定がおかしいかったので修正。
system # cd /usr/lib/systemd/system
system # diff zabbix-agentd.service zabbix-agentd.service.orig
9c9
< ExecStart=/usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
---
> ExecStart=/usr/sbin/zabbix_agentd
Permalink to single post

libwnck (ウィンドウマネージャ操作ライブラリ)

サイネージというほどのものではないけど、それ的なもののソフトウェアをつくるために、X上で外部プロセスのウィンドウをいじってどうにかするみたいなのを探した。 いろいろ当り最終的にlibwnckを見つけた。ウィンドウマネージャの操作ライブラリ。Pythonバインディングのpython-libwnckもある。
import wnck, gtk
screen = wnck.screen_get_default()
screen.force_update()
windows = screen.get_windows()
これでウィンドウリスト (WnckWindowのリスト) が得られる。これに対して、
w = windows[0]
w.get_name() # Window Name
w.get_application().get_name() # Application Name
w.get.get_class_group().get_name() # Class Name
こんな感じで情報を取得し、
w.set_geometry(wnck.WINDOW_GRAVITY_CURRENT, wnck.WINDOW_CHANGE_X | wnck.WINDOW_CHANGE_Y, 100,100,0,0)
w.set_title("新しいタイトル")
gdk_w = gtk.gdk.window_foreign_new(w.get_xid())
gdk_w.set_decorations(0) # デコレーションの削除
# 反映させる
gtk.gdk.window_process_all_updates()
gtk.gdk.flush()
こんな感じにウィンドウが操作できる。

uWSGIと併用時のエラー

ちなみに、python-wnckを使用するWebアプリをuwsgi上で動かしたらこんな感じのエラーが出てしばらくこまった。
172.29.4.50 - - [12/Mar/2014:22:59:39] "GET /info HTTP/1.1" 200 4 "" "Mozilla/5.0 (X11; Linux x86_64; rv:27.0) Gecko/20100101 Firefox/27.0"
[pid: 15271|app: 0|req: 6/6] *.*.*.* () {32 vars in 508 bytes} [Wed Mar 12 22:59:39 2014] GET /set_center/info => generated 4 bytes in 6 msecs (HTTP/1.1 200) 4 headers in 138 bytes (1 switches on core 0)
Wed Mar 12 22:59:41 2014 - !!! uWSGI process 15270 got Segmentation Fault !!!
Wed Mar 12 22:59:41 2014 - *** backtrace of 15270 ***
Wed Mar 12 22:59:41 2014 - uwsgi(uwsgi_backtrace+0x25) [0x431ea5]
Wed Mar 12 22:59:41 2014 - uwsgi(uwsgi_segfault+0x21) [0x431f81]
Wed Mar 12 22:59:41 2014 - /lib/x86_64-linux-gnu/libc.so.6(+0x324f0) [0x7fa477a794f0]
Wed Mar 12 22:59:41 2014 - /usr/lib/libstartup-notification-1.so.0(sn_xcb_display_new+0x109) [0x7fa47201fa89]
Wed Mar 12 22:59:41 2014 - /usr/lib/libstartup-notification-1.so.0(sn_display_new+0x2d) [0x7fa47201fb3d]
Wed Mar 12 22:59:41 2014 - /usr/lib/libwnck-1.so.22(wnck_screen_get+0x117) [0x7fa474660617]
Wed Mar 12 22:59:41 2014 - /usr/lib/python2.7/dist-packages/gtk-2.0/wnck.so(+0xa809) [0x7fa4748ac809]
Wed Mar 12 22:59:41 2014 - /usr/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x56fd) [0x7fa47521d04d]
Wed Mar 12 22:59:41 2014 - /usr/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x5b7b) [0x7fa47521d4cb]
Wed Mar 12 22:59:41 2014 - /usr/lib/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x848) [0x7fa47521e2e8]
Wed Mar 12 22:59:41 2014 - /usr/lib/libpython2.7.so.1.0(+0xa6917) [0x7fa475274917]
Wed Mar 12 22:59:41 2014 - /usr/lib/libpython2.7.so.1.0(PyObject_Call+0x4e) [0x7fa475303d3e]
Wed Mar 12 22:59:41 2014 - /usr/lib/libpython2.7.so.1.0(+0x184810) [0x7fa475352810]
Wed Mar 12 22:59:41 2014 - /usr/lib/libpython2.7.so.1.0(PyObject_Call+0x4e) [0x7fa475303d3e]
Wed Mar 12 22:59:41 2014 - /usr/lib/libpython2.7.so.1.0(PyEval_CallObjectWithKeywords+0x47) [0x7fa475304647]
Wed Mar 12 22:59:41 2014 - /usr/lib/libpython2.7.so.1.0(PyInstance_New+0x7b) [0x7fa4752ec58b]
Wed Mar 12 22:59:41 2014 - /usr/lib/libpython2.7.so.1.0(PyObject_Call+0x4e) [0x7fa475303d3e]
Wed Mar 12 22:59:41 2014 - /usr/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x2a57) [0x7fa47521a3a7]
Wed Mar 12 22:59:41 2014 - /usr/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x5b7b) [0x7fa47521d4cb]
Wed Mar 12 22:59:41 2014 - /usr/lib/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x848) [0x7fa47521e2e8]
Wed Mar 12 22:59:41 2014 - /usr/lib/libpython2.7.so.1.0(+0xa6917) [0x7fa475274917]
Wed Mar 12 22:59:41 2014 - /usr/lib/libpython2.7.so.1.0(PyObject_Call+0x4e) [0x7fa475303d3e]
Wed Mar 12 22:59:41 2014 - /usr/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x2a57) [0x7fa47521a3a7]
Wed Mar 12 22:59:41 2014 - /usr/lib/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x848) [0x7fa47521e2e8]
Wed Mar 12 22:59:41 2014 - /usr/lib/libpython2.7.so.1.0(+0xa6917) [0x7fa475274917]
Wed Mar 12 22:59:41 2014 - /usr/lib/libpython2.7.so.1.0(PyObject_Call+0x4e) [0x7fa475303d3e]
Wed Mar 12 22:59:41 2014 - /usr/lib/libpython2.7.so.1.0(+0x184810) [0x7fa475352810]
Wed Mar 12 22:59:41 2014 - /usr/lib/libpython2.7.so.1.0(PyObject_Call+0x4e) [0x7fa475303d3e]
Wed Mar 12 22:59:41 2014 - /usr/lib/libpython2.7.so.1.0(+0x11c1ac) [0x7fa4752ea1ac]
Wed Mar 12 22:59:41 2014 - /usr/lib/libpython2.7.so.1.0(PyObject_Call+0x4e) [0x7fa475303d3e]
Wed Mar 12 22:59:41 2014 - /usr/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x2a57) [0x7fa47521a3a7]
Wed Mar 12 22:59:41 2014 - /usr/lib/libpython2.7.so.1.0(PyEval_EvalCodeEx+0x848) [0x7fa47521e2e8]
Wed Mar 12 22:59:41 2014 - /usr/lib/libpython2.7.so.1.0(+0xa6806) [0x7fa475274806]
Wed Mar 12 22:59:41 2014 - /usr/lib/libpython2.7.so.1.0(PyObject_Call+0x4e) [0x7fa475303d3e]
Wed Mar 12 22:59:41 2014 - /usr/lib/libpython2.7.so.1.0(+0x184810) [0x7fa475352810]
Wed Mar 12 22:59:41 2014 - /usr/lib/libpython2.7.so.1.0(PyObject_Call+0x4e) [0x7fa475303d3e]
Wed Mar 12 22:59:41 2014 - /usr/lib/libpython2.7.so.1.0(+0xcbdf6) [0x7fa475299df6]
Wed Mar 12 22:59:41 2014 - /usr/lib/libpython2.7.so.1.0(PyObject_Call+0x4e) [0x7fa475303d3e]
Wed Mar 12 22:59:41 2014 - /usr/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x27dd) [0x7fa47521a12d]
Wed Mar 12 22:59:41 2014 - /usr/lib/libpython2.7.so.1.0(PyEval_EvalFrameEx+0x5b7b) [0x7fa47521d4cb]
Wed Mar 12 22:59:41 2014 - *** end of backtrace ***
Wed Mar 12 22:59:41 2014 - DAMN ! worker 2 (pid: 15270) died :( trying respawn ...
Wed Mar 12 22:59:41 2014 - Respawned uWSGI worker 2 (new pid: 15296)
最初はなんかcherrypyかuWSGIのスレッドが有効になっちゃってて変な事がおこっているかと思ったけど、どうやらPython初期化後にforkしてからGTKとかX11のAPI使っているから発生しているよう。(断定的に調べていないので違うかも。) uWSGIのlazyオプションを指定するとfork後の初期化になるようなので、それで改善した。
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とかで使ってみる
« 以前のエントリ