Menggunakan NTP Client Sebagai Waktu Untuk ESP8266 dan ESP32

13/08/2021 3283

Menggunakan NTP Client Sebagai Waktu Untuk ESP8266 dan ESP32

Apa itu NTP ?

NTP (Network Time Protocol) Merupakan sebuah protokol jaringan yang berfungsi untuk mensinkronisasi waktu berupa tanggal, jam, menit dan detik. Protokol ini menggunakan jaringan TCP/IP dengan port 123.

NTP ini memiliki dua sisi diantaranya ntp server dan ntp client, server disini berfungsi sebagai pusat waktu yang membagikan data waktu kepada client. Sedangkan client yang memiliki alamat akses ke server tersebut akan melakukan sinkronisasi sehingga waktunya sama dengan server.

Sebelumnya untuk menggukanya kita dapat menggunakan library NTPClient pada arduino library manager, berikut contoh code programnya

#include <NTPClient.h>
#include <ESP8266WiFi.h>
#include <WiFiUdp.h>
 
// Setup Wifi
const char *ssid     = "jenamonster";
const char *password = "c0c0d0tb4u";
 
 
const long utcOffsetInSeconds = 25200;
 
// Setting tanggal menjadi nama hari
char daysOfTheWeek[7][12] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
 
// Define NTP Client to get time
WiFiUDP ntpUDP;
NTPClient timeClient(ntpUDP, "id.pool.ntp.org", utcOffsetInSeconds);
 
void setup(){
  Serial.begin(115200);
 
  WiFi.begin(ssid, password);
 
  while ( WiFi.status() != WL_CONNECTED ) {
    delay ( 500 );
    Serial.print ( "." );
  }
 
  timeClient.begin();
}
 
void loop() {
  timeClient.update();
 
  Serial.print(daysOfTheWeek[timeClient.getDay()]);
  Serial.print(", ");
  Serial.print(timeClient.getHours());
  Serial.print(":");
  Serial.print(timeClient.getMinutes());
  Serial.print(":");
  Serial.println(timeClient.getSeconds());
 
  delay(1000);
}

 


Posted By
Avatar
Super Admin
Web Developer, Designer, and Teacher