Wio Tracker1110をTTNにつなぐとtime syncから先に進まない
Seeed-StudioのWio Tracker1110 のデフォルトファームウェアは、同社のSenseCAPサーバに接続するためのものです。Wio Tracker1110はTTNにJoinしてすぐにSenseCAPサーバに時刻取得要求のuplink (payload例"17011f00000010")を投げ、該当するdownlinkが受信できるまで繰り返し要求し続け、センサーデータのuplinkを行いません。
<console log>
[2024-07-27 00:00:06.536] ----- Reset LR1110 to start Join the network -----
[2024-07-27 00:00:06.536] Request for Join the LoRaWAN network
[2024-07-27 00:00:19.525] ----- JOINED -----
[2024-07-27 00:00:19.525] Send uplink packet to request current time from Cloud.
:
[2024-07-27 00:03:09.256] ----- Timer for 10s -----
[2024-07-27 00:03:09.256] ReSend uplink packet to request current time from Cloud.
<TTN Live Data>
:
00:03:12 アップリンクデータメッセージの転送 err 0 messages[…] payload"17011f00000010" valid true 17011F00000010 FPort 199
time sync無しで状態を進めるようファームウェアを書き換え
今回のシステムは、温度・湿度だけが必要で位置情報は必要ないため、おそらく時刻同期は不要と判断(この点、問題あればご指摘くださると助かります)。時刻同期できるまで待たせているコードを書き換えます。
・"wm1110_geolocation.time_sync_flag== true"の処理を外します
これだけだと、時刻取得要求のuplink (payload例"17011f00000010")を投げ続ける処理は止らないので、行儀が悪いですがWM1110_Geolocationライブラリを書き換えて使います。
また、TTNのペイロードフォーマッター>アップリンク>デコーダーを書きましたので共有しておきます。ご参考になれば。
<デコード例>
// for Wio Tracker 1110 Dev Board 2024/8/7
//
// test data : 18000000000000000114328000008000800080008000002fffb103c4
//{
// "0": {
// "data": {
// "accelerometer": {
// "x": 0.47,
// "y": -0.79,
// "z": 9.64
// },
// "air": {
// "humidity": 50,
// "temperature": 27.6
// }
// }
// }
//}
以上