我正在使用Raspberry PI并使用python脚本从声音传感器输出值.为了显示这一点,我在我的PI上使用了一个HTML页面,它调用了一个javascript include,它只是一行,用于定义一个值,用于更改Google量表显示的内容.所有这些都非常简单明了,并且可以满足我的需求.(添加了奖金,我实际上了解它是如何工作的.)
.js文件是由我的python脚本写出来的,它也做了很多其他的东西.这一切实际工作正是我想要它,而被写入到文件中的值准确,不正确地显示在仪表如果我运行它作为一个循环,而不是在它运行一个连续的"监控服务"模式直到被打断
这就是我认为问题开始的地方:测量声级的循环在5秒内运行~30k次.在我的python代码中,我使用:
with open(web_file, 'w') as f_output:
f_output.write("var int_level = " + str(per_detected))
f_output.close()
Run Code Online (Sandbox Code Playgroud)
我这样做,因为我想一想我每次都需要做密切,因为循环的(我知道"和"一个隐含的接近,而是因为我每天都似乎更好的时间重新打开文件强行将其关闭,以确保),但我认为这也可能是问题.(我也是故意使用'w'模式,因此我每次都可以重置文件,因为它只有一行 - 看起来比更换值更快,计算成本更低)
该症状是谷歌计HTML页面刷新,每5秒一次加载新的价值,但本身规只呈现每10次刷新一次,也许,但是这是完全随机的,显然表明有在.js文件没有价值被退回.我认为这意味着它可能会在几次尝试中获胜并在收盘前点击文件,或者它是否太快而且这是一种愚蠢的方式呢?
另外需要注意的是,当我从PI命令行中获取level.js(< - 包含文件)时,在"查杀"我的python代码之后,它是空的.
我有所有代码(包括HTML页面):
https://www.GitHub.com/ChrisHarrold/Pi-Projects
如果您想查看更多细节.它被评论为6种方式直到星期日,所以要弄清楚我做了什么以及为什么这样做应该是微不足道的.