Comment définir l'horloge matérielle avec Python sur des systèmes Linux incorporés? P>
4 Réponses :
probablement pas facile à autre que de faire un appel OS.System (). ou à l'aide de la commande "Date" p> 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. P> P>
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
une version mise à jour sur Ubuntu 16.04: Il est nécessaire que SET- NTP false code>) ou autre qu'il le changera immédiatement à l'heure actuelle. p> hwclock -w code> définit l'horloge matérielle en fonction de l'heure actuelle du système (défini par date code>) p> date code> & hwclock code> est exécuté comme sudo code> aussi . p> p>
Ceci utilise ioctl code> 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 code> et DateUtil code> pour gérer les conversions locales / UTC. N'hésitez pas à utiliser le code (licence 3-Clause BSD). Obtenez l'horloge avec get_hwclock () code> et définissez-le avec set_hwclock () code> ...
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 B> 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 ...