Mengambil Data Tanggal dan Waktu dari Internet dengan ESP8266 NodeMCU - SAMBI ONLINE >

iklN JAJAl

Mengambil Data Tanggal dan Waktu dari Internet dengan ESP8266 NodeMCU

            Pada saat membuat projek tertentu, kita biasanya memerlukan parameter waktu untuk melakukan suatu kondisi tertentu pada projek yang akan kita buat. Nah karena hal tersebut biasanya kita memerlukan suatu komponen tambahan berupa RTC. Tetapi dengan komponen RTC ini terkadang hasil pewaktuan yang dihasilkan kurang akurat.

        Oleh karena itu pada artikel kali ini, sambi online akan membagikan tutorial tentang bagaimana Cara Mengambil Data Tanggal dan Waktu dari Internet dengan ESP8266 NodeMCU. Pada tutorial ini kita akan menggunakan Library bernama NTPClient. Dengan cara ini nantinya sobat sambi bisa mendapat nilai pewaktuan yang akurat yang didapatkan melalui internet tanpa komponen tambahan seperti RTC, Yang diperlukan hanyalah sebuah koneksi internet untuk menghubungkan NodeMCU dengan NTP Server yang tersedia diInternet.

Tanpa basa basi lagi langsung saja kita langsung bahas tutorialnya.

Yang pertama harus sobat sambi lakukan adalah menambahkan library NTPClient pada Arduino IDE sobat.

Mengambil Data Tanggal dan Waktu dari Internet dengan ESP8266 NodeMCU


Setelah library berhasil ditambahkan, sobat sambi bisa langsung coba mengambil tanggal dan waktu dengan program berikut:


#include <NTPClient.h>

#include <WiFiUdp.h>


const long utcOffsetInSeconds = 3600*7;

char daysOfTheWeek[7][12] = {"Minggu", "Senin ", "Selasa", "Rabu  ", "Kamis ", "Jum'at", "Sabtu "};

WiFiUDP ntpUDP;

NTPClient timeClient(ntpUDP, "pool.ntp.org", utcOffsetInSeconds);


#include <ESP8266WiFi.h>


#ifndef STASSID

#define STASSID "WIFIKU"

#define STAPSK  "PASSWORDWIFIKU"

#endif


const char* ssid     = STASSID;

const char* password = STAPSK;


void setup() {

  Serial.begin(115200);

  Serial.println();

  Serial.println();

  Serial.print("Connecting to ");

  Serial.println(ssid);


  WiFi.mode(WIFI_STA);

  WiFi.begin(ssid, password);


  const long timeout = 15000;

  long _start = millis();

  while ((WiFi.status() != WL_CONNECTED) && (millis() - _start < timeout)) {

    Serial.print(".");

    delay(500);

  }


  Serial.println();


  if (WiFi.status() == WL_CONNECTED) {

    Serial.println("CONNECTED");

    Serial.println("IP: " + WiFi.localIP().toString());

    delay(500);

  } else {

    Serial.println("WiFi Tidak Terhubung");

    delay(500);

  }


  timeClient.begin();

}


void loop() {

  timeClient.update();

  Serial.print("Hari: ");Serial.println(daysOfTheWeek[timeClient.getDay()]);

  Serial.print("Jam: ");Serial.println(timeClient.getHours());

  Serial.print("Menit: ");Serial.println(timeClient.getMinutes());

  Serial.print("Detik: ");Serial.println(timeClient.getSeconds());


  

  Serial.println();

  Serial.print(daysOfTheWeek[timeClient.getDay()]);

  Serial.print(",");

  Serial.println(timeClient.getFormattedTime());

  delay(1000);

}


Nah itu dia temen temen sobat sambi cara untuk Mengambil Data Tanggal dan Waktu dari Internet dengan ESP8266 NodeMCU. Pewaktuan ini bisa diterapkan untukprojek temen temen, semisal digunakan untuk Reset atau Restart NodeMCU secara berkala dengan waktu tertentu. Untuk Contoh programnya temen temen tinggal tambahkan program seperti berikut.

if(timeClient.getHours() == 04){

    if(timeClient.getMinutes() == 30){

       ESP.restart();

    }

  }


Dengan program tersebut. NodeMCU sobat sambi akan melakukan restart secara otomatis pada pukul 04.30 

Oke itu saja yang saya bagikan untuk sobat sambi pada artikel kali ini. Semoga artikel yang saya tulis ini dapat bermanfaat untuk sobat sambi semuanya.

Berlangganan update artikel terbaru via email:

0 Response to "Mengambil Data Tanggal dan Waktu dari Internet dengan ESP8266 NodeMCU"

Posting Komentar

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel