http://qiita.com/7of9/items/00b4e13d54f53774df69
の続き
保存する文字列にタイムスタンプをつけたい。
code v0.3
以下が主な変更点
- UDP(ポート7001)にコマンド受付用通信を追加
- timeコマンドを追加
- time20160619123045 にて 2016/06/19 12:30:45に時刻設定
- Timeライブラリの使用開始
- Timeライブラリ使用用ラッパー関数ライブラリを実装
UDP Port
- 7000
- データ受付用
- こちらに来た文字列をタイムスタンプとともにSDに保存する
- 7001
- コマンド受付用
- timeコマンドに使う
実使用
http://qiita.com/7of9/items/00b4e13d54f53774df69
の気圧計(v0.5)と組合せて動かしてみた。
手順
- udpLogger(v0.3)を起動
- udpLoggerのアクセスポイントにスマホで接続
- スマホ上にてunity udpSenderにて以下のコマンドを送信
- time20160619115000
- UDP Port: 7001
- IP: 192.168.79.2
- 気圧計(v0.5)起動
あとは気圧計がudpLoggerにデータを7000ポート経由で送り、それがタイムスタンプ付きでSDに保存される。
結果
タイムスタンプ付きとなった。
11:57:26,19/06/2016,Pressure(kPa)=101.12,Altitude(m)=16.84
11:57:27,19/06/2016,Pressure(kPa)=101.12,Altitude(m)=16.65
11:57:29,19/06/2016,Pressure(kPa)=101.11,Altitude(m)=17.10
11:57:30,19/06/2016,Pressure(kPa)=101.12,Altitude(m)=16.58
11:57:32,19/06/2016,Pressure(kPa)=101.12,Altitude(m)=16.47
11:57:33,19/06/2016,Pressure(kPa)=101.13,Altitude(m)=15.52
11:57:35,19/06/2016,Pressure(kPa)=101.13,Altitude(m)=15.60
11:57:36,19/06/2016,Pressure(kPa)=101.12,Altitude(m)=16.56
11:57:37,19/06/2016,Pressure(kPa)=101.13,Altitude(m)=15.62
11:57:39,19/06/2016,Pressure(kPa)=101.12,Altitude(m)=16.25
11:57:40,19/06/2016,Pressure(kPa)=101.13,Altitude(m)=15.70
11:57:42,19/06/2016,Pressure(kPa)=101.12,Altitude(m)=16.35
11:57:43,19/06/2016,Pressure(kPa)=101.13,Altitude(m)=15.99
11:57:44,19/06/2016,Pressure(kPa)=101.12,Altitude(m)=16.55
11:57:46,19/06/2016,Pressure(kPa)=101.13,Altitude(m)=16.02
11:57:47,19/06/2016,Pressure(kPa)=101.12,Altitude(m)=16.27
11:57:49,19/06/2016,Pressure(kPa)=101.14,Altitude(m)=14.96
11:57:50,19/06/2016,Pressure(kPa)=101.14,Altitude(m)=15.35
11:57:51,19/06/2016,Pressure(kPa)=101.14,Altitude(m)=15.34
11:57:53,19/06/2016,Pressure(kPa)=101.13,Altitude(m)=16.04
11:57:54,19/06/2016,Pressure(kPa)=101.12,Altitude(m)=16.25
11:57:56,19/06/2016,Pressure(kPa)=101.13,Altitude(m)=15.97
11:57:57,19/06/2016,Pressure(kPa)=101.13,Altitude(m)=15.81
11:57:59,19/06/2016,Pressure(kPa)=101.14,Altitude(m)=14.92
11:58:00,19/06/2016,Pressure(kPa)=101.14,Altitude(m)=14.75
11:58:01,19/06/2016,Pressure(kPa)=101.14,Altitude(m)=14.89
11:58:03,19/06/2016,Pressure(kPa)=101.14,Altitude(m)=15.23
11:58:04,19/06/2016,Pressure(kPa)=101.14,Altitude(m)=14.87
11:58:06,19/06/2016,Pressure(kPa)=101.13,Altitude(m)=15.72
11:58:07,19/06/2016,Pressure(kPa)=101.13,Altitude(m)=15.42
11:58:08,19/06/2016,Pressure(kPa)=101.13,Altitude(m)=15.96
11:58:10,19/06/2016,Pressure(kPa)=101.14,Altitude(m)=15.09
11:58:11,19/06/2016,Pressure(kPa)=101.15,Altitude(m)=14.56
11:58:13,19/06/2016,Pressure(kPa)=101.14,Altitude(m)=14.85
11:58:14,19/06/2016,Pressure(kPa)=101.13,Altitude(m)=15.53
11:58:15,19/06/2016,Pressure(kPa)=101.14,Altitude(m)=15.30
11:58:17,19/06/2016,Pressure(kPa)=101.15,Altitude(m)=14.41
11:58:18,19/06/2016,Pressure(kPa)=101.15,Altitude(m)=13.98
11:58:20,19/06/2016,Pressure(kPa)=101.14,Altitude(m)=14.88
備考
UDP通信で設定した日時情報はudpLoggerが起動している限りは保持してくれる。
数日に何秒の誤差があるかは未確認。
udpLoggerの電源を入れなおすたびに日時合わせをしないといけない。RTCの出番であるが、まだRTCの使用には慣れていない。
連続動作試験
気圧計から毎秒データ送信をした場合どれくらい電池が持つのだろうか。
とりあえず連続試験を開始した。
試験の電池代(2個)1080円は安くはない。
(追記 2016年6月20日)
2016年6月19日 12:17:14 から 2016年6月20日 06:51:56
までのデータがSDに保存されていた。18時間程度は測定できたことになる。
ただし、気圧計から毎秒データを送信するはずだったが、watchdog resetがかかる状態になり、5秒に1回程度リセットがかかってしまっていた。起動処理を含めると3/5のデューティ比での測定になっていた。
同じ場所での測定で18時間の間に高度が±20m程度の変化が見られた。そのくらいの誤差があるということ。