IOT Tutorial

Realtime Clock NTP Server with Wemos D1 Mini

NTP Server

NTP Server merupakan Internet Protokol (IP) standar guna menyinkronisasikan jam komputer ke beberapa referensi melalui jaringan internet.

Pada pembuatan project tertentu, tentu kita membutuhkan data logger sebagai penyimpan data berdasarkan waktu tertentu.

Untuk itu kita menggunakan modul tambahan RTC misalnya DS3231, DS1307, DS1302, sebagai dasar waktu untuk penyimpanan.

Akan tetapi itu, kadang pada RTC tersebut tingkat keakuratannya tidak selalu oke dan butuh untuk penyesuaian manual sehingga sesuai dengan waktu yang semestinya.

Dari sinilah dipilihlah penggunaan NTP Server atau Network Time Protocol yang dimana apabila modul wifi dapat mengambil data waktu secara gratis.

Dan Modul wifi tersebut misalnya ESP8266 tidak perlu menambahkan perangkat atau modul RTC tambahan lagi.

NTP Server

Protokol tersebut dapat digunakan untuk menyinkronkan semua perangkat jaringan ke Coordinated Universal Time (UTC) dalam beberapa milidetik (50 milidetik melalui Internet publik dan di bawah 5 milidetik jaringan LAN).

Coordinated Universal Time (UTC) merupakan standar waktu yang digunakan di seluruh dunia, yang berkaitan dengan GMT (Greenwich Time).

NTP dapat mensinkronisasi jam komputer, handphone secara otomatis sesuai dengan waktu lokasi posisi saat itu dengan waktu zona lokal.

Cara Kerja dari NTP atau Network Time Protocol

NTP dapat beroperasi dalam beberapa cara konfigurasi, dan konfigurasi yang paling umum yaitu beroperasi dalam mode client-server.

Prinsip cara kerja dasarnya yaitu :

  1. Client Device misalnya yang akan digunakan wemos D1 Mini ESP8266 terhubung ke server menggunakan User Datagram Protocol (UDP) pada port 123
  2. Setelah itu Client request ke server NTP
  3. Respon dari request tersebut, server NTP mengirimkan Time-Stamp Packet
  4. Time-Stamp Packet berisi banyak informasi data seperti waktu UNIX, zona waktu, dan lain – lain
  5. Dari data tersebut Client menterjemahkan kedalam data waktu dan tanggal saat ini
Ilustrasi NTP Server dan Wemos D1 mini sebagai client

Tutorial mendapatkan waktu dari NTP dengan Wemos D1 mini ESP8266

Bahan yang diperlukan :

  1. Wemos D1 mini
  2. LCD 16×2 dan PCF8574
  3. Kabel Jumper
  4. Regulator LM2596
  5. Catudaya 12 / 5 Vdc minimal 2A
  6. Koneksi Internet
Baca Juga:  Konfigurasi OSPF Single Area Mikrotik

Gambar rangkaian untuk tutorial diatas

Wemos D1 mini + LCD NTP Server

Hal pertama yang dilakukan yaitu instalasi libraries NTP Client pada Arduino IDE, dikarenakan sebagai include header pengakasesan NTP Server.

Berikut langkah – langkah instalasinya :

  1. Buka software Arduino IDE
  2. Pastikan komputer atau laptop terhubung dengan internet
  3. Kemudian klik Sketch > Include Library > Manage Libraries 
  4. Ketikan “NTPClient by Fabrice Weinberg”  dan klik install 

Selain itu dibutuhkan juga driver kedua yaitu driver LCD PCF8574, dengan metode yang sama seperti diatas.

Untuk libraries driver LCD PCF8574 yang dipakai yaitu “LiquidCrystal_PCF8574 by Matthias Hertel“.

Setelah itu, hal yang pertama dilakukan yaitu i2c scanner untuk mencari alamat dari driver lcd tersebut.

Program dapat didapatkan dan langsung bisa diupload, jangan lupa setting di board wemos D1 mini. Filenya ini

I2C SCANNER WEMOS D1 MINI DAN PCF8574

Program Realtime Clock dari NTP Sederhana menggunakan LCD

Hasil dari program diatas

Baca Juga:  Inilah Cara Mengunci WhatsApp dengan Fingerprint
hasil program diatas Wemos D1 mini + LCD NTP Server

Pool.ntp.org secara otomatis memilih server waktu yang secara geografis terdekat dengan Anda. Akan Tetapi jika Anda ingin memilih secara eksplisit, dapat digunakan salah satu sub-zona dari pool.ntp.org.

ZonaHostname
Di seluruh duniapool.ntp.org
Asiaasia.pool.ntp.org
Eropaeurope.pool.ntp.org
Amerika Utaranorth-america.pool.ntp.org
Oceaniaoceania.pool.ntp.org
Amerika Selatansouth-america.pool.ntp.org

Dari program diatas dapat dikembangkan untuk schedule timer automatic, misalnya menghidupkan matikan lampu dijalanan, tanpa menggunakan RTC tambahan.