Profile cover photo
Profile photo
服部俊一
About
Posts

Post has attachment
Node.js+WebSocketでEnOceanセンサを扱う
目的 Raspberry PiでEnOceanセンサデータを受信し、ブラウザ(localhost)上でリアルタイムに見れるようにしたい。 WebSocketを扱う場合、PythonよりもNode.jsの方が簡単そうだったので実装してみた。 Node.jsのバージョンはv6.9.1。今のところ、MacOS 10.12.1(Sierra)で動作を確認している。 EnOceanの受信には node-enocean を利用。今回使っているのは以下4種類のセンサ。 ドア開閉 (STM431J or CS-EO429J)...

Post has attachment
scikit-learnで作成した分類器をエクスポートする
目的 scikit-learnで作成した分類器(決定木/ランダムフォレスト)を、外部ファイルとしてエクスポートしたい。
つまり、他のプログラムで読み込める、scikit-learnやpythonを使わずとも実装できる形式で出力したい。 決定木 作成した分類器をそのままexport_graphvizするだけ。 from sklearn.datasets import load_iris
from sklearn import tree

clf = tree.DecisionTreeClassifier()
i...

Post has attachment
EnOceanセンサ記録(ドア開閉・人感・温度)
前回の記事 ではマグネットセンサSTM429Jと温度センサSTM431Jを読み取る例を載せた。 先日、 サイミックス社製のEnOcean人感センサHM92-01WHC を手に入れたので、上記と合わせ3つのセンサを家庭内(自宅ではないが)に配置してセンサログを取ってみることにした。 マグネットと人感センサは玄関に、温度センサはリビングに配置した。 数日間の記録をpythonのmatplotlibを用いて可視化した結果が以下のとおり。 温度のヒートマップに、ドア開と人感の時刻を無理やり載せた。 右のカラーバーは気...

Post has attachment
PythonでEnOceanの電文を読み取る
前回の記事 ではかなり強引に読み取って処理を書いていた。 マグネットセンサだけなら問題なかったが、複数のセンサを用いるとかなり挙動が怪しく、やはりEnOceanの仕様に沿って読み取る必要があると感じた。なので1から書き直すことに。 今回はマグネットセンサSTM429Jに加えて、温度センサSTM431Jを使用している。 ESP:EnOcean Serial Protocol 詳しいドキュメントは EnOceanのサイトからDLできる 。 EnOceanの電文は上記の図(ドキュメントから引用)のようになっている。...

Post has attachment
赤外線センサをArduino経由のシリアル通信で受信する
Arduinoに赤外線センサ SE-10 を接続し、それをシリアル通信によりCentOS上で読み取ってみた。 今回使ったもの Arduino UNO 人感センサSE-10 抵抗器:330Ω,10kΩ 赤色LED ピンヘッダ (3pin):SE-10をブレッドボードに繋ぐため Linuxサーバ(CentOS/Python) 回路図 fritzingで回路図を描いてみる。 SE-10側に10kΩ、LEDに330Ωの抵抗を繋ぐ。 ソースコード Arduino センサが反応すると1を出力。 反応後5秒間LEDが点灯し...

Post has attachment
加速度センサTWE-Lite-2525AのOTA(無線)による設定変更手順
ToCoStick があれば、加速度センサ TWE-Lite-2525A が検出する動作の種類(1回叩く・2回叩く・落とす・動かす)や感度を無線経由で設定できる。 TWE-Lite R を使えば有線で設定することも可能だが、配線が手間なので無線の方が簡単だ。 ただ、メーカーの説明がややわかりづらいので、作業手順をメモしておく。 用意するもの TeraTermが動作するWindows PC 親機:ToCoStick 子機:TWE-Lite-2525A 設定に必要なソフトウェア(バージョンは投稿時点のもの) To...

Post has attachment
Raspberry Pi上でTWE-Lite-2525AからのデータをToCoStickを使って受信する
Raspberry Piに ToCoStick を繋いで、加速度センサ TWE-Lite-2525A から送られてきた情報をシリアル通信でモニタリングするために行った作業のメモ。 ToCoStickのアプリはデフォルト(超簡単!TWEアプリ)のまま利用。 Raspberry PiのUSBポートにToCoStickを挿し、dmesgを確認。ttyUSB0として認識されたようだ。 user@raspberrypi ~ $ dmesg
(略)
[ 554.996366] usb 1-1.2: Product: T...

Post has attachment
scikit-learnで作成した決定木をPDF形式で出力
pythonの機械学習ライブラリscikit-learnで作成した決定木をPDF形式で作成する方法のメモ。 環境はCentOS6.6、Python2.7.9。 決定木を作成するコードは以下のサイトから。 Pythonで決定木を描いてみる - 技術情報棚卸し(平日限定) 上記のサイトでは結果をgraph.dotというファイルに出力し、その後コマンドライン上でPDFへ変換している。毎回行うには面倒なので、これをpython上で行おうというのが目的。 # encoding: utf-8
import pandas ...

Post has attachment
推薦システム勉強会で使用した文献
を、まとめておく。 第1回 推薦システムのアルゴリズム 神嶌敏弘, 人工知能学会誌, Vol. 22, No. 6, pp. 826-837, 2007. 人工知能学会誌, Vol. 23, No. 1, pp. 89-103, 2008. 人工知能学会誌, Vol. 23, No. 2, pp. 248-263, 2008. この分野ではお馴染みのサーベイ論文。基本から幅広く知識を習得できる。3回にわたって人工知能学会誌に掲載されたが、今は著者によりまとめられたものがWeb上に公開されている。 第2-3回 ...

Post has attachment
情報推薦の研究に使えるデータセットまとめ
海外・国内それぞれで公開されているデータセットをまとめた。 情報推薦に関する研究で利用することを想定し、アイテム(商品や映画等)とそれに対する評価情報がペアになっているものをピックアップしている。 <海外> GroupLens Dataset http://grouplens.org/datasets/movielens/ 映画に対する5段階評価 (1-5) 100,000 / 1 million / 10 million ratings 1,000 / 6,000 / 72,000 users 1,70...
Wait while more posts are being loaded