全部产品
Search
文档中心

IoT Platform:Layanan NTP

更新时间:Jul 02, 2025

IoT Platform menyediakan layanan Network Time Protocol (NTP) untuk menyinkronkan waktu server dengan perangkat tertanam yang memiliki sumber daya terbatas.

Cara kerjanya

Layanan NTP beroperasi menggunakan protokol NTP, di mana IoT Platform bertindak sebagai server NTP. Berikut adalah proses kalibrasi waktu presisi tinggi:

  1. Perangkat mengirim pesan ke IoT Platform melalui topik tertentu. Pesan tersebut mencakup parameter deviceSendTime.

  2. Setelah menerima pesan, IoT Platform mengembalikan respons yang mencakup parameter serverRecvTime dan serverSendTime.

  3. Ketika perangkat menerima respons, perangkat menghasilkan parameter deviceRecvTime berdasarkan waktu lokal.

  4. Perangkat menghitung selisih waktu antara perangkat dan IoT Platform serta memperoleh nilai parameter Time, yang menunjukkan waktu sistem server.

Penting

Kalibrasi waktu sistem perangkat hanya dapat dilakukan menggunakan layanan NTP jika perangkat terhubung ke IoT Platform.

Jika perangkat tidak terhubung ke IoT Platform, perangkat tidak akan mendapatkan waktu yang akurat setelah dinyalakan. Selain itu, saat perangkat membangun koneksi berbasis TSL ke IoT Platform, verifikasi cap waktu sertifikat akan gagal.

Topik

Topik permintaan: /ext/ntp/${YourProductKey}/${YourDeviceName}/request

Topik respons: /ext/ntp/${YourProductKey}/${YourDeviceName}/response

${YourProductKey} dan ${YourDeviceName} menentukan ProductKey dan DeviceName dalam sertifikat perangkat. Sertifikat perangkat dapat diperoleh di halaman Device Details dari konsol IoT Platform atau .

Koneksi perangkat

Layanan NTP hanya dapat dikonfigurasi menggunakan Link SDK untuk C. Untuk mengunduh kode contoh, lihat Memperoleh dan Menggunakan Link SDK untuk C.

Untuk informasi lebih lanjut tentang cara mengonfigurasi layanan NTP pada perangkat, lihat Layanan NTP.

Berikut adalah langkah-langkah untuk menggunakan layanan NTP dengan topik tertentu:

  1. Perangkat mengirim pesan QoS 0 ke topik /ext/ntp/${YourProductKey}/${YourDeviceName}/request. Pesan tersebut mencakup cap waktu yang menunjukkan waktu saat ini perangkat, dengan unit milidetik. Contoh:

    {
        "deviceSendTime":"1571724098000"
    }
    Catatan
    • Tipe data cap waktu dapat berupa Long atau String. Secara default, tipe data Long digunakan.

    • Layanan NTP hanya mendukung pesan QoS 0.

  2. Perangkat menerima respons dari IoT Platform melalui topik /ext/ntp/${YourProductKey}/${YourDeviceName}/response. Berikut adalah contoh kode:

    {
        "deviceSendTime":"1571724098000",
        "serverRecvTime":"1571724098110",
        "serverSendTime":"1571724098115"
    }
  3. Perangkat menghitung waktu saat ini yang akurat dalam format cap waktu UNIX.

    Perangkat mencatat cap waktu ketika menerima respons dari server NTP sebagai ${deviceRecvTime}. Waktu saat ini yang akurat dihitung menggunakan rumus berikut: (${serverRecvTime} + ${serverSendTime} + ${deviceRecvTime} - ${deviceSendTime})/2.

Contoh

Catatan

Cap waktu yang dikirim oleh perangkat dan server NTP harus memiliki tipe data yang sama. Misalnya, jika cap waktu yang dikirim oleh perangkat bertipe STRING, maka cap waktu yang dikembalikan oleh server NTP juga bertipe STRING.

Dalam contoh ini, cap waktu perangkat adalah 1.571.724.098.000, sedangkan cap waktu server NTP adalah 1.571.724.098.100. Latensi tautan adalah 10 milidetik, dan server NTP mengirim respons 5 milidetik setelah menerima pesan dari perangkat.

Operasi

Waktu perangkat (milidetik)

Waktu server (milidetik)

Perangkat mengirim pesan

1571724098000 (deviceSendTime)

1571724098100

Server NTP menerima pesan

1571724098010

1571724098110 (serverRecvTime)

Server NTP mengirim respons

1571724098015

1571724098115 (serverSendTime)

Perangkat menerima respons

1571724098025 (deviceRecvTime)

1571724098125

Perangkat menghitung waktu saat ini yang akurat menggunakan rumus berikut: (1.571.724.098.110 + 1.571.724.098.115 + 1.571.724.098.025 - 1.571.724.098.000)/2 = 1.571.724.098.125.

Jika perangkat menggunakan cap waktu 1.571.724.098.115 yang dikembalikan oleh IoT Platform, latensi tautan sebesar 10 milidetik antara perangkat dan IoT Platform tidak termasuk dalam perhitungan.