2016-04-21 55 views
0

对不起,我的英语不好。我可以通过我的Arduino以太网发送数据而不“屏蔽”我的草图吗?

我目前正在研究一个非常简单的Arduino项目。

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

确实,当我执行HTTP请求时,我的素描被“封锁”,学生无法再使用该系统。 这是一个真正的大问题,因为如果我的日志中有200行,那么通过一个接一个地发送请求就会花费很长时间。

我已经知道使用millis()来使用“多任务”。

我绝对不知道如何发送请求,而不“阻止”我的草图..我不想找人写我的草图。我只想知道在执行请求时是否有办法避免以太网屏蔽的“阻塞”效应。

感谢您的帮助。

+0

我不知道你是如何设置它的,但我认为最便宜,最简单的解决方案是在线购买两美元的第二个arduino克隆。人们可以读取RFID标签并在另一个传输时写入数据。 – jDo

+0

所以,如果我错了,请纠正我,但我的想法是将以太网屏蔽线连接到一个arduino,并将我的rfid阅读器连接到另一个。但第二个应该如何将数据发送到以太网盾的SD卡? – Kairos

+0

是的,没错。我以某种方式想象,他们都可以访问相同的存储介质,但如果它是一个盾牌上的SD卡,它可能需要一些黑客/焊接。是否有可能在传输环路中检查“传入”读数,并在有人使用读卡器的情况下突破它,或者是“一次发送一行” - 您想要避免的解决方案? – jDo

回答

0

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

在另一方面,仅仅是一个想法,虽然,(我没有与以太网屏蔽的亲身经历。)

,你可以从第一Arduino的串行数据发送到第二ardiuno,独立,检测每次RFID。与发送100行日志的时间相比,这不需要太多时间。现在,第二个ardiuno可以将这些数据一个接一个地保存在内存中,直到最终发送到服务器。

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

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

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

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

+0

那么,你的解决方案可能会很好。我会试一试。我需要每小时发送一次数据,因为学生没有相同的时间表。 (例如,我从9点开始,但我的一个朋友在上午10点开始)。由于系统在这里提供关于学生出勤的信息,我的数据库需要尽可能地更新。 – Kairos

相关问题