我可以通过我的Arduino以太网发送数据而不用"阻止"我的素描?

时间:2016-04-21 14:38:26

标签: arduino ethernet

抱歉我的英语不好。

我目前正在开展一个非常简单的Arduino项目。

我正在为我的学校制作一个考勤记录器,以了解学生花在学习上的时间。 RFID阅读器部分工作正常。检测到标签时,我将值和时间存储在SD卡中。 每个小时,我的系统都必须将日志发送到Web服务器以将其存储在数据库中,这就是我的问题。我正在与以太网部分挣扎。

的确,当我执行HTTP请求时,我的草图被“阻止”#34;并且学生不能再使用该系统了。 这是一个真正的大问题,因为如果我的日志中有200行,那么通过请求逐个发送这些行将花费很长时间。

我已经意识到使用millis()来使用"多任务"。

我绝对不知道如何在没有"阻止"的情况下发送请求。我的素描..我不是在找人写我的素描。我只是想知道是否有办法避免"阻止"我执行请求时对以太网屏蔽的影响。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

即使您逐个发送,也无法控制服务器端。您无法保证服务器会在特定时间范围内始终响应。 如果您的系统非常繁忙,那么这可能不是您的完美解决方案。

另一方面,只是一个想法,(我没有以太网盾的个人经验。)

每次检测到RFID时,您都可以单独从第一个arduino到第二个ardiuno连续发送数据。与发送100行日志的时间相比,这不应该花费太多时间。现在,第二个ardiuno可以将这些数据保存在内存中,直到最终发送到服务器。

现在当第二个arduino忙于向服务器发送数据时,我们可以在第一个arduino的内存中收集一些RFID读取,并在完成服务器的操作时传递给它。

检查第二个arduino是否为bg,我们可以在第二个arduino中设置一个高位,直到服务器部分完成。

但是,我仍然不明白为什么你必须每隔一小时发送一次。我觉得你有理由。

如果您仍想节省一些时间,请在两个arduino之间进行并行数据传输,而不是串行传输。