9
votes

Définir l'horloge matérielle dans Python?

Comment définir l'horloge matérielle avec Python sur des systèmes Linux incorporés?


0 commentaires

4 Réponses :


13
votes

probablement pas facile à autre que de faire un appel OS.System (). xxx

ou à l'aide de la commande "Date" xxx

Ou si vous mourez de faire du codage C, enveloppez les appels système avec Swig ... mais je pense que ce serait plus de travail que sa valeur.


2 commentaires

Il devrait être possible de faire - à condition que le pilote RTC ou RTCN est présent - via IOCTL, dans FCNTL par docs.python.org/library/fcntl.html et RTC (4) (ou la documentation du noyau / rtc.txt) - Cependant, si vous avez Python sur le système, hwwlock devrait être un Facile facile.


ZDAV, merci pour l'aide. Juste une note: j'utilise Bupérybox et je dois d'abord modifier l'horloge système avec "OS.System (" Date -S% S '% Date_str) ", puis réglez l'horloge HW de l'horloge système avec OS.System ('hwclock -w). Salutations



1
votes

Utilisez Python's fonction OS.System pour appeler le hwclock commande.


0 commentaires

3
votes

une version mise à jour sur Ubuntu 16.04: XXX

NOTE IMPORTANT : Vous devrez peut-être modifier les paramètres de temps / date pour définir manuellement ( SET- NTP false ) ou autre qu'il le changera immédiatement à l'heure actuelle.

hwclock -w définit l'horloge matérielle en fonction de l'heure actuelle du système (défini par date )

Il est nécessaire que date & hwclock est exécuté comme sudo aussi .


0 commentaires

1
votes

Ceci utilise ioctl pour définir l'horloge matérielle comme demandé (mais pas l'horloge système). Il évite les processus supplémentaires mais est plus impliqué. J'utilise pytz et DateUtil pour gérer les conversions locales / UTC. N'hésitez pas à utiliser le code (licence 3-Clause BSD). Obtenez l'horloge avec get_hwclock () et définissez-le avec set_hwclock () ... xxx


2 commentaires

Merci beaucoup. Est-ce disponible en tant que bibliothèque aussi? On m'a dit que la copie et la pâte est un mauvais modèle.


@GuettLi: Bibliothèque: pas que je sache. En ce qui me concerne, j'envisagerais Copy & Coller dans une catégorie de code un mauvais modèle. Mais copier du code tiers, la sauvegarde dans un fichier avec une licence appropriée et utiliser le code de production est une bête différente: il reste aussi sec que vous l'obtiendrez ...