我正在构建一个系统,需要 Arduino 板将数据发送到服务器。
应用程序的要求/限制是:
- 服务器必须接收数据并将其存储在 MySQL 数据库中。
- 网络应用程序用于绘制历史数据的图表。
- 数据消耗至关重要
- 网络应用程序还必须能够实时绘制数据。
到目前为止,系统运行良好,但还需要优化。
目前采取的步骤是:
- 在 Arduino 板上累积数据 10 秒。
- 使用 POST 将数据发送到服务器,其中的数据包含代表 10 条记录的 XML 字符串。
- 服务器解析接收到的 XML 并将值存储在数据库中。
这种方法适用于历史数据,但不适用于实时监控。 我的问题是:以下之间有区别吗:
- 累积数据并将其作为 XML 发送,并且,
- 每秒发送一次数据。
就数据消耗而言,每秒发送一个 POST 请求是否过多?
谢谢
编辑:任何人都可以提供一个数学公式来衡量这两种方法在数据消耗方面的基准吗?
最佳答案
对于您的数据消耗问题,您需要计算出您提供手机套餐时每次 POST
的费用。我不知道是否有数学公式,但你可以轻松测试并计算出来。
但是,使用 3G(甚至 Wifi)时,功耗将成为一个问题,特别是当您的电路使用电池运行时;每个 POST 会爆发约 1.5 安培的电流,这对于每秒发送数据来说太大了。
但是,为什么要每秒发送数据呢? 实时并不意味着每秒发送数据,而是意味着至少与系统一样快。
例如,如果您发送温度,温度不会在一秒钟内从 0° 变为 100°。因此,所有这些 POST
都将浪费电力和数据。
您需要了解系统中参数变化的速度并相应地调整您的 POST
。
关于mysql - HTTP POST 传输建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39458234/