

サンプルを参考にNTPで時刻取得すると希にエラーが発生します。

表示されるエラー

[code]

    ERROR:LTEUDP:337 sendoto() error : 22
    
[/code]

ソースは単純で以下になります。

[code]

    timeClient.begin();
    timeClient.update();
    now =timeClient.getEpochTime();
    tm_now = localtime(&now);
    timeClient.end();
    
[/code]

このエラーが出たとき、再度NTPで時刻を取得するように上記のソースを実行しても  
同じエラーが繰り返し出て、いつまでもNTPで時刻がとれません。  
エラー出なければ、普通に時刻取得できて問題ありません。  
頻度が少ないのでなかなか検証もできない状況です

対処方法をご存じの方、ご教授いただけると助かります。


CC BY-SA 4.0
2022-09-27T02:47:06.333
91327
2022-09-28T01:24:29.120
2022-09-27T04:19:53.103
3060
53458
question
spresense
spresenseとLTEボードでNTPで時刻取得すると、希にエラーになる


> このエラーが出たとき、再度NTPで時刻を取得するように上記のソースを実行しても  
>  同じエラーが繰り返し出て、いつまでもNTPで時刻がとれません。

エラーが発生した際、以下のようにNTPを再取得すると正しく時刻が取得できるかもしれません。(一旦 `end`を呼び出したうえで `begin`
を呼び出しています。)

[code]

    timeClient.end();
    timeClient.begin();
    timeClient.update();
    now =timeClient.getEpochTime();
    tm_now = localtime(&now);
    
[/code]

もし、これでも取得できない場合はLTEの接続状態を確認してみるとよいかもしれません。


CC BY-SA 4.0
2022-09-28T01:24:29.120
91342
2022-09-28T01:24:29.120
32034
91327
answer