我正在建立一个基于一些基本传感器和Raspberry Pi的气象站。我现在有一个成功的工作站,但我不确定我编码和建立电台的方式是正确的方式也是最合乎逻辑的。我的工作站如何工作的高级视图是,Python脚本读取传感器并将值分配给变量,然后插入到mysql表中。使用select语句运行PHP脚本以获取我的值并以我们本地网络上的任何人都可访问的网页格式显示我的结果。
我想要了解的第一件事是基于我的python代码,我每3秒更新一次传感器变量并将更新写入我的表。因此,如果我想获得数据历史记录,我会不断(每3秒)写一次我的表格。这使得表格非常快。如果我存储整周的数据,那么每周大约有30,240个读/写! mysql数据库可以处理这么大量的数据吗?我的SD卡可以可靠地处理这么多的读/写吗? (到目前为止,我已经测试了大约1小时,似乎工作正常)。
如何写入此数据库表最有意义?我想捕捉当天的最大风速,这就要求我几乎不断检查我的风速传感器,这样我才能获得最准确的读数。我已经考虑过这样设置,以便我不断更新我的风速变量,但每隔5分钟只更新一次温度,湿度和降雨量,然后写到桌子上。
非常感谢任何关于如何改进我的系统的一般想法和指导。我只是为了学习这一切。
谢谢, 安德鲁
答案 0 :(得分:0)
MySQL可以处理那么多数据 - {4}你的SD卡,它使用的文件系统,以及它可以容纳多少数据。从the constraint will be开始,导航到Raspberry上的/var/lib/mysql
并运行ls -lh
以查看数据库的大小。
就SD卡的读/写次数而言,this article表示您计算的读/写次数不会成为问题。
您处理风速的方式听起来是正确的,而其他传感器的5分钟更新频率听起来也不错。您的更新频率实际上取决于您的用户(您)希望看到的数据量。
我正在使用Arduinos,Raspberry和Django为Web框架开展类似的项目。我没有将数据写入像您这样的本地数据库,但它在过去一个月左右一直运行良好。
如果您关注SD卡的读/写次数或本地数据库的大小,或者只想玩新的东西,您可以考虑使用Amazon Web Services等东西来托管数据库和您的Web应用程序。这就是我所做的,这是一次有趣的学习经历。我还没有超出免费等级,因为我生成了大量的数据。