码迷,mamicode.com
首页 > 编程语言 > 详细

树莓派3b添加python时间同步脚本

时间:2018-06-13 16:27:49      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:时间转换   服务   span   response   停止   exit   成功   bsp   col   

树莓派没有电池,因此断电后系统时间会停止,直到你开机后又继续计时。

因为项目需要用到本地时间,精度要求不高不想折腾(如果需要高精度,需要安装ntp),所以考虑用python脚本同步百度的时间,精度误差很小在0.5-1秒之内,需要网络支持。

1、创建python程序

sudo nano date.py

2、写入python代码

# -*- coding: UTF-8 -*-
import os
import time
import httplib

#获取远程服务器时间并同步本地
def get_webservertime(host):
    conn=httplib.HTTPConnection(host)
    conn.request("GET", "/")
    r=conn.getresponse()
    ts=  r.getheader(date) #获取http头date部分
    ltime= time.strptime(ts[5:25], "%d %b %Y %H:%M:%S") #将GMT时间转换成北京时间
    ttime=time.localtime(time.mktime(ltime)+8*60*60) #时区+8小时
    currenttime="%u-%02u-%02u %02u:%02u:%02u"%(ttime.tm_year,ttime.tm_mon,ttime.tm_mday,ttime.tm_hour,ttime.tm_min,ttime.tm_sec)
    os.system(sudo date -s " + currenttime  + ")

time.sleep(20)
get_webservertime("www.baidu.com")

while 1:
    time.sleep(120)
    get_webservertime("www.baidu.com")

3、给予权限

sudo chmod 777 date.py

4、测试程序

先将系统时间改为过期时间

sudo date -s 2016-02-03 10:00:00

查看系统时间是否修改成功

sudo date

执行编写好的python程序,20秒后使用date命令查看系统时间是否同步成功!

sudo python date.py

5、将python程序加入开机自启

编辑系统启动文件

sudo nano /etc/rc.local

在 exit 0 之前加入脚本(注意程序路径)

/usr/bin/python /home/pi/date.py > /home/pi/GetDate.log

6、重启树莓派,20秒后查看系统时间是否同步成功

sudo reboot

 

树莓派3b添加python时间同步脚本

标签:时间转换   服务   span   response   停止   exit   成功   bsp   col   

原文地址:https://www.cnblogs.com/likai-abc/p/9178214.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!