Tôi đang tạo đồng hồ. Tôi muốn đặt đồng hồ bằng cách cắm cáp Ethernet vào đồng hồ. Hầu hết thời gian đồng hồ sẽ không được cắm vào Internet.Ethernet bắt đầu chặn trong 60 giây nếu không có cáp Ethernet
Tôi có bảng Arduino và Ethernet shield có thể kết nối thành công với máy chủ thời gian và đọc thời gian (Xem tệp ví dụ UdpNtpClient trong Ví dụ> Ethernet).
Vấn đề là định cấu hình lá chắn Ethernet, các khối gọi Ethernet.begin()
cho 60 giây nếu khiên không được kết nối với Internet. Tôi muốn đồng hồ cho biết thời gian và định kỳ kiểm tra xem nó có cắm cáp Ethernet hay không và nếu có, hãy sửa bất kỳ thời gian nào. Hầu hết thời gian kiểm tra này sẽ có một kết quả tiêu cực, tuy nhiên, vì vậy tôi không thể có đồng hồ đóng băng cho 60 giây mỗi lần.
Có thể phát hiện xem cáp có được kết nối nhanh hơn chức năng Ethernet.begin()
không? Có thể viết giải pháp "đa luồng", trong đó Ethernet.begin()
không bị chặn không?
Cảm ơn! Tôi nghĩ cái này sẽ có hiệu quả. Ai đó cũng nói rằng tôi có thể nhận được thời gian từ một đơn vị GPS, vì vậy tôi có thể thử điều đó quá. – rob
GPS âm thanh như một ý tưởng lớn đối với tôi, chúng tôi làm điều đó với phần cứng của chúng tôi để đồng bộ hóa đồng hồ ngay từ đầu. Chỉ cần nhớ thời gian GPS là một vài giây trong số thời gian UTC bình thường ... Ngoài ra, không cần phải cắm cáp ethernet. Chúc bạn may mắn với dự án đồng hồ của mình = D –
Tôi có thể tìm thấy những "bài đăng trên blog có sẵn trên Google bao gồm vấn đề chính xác này"? – powtac