h_nari @ 熊本市のブログ。電子工作、プログラミング、ゲーム、TV、 政治、インターネットなどに日々の思い付きを、 うだうだ~と書いていきたい。
このブログにはコメント欄を設けておりません。 記事への御意見、ご質問はtwitter @h_nari宛に お願い致します。


アーカイブ


アマゾン・ベストセラー

メタ情報
RSS
Login

「ESP8266のntpの設定は1行で」更新

「ESP8266のntpの設定は1行で」 というのは 3年前にQiitaに投稿した記事なのだが、 地味にLGTM(Look Good to Me,旧like)を 貰い続けている記事の1つ。

その記事に引数の値がおかしい、と コメントがついた。 サンプルプログラム通りだと 時間が18時間遅れるらしい。

調べると esp8266/arduinoの versionのせいらしい。 2.6.3までは正常に動くが 2.7.0以降はおかしくなる。 configTime()関数の 第1引数の符号の解釈が 逆になってしまったらしい。

これが一時的なバグなのか、 恒久的な仕様変更なのかわからないと configTime()関数は使用しづらい。 幸い 2.7.0以降 configTzTime()という 関数が追加されており、TimeZoneを 文字列("JST-9"とか)で指定する。 これなら、将来 仕様が変わることも ないだろうということで、 Qiitaの記事を更新した。

Arudioでプログラムしていると ソースが全部 githubで見れるのは いいのだが、みんな容赦なく 更新してくるので、公開したプログラム でコンパイルエラーが出る、などという目に 割とよく合う。 プログラム公開時には、動作確認した ライブラリのversionを明示しておいた方が良い。 問題発生時、ライブラリのversionを指定のものに 戻して下さいと言える。