NTP client as a simple clock using ESP32-WROOM-32
<< Introduction in Japanese >>
初めて ESP32 に触れた夏がそろそろ終わろうとする今、突然に長期安倍政権が終わりを告げた。そして日本は新しい政治リーダーを戴いて秋を迎える。中国からやって来た ESP32 を指で弾いてみると、虚ろで鈍い音がする。
さて、これまで PIC を使って実験してきた事を、ESP32 に置き換えて再実験してみることにする。今回の実験は卓上時計である。システムの初期化時に NTP server から現在時刻を取得して、そこからはタイマーによる割り込みで1秒を刻んでは、時間を液晶表示器に表示させる。
時刻の補正は、毎日深夜零時に自動でシステムを再起動させる事で済ませた。勿論、随時リセット・ボタンで再起動させる事もできる。
The ESP32 board in my page on Aug. 16, 2020 is working as a simple clock.
The NTP server of National Institute of Information and Communications Technology is used in this project and Coordinated Universal Time (UTC) is converted to Japan Standard Time (JST: UTC + 9 hours).
An interruption of every one second is generated by the timer module, which increments the timestamp obtained from the NTP server.
<< Sample sketch of the NTP client >>
(Compiled by the Arduino IDE with the Arduino Core for the ESP32)
const char* ssid = “**********”; // Fill in your ssid. //
const char* password = “**********”; // Fill in your password. //
<< Operation of the NTP client >>
The current time can be automatically obtained from the NTP server on the process of the setup() function.
At every 12:00 a.m., the ESP32 is reset to get the current time.
Pulling down the EN-pin can also reset the ESP32.
<< Summary in Japanese >>
LCD のシリアル制御が不安定なので、長めの遅延関数を間置している。
本来 NTP (Network Time Protocol) はネットワークに接続された機器の時刻同期に開発されたもので、 目覚まし時計や腕時計にはやはり電波時計である。