Saya menyadari bahwa karena Raspberry Pi tidak memiliki jam real-time perangkat keras yang terpasang, beberapa masalah dengan ketepatan waktu yang akurat dapat muncul dengan sendirinya, bahkan ketika kegigihan di seluruh reboot bukanlah keharusan .
Ini sebagian besar dapat dikurangi dengan menjalankan daemon NTP yang akan terus memperbaiki waktu lokal, tetapi NTP bukan pilihan jika Raspberry Pi tidak terhubung ke jaringan.
Jadi jika saya membiarkan Raspberry Pi dinyalakan dengan waktu yang akurat di awal, berapa yang harus saya harapkan waktu yang dilaporkan melayang dari waktu setempat yang sebenarnya?
Dan bagaimana dengan antar reboot?
raspbian
timekeeping
system-clock
SDsolar
sumber
sumber
Jawaban:
Sebenarnya ada dua masalah:
1) Keakuratan osilator itu sendiri - yang memiliki variabel seperti keunikan, usia, suhu, dll. Pembacaan katalog cepat menunjukkan kristal jam mikroprosesor khas berada di urutan +/- 10-100 bagian per juta
2) Jika ada sesuatu yang dapat menyebabkan kesalahan ketepatan waktu relatif terhadap osilator kristal. Itu akan menjadi hal-hal seperti interupsi yang terlewat, atau masalah transisi jika jam yang digunakan adalah setelah pengganda PLL - atau dipengaruhi oleh pelambatan jam (jika digunakan).
Secara kebetulan, NTP kecuali diimplementasikan dengan sangat baik sebenarnya dapat membuat waktu self-relative tepat lebih buruk dalam jangka pendek, karena itu berarti jam lokal dapat diubah agar konsisten dengan otoritas eksternal, daripada tetap konsisten dengan dirinya sendiri.
sumber
Itu akan tergantung pada kristal yang mereka gunakan, mungkin 10ppm atau lebih. Anda tidak dapat benar-benar mengandalkannya kecuali itu ditentukan di suatu tempat sekalipun. Anda mungkin dapat menggunakan GPS jika tidak terhubung ke jaringan. Kalau tidak, chip RTC dapat ditambahkan.
Anda akan membutuhkan sesuatu yang lebih baik daripada hanya waktu perangkat lunak jika ada kemungkinan RPi dapat kehilangan daya atau rusak.
Saya berharap bisa menghubungkan RTC ke GPIO dalam waktu dekat
sumber
Menafsirkan pertanyaan yang akan ditanyakan tentang Raspberry Pi yang menjalankan Raspbian.
OS adalah pengaruh dominan dalam cara Rapberry Pi menjaga waktu.
Jawaban: Tanpa sumber eksternal, jam internal sangat tidak dapat diprediksi dalam hal menjaga waktu sendiri.
Studi kasus terbaru:
Ini adalah plot dari Raspberry Pi 3 B datalogger yang tiba-tiba kehilangan daya utilitas selama sekitar satu jam:
Anda dapat dengan jelas melihat bahwa ketika daya hidup kembali, ia boot dan memulai kembali pencatatan data.
Tetapi jam Raspbian melompat kembali ke masa.
Kemudian Anda dapat melihatnya melompat ke waktu yang tepat segera setelah mendapat pembaruan dari time.nist.gov
Bagaimana cara mengatur Raspbian untuk menggunakan waktu server time.nist.gov primer?
Ini plot baru dari sistem yang sama lagi.
Karena terputus kemarin (lihat plot di atas) saya biasa
sudo init 0
mematikannya dengan benar, untuk gambar kartu SD dengan Win32DiskImager pada PC.Butuh beberapa saat, seperti yang bisa dilihat di sini.
Di sini Anda dapat melihat Raspbian awalnya menyalakan kembali jamnya tepat di tempat yang ditinggalkannya. Sepertinya itu telah mencatat data yang baik (melompat) dalam satu menit.
Kemudian itu menunjukkan apa yang terjadi ketika menerima pembaruan waktu. Melompat ke depan ke kanan.
Jumlah yang dilompati (beberapa jam) adalah waktu yang terlewatkan oleh Raspbian saat kartu SD sedang dicitrakan.
Ini twist yang mengejutkan.
Sistem hanya membeku. Lampu merah dan hijau menyala, tidak berkedip.
Diumumkan (menggunakan
espeak
) dalam beberapa menit oleh pekerjaan cron berbasis server utama server yang memonitor data logger untuk kejadian seperti itu. Jadi tidak lebih dari beberapa menit.Daya tarik selama beberapa detik. Boot ulang - LED terlihat normal.
Inilah bagaimana kesalahan ini memengaruhi pencatatan data:
Jam Raspbian melonjak maju 2 jam ketika sistem di-reboot.
Kemudian pembaruan waktu dari time.nist.gov mengembalikannya.
Jawaban: Tanpa sumber eksternal, jam internal tidak dapat diprediksi dalam hal menjaga Real Time sendiri.
Bagaimana cara mengatur Raspbian untuk menggunakan waktu server time.nist.gov primer?
sumber