我希望有人可以帮助我,因为谷歌搜索令人沮丧,我无法到达任何地方。
我需要:使用pi和加速度计读数的模拟时间来确定运动。
我希望单独使用Raspberry Pi设置一个计时器(独立,没有互联网)我不想要或不需要RTC(或者我?)。我只需要跟踪从启动程序到几秒钟完成的时间。
现在“time.sleep(...)”不起作用,因为它会暂停程序并且不会模拟实时。
我可以使用哪些代码来创建一个在后台运行的模拟计时器,我可以在程序进行时跟踪时间?
由于
答案 0 :(得分:0)
来自time
module(time()
)的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()
将返回自覆盆子pi在几秒钟内启动以来的时间,这将始终是单调增加直到电路板关闭。
系统时间可以由NTP客户端等更改...如果存在于您的控件之外,那么它可能会在您time.time()
的调用之间更改时破坏您的代码。
答案 1 :(得分:0)
由于Raspberry Pi的操作系统(如Linux或Windows IOT)不是实时的,因此您无法将其用于正确的计时。如果您想要正确的时序,您必须使用连接到Raspberry Pi的微控制器的电路板