以前,パブリックなphantサーバである,data.sparkfunにRaspberry Pi からC++,boost/asioを使ってデータをプッシュしました.
今回は,速度や容量の制限が緩いlocalなphantサーバを立ち上げて,データを送ってみます.なお,自分のPCとRapberryPiは同じネットワークに接続してください.
1.localなphantサーバの立ち上げ
githubのreadmeに従ってインストールしましょう.基本的にコンソールを打つだけです.インストールが終えたら,phant
と打つだけで,localhostにphantが立ち上がります.立ち上がったら,http://localhost:8080にアクセスすると,data.sparkfunとほぼ同じ画面が出てきます.data.sparkfunと同じ手順でdata streamを作成しましょう.
ここで,確認して欲しいのが,サンプルのプッシュを行なった際にphantがクラッシュしていないかどうかです.すでに解決されていますが,こちらに挙げられている問題に僕も直面しました.node.jsの構文が変更されたことが原因のようです.stotoさんの教えに従って直していきましょう.僕はこれで直りました.
2. localhost:8080にデータをpush
僕のレポジトリのto_localフォルダをRaspberryPiにコピーし,IPアドレスとパブリックキー,プライベートキーを自分のものに変更してください.そして.
cmake .
make
でコンパイルし,実行してください.localなphantにデータが送られるので,streamを確認してください.
3. データをプロット
公式のphant用GoogleChartサンプルをいじって,リアルタイムにプロットできるようにします,
僕のレポジトリのnodeに入っている.server.jsの中の,パブリックキーなどを自分のものに変更し,node ./server.js
で実行してください.
ここまでで,localに短い時間でのデータのpushとplotができましたが,plotがかなりカクカクしているはずです.データのpushがtcpなのと,jsonからプロット用データを全てロードしていることに原因がありそうなので,今後はこのあたりをどうにかする予定です.
コメント