udpLogger (v0.3) > UDP:timeコマンド / SD:timestamp付き > 18時間の測定

http://qiita.com/7of9/items/00b4e13d54f53774df69
の続き

保存する文字列にタイムスタンプをつけたい。

## code v0.3

[v0.3 @ github](https://github.com/yasokada/esp8266_160521_udpLoggerWithAccessPoint/releases/tag/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)と組合せて動かしてみた。

### 手順

1. udpLogger(v0.3)を起動
2. udpLoggerのアクセスポイントにスマホで接続
3. スマホ上にてunity udpSenderにて以下のコマンドを送信
   - time20160619115000
   - UDP Port: 7001
   - IP: 192.168.79.2
4. 気圧計(v0.5)起動

あとは気圧計がudpLoggerにデータを7000ポート経由で送り、それがタイムスタンプ付きでSDに保存される。


### 結果

タイムスタンプ付きとなった。

```TEST.TXT
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の使用には慣れていない。



## 連続動作試験

気圧計から毎秒データ送信をした場合どれくらい電池が持つのだろうか。

とりあえず連続試験を開始した。
試験の電池代（２個）１０８０円は安くはない。

![DSC_0173.JPG](https://qiita-image-store.s3.amazonaws.com/0/32870/3459c6c2-9c1d-f20e-7339-180c7a5fb9fb.jpeg)

(追記 2016年6月20日)
2016年6月19日 12:17:14 から 2016年6月20日 06:51:56
までのデータがSDに保存されていた。18時間程度は測定できたことになる。

ただし、気圧計から毎秒データを送信するはずだったが、watchdog resetがかかる状態になり、5秒に１回程度リセットがかかってしまっていた。起動処理を含めると3/5のデューティ比での測定になっていた。


同じ場所での測定で18時間の間に高度が±20m程度の変化が見られた。そのくらいの誤差があるということ。

![qiita.png](https://qiita-image-store.s3.amazonaws.com/0/32870/4bb86f95-b213-b7a2-440b-bf4d17d4a13e.png)