Akses NTP server menggunakan Wemos D1 Mini

Kali ini kita akan coba akses NTP server menggunakan Wemos D1 Mini dan menampilkannya di Serial Monitor.

Langkah 1 : Instalasi Library NTP Client

Manage Libraries

Ketik : NTP Client
Pilih yang by Fabrice Weinberg, lalu tekan tombol install. Setelah selesai, tekan tombol Close.

Kemudian Timelib by Michael Margolis

Kemudian isi program nya adalah sebagai berikut

#include <NTPClient.h>
#include <ESP8266WiFi.h>
#include <WiFiUdp.h>
#include <TimeLib.h>

const char *ssid     = "NamaWifi";
const char *password = "PasswordWiFi";

// Karena posisi saat ini ada di GMT+7, jadi dikalikan 7
const long utcOffsetInSeconds = 3600*7;

#define JmlHari 7
String Hari[JmlHari] = {"Minggu", "Senin ", "Selasa", "Rabu  ", "Kamis ", "Jumat ", "Sabtu "};

//Definisi pool NTP nya
WiFiUDP ntpUDP;
NTPClient timeClient(ntpUDP, "pool.ntp.org", utcOffsetInSeconds);

void setup(){
  Serial.begin(115200);
  WiFi.begin(ssid, password);

  while ( WiFi.status() != WL_CONNECTED ) {
    delay ( 500 );
    Serial.println(".");
  }
  timeClient.begin();  
}

void printDigits(int digits){
  // Untuk menuliskan : (titik dua) 
  // Menambahkan 0 jika kurang dari 10
  Serial.print(":");
  if(digits < 10)
    Serial.print('0');
  Serial.print(digits);
}

void Tampilkan(){  
  Serial.println(Hari[weekday()-1]);
  Serial.print(hour());
  printDigits(minute());
  printDigits(second());
  Serial.print(" ");
  Serial.print(day());
  Serial.print(" ");
  Serial.print(month());
  Serial.print(" ");
  Serial.print(year()); 
  Serial.println(); 
}

void loop() {
  timeClient.update();

//Memastikan bahwa NTPClient berhasil menerima Paket NTP dan waktunya sudah di set
  if(timeClient.isTimeSet()) {
    time_t t = timeClient.getEpochTime();
    setTime(t);
    Tampilkan();       
    }
  delay(1000);
}

Leave a Comment

Your email address will not be published. Required fields are marked *