Raspberry PiでIoTごっこ

のんびりと続けているRaspberry Pi 2で人感センサー動かすやつ、IoT本来の意味とは外れるかもしれないけど、IoTごっこと呼ぶことにした。
そして大体の実装プランが固まってきたのだ。
人感センサーが反応した時刻を記録して、グラフ表示したいんだけど、センサーが反応した時刻の記録にデータベースを使うのはやや大げさ過ぎるので、もう少し簡易な方法をとることにする。

常時起動しているPythonコードがセンサー(つまりGPIOの入力値)を監視していて、センサーが反応したら、その時刻とセンサーの値をtsvファイルに書き込んでいく。
そのtsvファイルをJavaScriptで読み込んで、Webページにグラフ化して表示する。表示はWebブラウザに任せるのです。

ということで、調べることは2つ。
・Pythonで出力パスを指定してtsvファイルに書き込む方法
・JavaScriptでtsvファイルを読み込んでグラフ表示する方法


スポンサーリンク


Pythonでtsvファイルに描き込む方法は色々あるみたいだけど、今回はPandasというデータ分析用ライブラリの機能を試してみようと思う。
Pandasにあるcsvファイルを読み書きするためのread_csv関数(読み込み)とto_csv関数(書き込み)を利用して、オプションパラメータdelim_whitespaceをTrueに設定(区切り文字にタブや空白を指定)してやればtsvに対応できるらしい。

その他、numpyでもtsvの読み込み・書き込みはできるらしいので、慣れてる方を選べば良いと思う。(オイラは単純にPandasに触ってみたかったから)

JavaScriptでtsvファイルをグラフ化する方法については、D3.jsの公式サンプルで、tsvファイルを読み込んで棒グラフ表示するサンプルがあったので、これを有難く流用させていただこうと思う。↓


スポンサーリンク

Dual-scale-D3-Bar-Chart

Dual-scale-D3-Bar-Chart

Raspberry Piで似たようなことをやろうとしている人達がたくさんいるけど、ソフトウェア側の実装方法は結構バラバラな印象。↓
Raspberry Piで取得したセンサーデータをリアルタイムに可視化する(導入編)
Raspberry Piで取得したセンサーデータをリアルタイムに可視化する(センサー編)
Raspberry Pi,fluentd,TreasureData,AWS,d3.jsを使った自宅の温度・湿度データモニタリングと可視化①


スポンサーリンク

関連記事

WordPressプラグインの作り方
AmazonEC2のインスタンスをt1.microからt2.microへ移行する
Mask R-CNN:ディープラーニングによる一般物体検出・Instance Segmentatio...
UnityのGameObjectの向きをScriptで制御する
Deep Neural Networkによる顔の個人識別フレームワーク『OpenFace』
WordPressのサーバ引っ越し方法を考える
海洋堂 20cmシリーズ『デスゴジ』 クリアーオレンジVer. 頭部パーツの加工
Arduinoで作るダンボーみたいなロボット『ピッコロボ』
WordPress on Google App Engineを1週間運用してみて
GoB:ZBrushとBlenderを連携させるアドオン
Deep Learningとその他の機械学習手法の性能比較
DCGAN (Deep Convolutional GAN):畳み込みニューラルネットワークによる敵...
Unity ARKitプラグインサンプルのドキュメントを読む
C#で使える遺伝的アルゴリズムライブラリ『GeneticSharp』
OpenCV 3.1のsfmモジュールを試す
オープンソースハードウェア Arduino (アルドゥイーノ)
OpenCVの顔検出過程を可視化した動画
Raspberry Pi 2を買いました
3Dコンピュータービジョンライブラリ『PyTorch3D』
Raspberry Pi 2のGPIOピン配置
OpenCVで顔のモーフィングを実装する
ZScript
Kinect for Windows V2のプレオーダー開始
iOSデバイスと接続して連携するガジェットの開発方法
ミニ四駆で電子工作
Unity ARKitプラグインサンプルのチュートリアルを読む
海洋堂 20cmシリーズ『デスゴジ』 クリアーオレンジVer. 胸の電飾加工
オープンソースのStructure from Motionライブラリ『Theia』
ポイントクラウドコンソーシアム
SONY製のニューラルネットワークライブラリ『NNabla』
オープンソースのロボットアプリケーションフレームワーク『ROS (Robot Operating S...
オープンソースのSLAMライブラリ『Cartographer』
WordPressの表示を高速化する
Unityの薄い本
Structure from Motion (多視点画像からの3次元形状復元)
オープンソースのSfM・MVSツール『COLMAP』
Deep Fluids:流体シミュレーションをディープラーニングで近似する
Twitter APIのPythonラッパー『python-twitter』
オープンソースの顔の動作解析ツールキット『OpenFace』
機械学習で遊ぶ
今年もSSII
OpenMVSのサンプルを動かしてみる

コメント