Innoway
  • Giới thiệu về Innoway
  • Release Note
    • 25/04
      • Device
      • Attributes
      • Adapter
  • Bắt đầu sử dụng
    • Đăng kí tài khoản
    • Tạo dự án mới
    • Hướng dẫn kết nối thiết bị
      • Hướng dẫn kết nối tới MQTT Broker của nền tảng
    • Giải pháp mẫu
      • Tích hợp đồng hồ nước thông minh
  • Tính năng
    • Quản lí tổ chức
      • Tổ chức
      • Nhóm
      • Thiết bị
      • Người dùng
      • Sự kiện
      • Thuộc tính
    • Quản lí nghiệp vụ
      • Quản lí Thing
      • Quản lí nghiệp vụ (Service)
    • Quản lý Firmware
    • Mẫu thiết bị
    • Bảng điều khiển
    • Vai trò
    • Custom Adapter
      • MQTT
      • TCP
      • UDP
    • Tính năng khác
      • Provision Device
      • Time Correction
  • Tài liệu
    • SDK
      • Device
      • Attributes
      • Adapter
      • ESP32
      • pg
    • API
      • MQTT Device API
      • HTTP Device API
      • REST API
Powered by GitBook
On this page
  • Tổng quan
  • Thiết bị
  1. Tính năng
  2. Tính năng khác

Time Correction

PreviousProvision DeviceNextSDK

Last updated 1 year ago

Tổng quan

Nếu thời gian của thiết bị không được định cấu hình hoặc hiển thị lệch thời gian, nnoway cung cấp phương thức cho phép thiết bị đồng bộ hóa thời gian với server để có được thời gian mới nhất.

Đối với các thiết bị không nhạy cảm với thời gian, chúng có thể sử dụng trực tiếp timestamp của server.

Đối với các thiết bị nhạy cảm với thời gian yêu cầu hiệu chỉnh thời gian có độ chính xác cao, cần xem xét chi phí đường truyền. Giả sử dấu thời gian của server là t3 và sau 10 ms, thiết bị sẽ nhận được dấu thời gian. Do đó, t3 + 10 ms phải là thời gian chính xác được đồng bộ hóa với thiết bị.

Giả sử chi phí yêu cầu bằng chi phí phản hồi và chi phí phản hồi bằng một nửa tổng chi phí đường truyền, như minh họa trong hình dưới đây.

  • t4 − t1 = Tổng thời gian chi phí

  • t3 − t2 = Thời gian chi phí của server

  • Thời gian chi phí của đường truyề = Tổng thời gian chi phí − Thời gian chi phí của server

  • Thời gian phản hồi = Thời gian chi phí của đường truyền ÷ 2 = (Tổng thời gian chi phí −Thời gian chi phí của server) ÷ 2 = (t4 − t1 − (t3 − t2)) ÷ 2 = (t4 − t1 − t3 + t2) ÷ 2

  • Thời gian chính xác = t3 + Thời gian phản hồi = t3 + (t4 − t1 − t3 + t2) ÷ 2 = (t4 − t1 + t3 + t2) ÷ 2

Khi thiết bị gửi yêu cầu đồng bộ thời gian tới server sẽ kèm thời gian gửi (t1). Server sẽ gửi lại t1, t2, t3. Sau đó thiết bị có thể tính toán thời gian chính xác.

Thiết bị

Để thực hiện đồng bộ thời gian, thiết bị sẽ gửi yêu cầu lên server:

Topic: time

Ví dụ:

{
  "time":1715573004000
}

Sau đó sever sẽ gửi bản tin phản hồi về topic time/response. Trong đó:

  • dst (device send time) - t1

  • srt (server receive time) - t2

  • sst (server send time) - t3

Ví dụ:

{
  "dst": 1715573004000,
  "srt": 1715573066273,
  "sst": 1715573066295
}