树莓派没有电池,因此断电后系统时间会停止,直到你开机后又继续计时,所以会造成系统时间和实际时间有很大的误差。

因为项目需要用到本地时间,精度要求不高不想折腾(如果需要高精度,需要安装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时间同步脚本的更多相关文章

  1. 为树莓派3B添加LCD1602液晶屏

    树莓派3B针脚说明 LCD1602接线说明 VSS,接地VDD,接5V电源VO,液晶对比度调节,接电位器中间的引脚,电位器两边的引脚分别接5V和接地.RS,寄存器选择,接GPIO14RW,读写选择,接 ...

  2. 极客圈(一)树莓派3B协同Python打造个性化天气闹钟

    人生苦短,我用Python~ 一直想自己折腾些极客的东西出来,供自己使用或者是供他人使用.一则可能对自己的生活是一种帮助,二则是对自己技能的提高,三则显得高大上,一直努力,一直提高,一直Happy!~ ...

  3. Jenkins 为Jenkins添加Windows Slave远程执行python项目脚本

    为Jenkins添加Windows Slave远程执行python项目脚本   by:授客 QQ:1033553122 测试环境 JAVA JDK 1.7.0_13 (jdk-7u13-windows ...

  4. python代码实现树莓派3b+驱动步进电机

    python代码实现树莓派3b+驱动步进电机 之前买了个树莓派,刚买回来那会儿热情高涨,折腾了一段时间,然后就放那吃灰了.前几天忽然想起来这个东西了,决定再玩玩儿,于是就从某宝上购买了一套步进电机.驱 ...

  5. [记录]学习树莓派3B接DHT11和LCD1602和修改树莓派时区

    前提 树莓派系统安装好 apache web 服务器,如未安装,可在树莓派内执行sudo apt-get install apache2 进行安装apache 也可以通过命令获取GPIO信息: gpi ...

  6. 树莓派保持网络连接shell脚本

    源:http://www.jianshu.com/p/96aa26d165c3 (我的简书文章) 故事背景 树莓派3b现在有了板载无线网卡,可以很方便的连接到wifi.但是无线路由器不能保证永远正常工 ...

  7. Linux实现树莓派3B的国密SM9算法交叉编译——(三)国密SM9算法实现

    先参考这篇文章 Linux实现树莓派3B的国密SM9算法交叉编译——(二)miracl库的测试与静态库的生成 进行miracl库的交叉编译测试,并生成miracl静态链接库. 这篇文章主要介绍基于mi ...

  8. Linux实现树莓派3B的国密SM9算法交叉编译——(一)环境部署、简单测试与eclipse工程项目测试

    这篇文章主要介绍了交叉编译的实现,包括环境部署,并简单测试交叉编译环境是否安装成功. 一.交叉编译 在一个平台上生成另一个平台上的可执行代码.为什么要大费周折的进行交叉编译呢?一句话:不得已而为之.有 ...

  9. 树莓派3b在rt-thread上移植LittlevGL

    树莓派3b在rt-thread上移植LittlevGL 目录 树莓派3b在rt-thread上移植LittlevGL 1.本文概述 2.资源准备 3.上手体验 4.rt-thread与lvgl进行无缝 ...

随机推荐

  1. 使用concurrent.futures模块并发,实现进程池、线程池

    Python标准库为我们提供了threading和multiprocessing模块编写相应的异步多线程/多进程代码 从Python3.2开始,标准库为我们提供了concurrent.futures模 ...

  2. php分享一个n维数组转一维的函数

    好玩,所以做了这么一个函数,来输出唐诗 函数如下 function changearr($arr){ if(count($arr)==count($arr,1)){ return $arr; } el ...

  3. 死磕salt系列-salt文章目录汇总

    死磕salt系列-salt入门 死磕salt系列-salt配置文件 死磕salt系列-salt grains pillar 配置 死磕salt系列-salt 常用modules 死磕salt系列-sa ...

  4. Beautiful Report 异步并发测试html报告

    version_ :python3.7 下载BeautifulReport   https://github.com/TesterlifeRaymond/BeautifulReport/archive ...

  5. [tensorflow源码分析] Conv2d卷积运算 (前向计算,反向梯度计算)

  6. Linux 内存使用方法详细解析

    我是一名程序员,那么我在这里以一个程序员的角度来讲解Linux内存的使用. 一提到内存管理,我们头脑中闪出的两个概念,就是虚拟内存,与物理内存.这两个概念主要来自于linux内核的支持. Linux在 ...

  7. 清除浮动元素的margin-top失效原因(更改之前的错误)

    //样式代码body,div{ margin:; padding:; } .box1{ background:#900; width:200px; height:200px; margin:20px ...

  8. (oralce)pga_aggregate_target与workarea_size_policy相互关系验证

    pga_aggregate_target与workarea_size_policy相互关系验证 先放上结论: 1. 当pga_aggregate_target设置为非0, 手工设置(workarea ...

  9. 前端实现文件在线预览txt,pdf,doc,xls,ppt几种格式

    做法就是使用iframe标签 1.text,pdf的文件预览 <iframe class="filename" :src="文件的地址" width='1 ...

  10. 关于安装时无法重启rabbitmq服务

    如图重启时找不到rabbitmq, 解决办法: rabbitmqctl stop :停止rabbitmq  rabbitmq-server restart : 重启rabbitmq 这两步就可以完成重 ...