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を使った自宅の温度・湿度データモニタリングと可視化①


スポンサーリンク

関連記事

海洋堂 20cmシリーズ『デスゴジ』 クリアーオレンジVer. 胸の電飾加工
Mean Stack開発の最初の一歩
adskShaderSDK
Konashiを買った
Unityで画面タッチ・ジェスチャ入力を扱う無料Asset『TouchScript』
3DCG Meetup #4に行ってきた
OpenCLに対応したオープンソースの物理ベースレンダラ『LuxRender(ルクスレンダー)』
Raspberry Piでカーナビを自作できるキット『iCarus』
Google App Engineのデプロイ失敗
プログラミングスキルについて考える
PythonのStructure from Motionライブラリ『OpenSfM』
クリエイターのための機械学習ツール『Runway ML』
Raspberry Pi 2を買いました
オープンソースの3Dメッシュデータライブラリ『OpenMesh』
OpenGVのライブラリ構成
ブログが1日ダウンしてました
OpenCVでカメラ画像から自己位置認識 (Visual Odometry)
画像中の人物表面のUV座標を推定する『DensePose』
軽量なジオメトリ処理ライブラリ『libigl』
OpenCVベースのマーカーARライブラリ『OpenAR』
為替レートの読み方 2WAYプライス表示
CGレンダラ研究開発のためのフレームワーク『Lightmetrica (ライトメトリカ)』
ヒーローに変身なりきりアーケードゲーム『ナレルンダー』
IronPythonを使ってUnity上でPythonのコードを実行する
Kinect for Windows V2のプレオーダー開始
Google製オープンソース機械学習ライブラリ『TensorFlow』のWindows版が公開された
読みやすくて高速なディープラーニングのフレームワーク『Caffe』
ミニ四駆を改造してBluetoothラジコン化する
iPhone x ロボットハッカソン~RomoのiPhone用SDKで目覚ましアプリを作る~
Python2とPython3
機械学習に役立つPythonライブラリ一覧
オープンソースのSfM・MVSツール『COLMAP』
Google XML Sitemap Generatorプラグインを3.4.1へダウングレード
UnityのGameObjectの向きをScriptで制御する
海洋堂 20cmシリーズ『デスゴジ』 クリアーオレンジVer. 電飾のための工作 その3
OpenMVSのサンプルを動かしてみる
Unreal Engineの薄い本
Google Chromecast
OpenCVで動画の手振れ補正
定数
OpenCVのバージョン3が正式リリースされたぞ
海洋堂 20cmシリーズ『デスゴジ』 クリアーオレンジVer. 電飾のための工作 その4

コメント