のんびりと続けている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
Raspberry Piで似たようなことをやろうとしている人達がたくさんいるけど、ソフトウェア側の実装方法は結構バラバラな印象。↓
Raspberry Piで取得したセンサーデータをリアルタイムに可視化する(導入編)
Raspberry Piで取得したセンサーデータをリアルタイムに可視化する(センサー編)
Raspberry Pi,fluentd,TreasureData,AWS,d3.jsを使った自宅の温度・湿度データモニタリングと可視化①
スポンサーリンク
関連記事
Mask R-CNN:ディープラーニングによる一般物体検出・Instance Segmentatio...
Google App Engine上のWordPressでAmazonJSを利用する
OpenGVのライブラリ構成
Geogram:C++の3D幾何アルゴリズムライブラリ
UnityのuGUIチュートリアル
海洋堂 20cmシリーズ『デスゴジ』 クリアーオレンジVer. 胸の電飾加工
書籍『OpenCV 3 プログラミングブック』を購入
PythonのHTML・XMLパーサー『BeautifulSoup』
Model View Controller
UnityでShaderの入力パラメータとして行列を渡す
オープンソースの顔認識フレームワーク『OpenBR』
海洋堂 20cmシリーズ『デスゴジ』 クリアーオレンジVer. 遮光塗装
ブログをGoogle App EngineからAmazon EC2へ移行
ポリゴンジオメトリ処理ライブラリ『pmp-library (Polygon Mesh Process...
UnityのTransformクラスについて調べてみた
ManimML:機械学習の概念を視覚的に説明するためのライブラリ
Python for Unity:UnityEditorでPythonを使えるパッケージ
海洋堂 20cmシリーズ『デスゴジ』 クリアーオレンジVer. 仕切り直し
ROSでガンダムを動かす
3DCG Meetup #4に行ってきた
オープンソースハードウェア Arduino (アルドゥイーノ)
機械学習に役立つPythonライブラリ一覧
Kinect for Windows V2のプレオーダー開始
Web経由でRaspberry PiのGPIOを操作したい
このブログのデザインに飽きてきた
OpenCV 3.3.0 contribのsfmモジュールのサンプルを動かしてみる
書籍『3次元コンピュータビジョン計算ハンドブック』を購入
WordPress on Google App Engineを1週間運用してみて
網元AMIで作ったWordpressサイトのインスタンスをt1microからt2microへ移行した
Mayaのプラグイン開発
ビリケン商会 メカゴジラⅡ 電飾を仕込む
Pythonの自然言語処理ライブラリ『NLTK(Natural Language Toolkit)』
UnityでOpenCVを使うには?
フォトンの放射から格納までを可視化した動画
UnityからROSを利用できる『ROS#』
Russian3DScannerのトポロジー転送ツール『WrapX』
TeleSculptor:空撮動画からPhotogrammetryするツール
書籍『仕事ではじめる機械学習』を読みました
AR (Augmented Reality)とDR (Diminished Reality)
UnityのAR FoundationでARKit 3
uGUI:Unityの新しいGUI作成システム
OpenCVで平均顔を作るチュートリアル
コメント