2016-03-10 264 views
0

我希望有人可以帮助我,因为谷歌搜索令人沮丧,我没有得到任何地方。树莓pi计时器

我需要什么:使用来自pi和加速度计读数的模拟时间来确定运动。

我期待设置一个使用Raspberry Pi独立计时器(独立不带互联网)我不想要或需要一个RTC(或我?)。我只需要跟踪从程序启动到数秒内完成的时间。

现在“time.sleep(...)”不起作用,因为它暂停了程序并且没有模拟实时。

我可以使用什么样的代码来使模拟计时器在后台运行,从中我可以随着程序的进展跟踪时间?

感谢

回答

0

time moduletime.time())的time()方法让你的系统时间从历元(1970年1月1日)秒。如果您没有互联网连接并且没有RTC,那么每次启动pi时都可能从0开始。但是,因为你只关心相对时间,这应该是确定的。

您可以在程序开始时存储返回值time.time(),并从当前时间减去开始时间(通过再次调用time.time()获得)以获得在任意时间点过去的秒数。

例如:

import time 
start = time.time() 
# do something here that takes time 
elapsed_seconds = time.time() - start 

可替代地,一个较好的方法是安装uptime模块。 uptime.uptime()将返回自从树莓派在几秒钟内启动后的时间,这将一直是单调递增的,直到董事会关闭。

系统时间可以通过NTP客户端等进行更改...如果您的控件外部存在,那么当您调用time.time()之间的时间发生变化时,它可能会破坏您的代码。

0

由于Raspberry Pi的操作系统(如Linux或Windows IOT)不是实时的,因此无法在正确的时间使用它。如果你想要正确的时机,你必须使用一块带有微控制器的电路板连接到Raspberry Pi