在aRest arduino中接收多个客户端请求作为web服务器

问题描述:

我对Arduino非常新颖,我坚持使用Arduino代码,我需要从客户端接收多个连续请求,并在Arduino板中更新值。我正在使用带有Arduino和aRest库的以太网板来向Arduino开发板提供RESTFul服务。在aRest arduino中接收多个客户端请求作为web服务器

请检查下面的代码,让我知道我应该怎么修改或编辑,以达到以下要求(请注意,我有评论看门狗相关的代码),

https://gist.github.com/shaikhmshariq/36264bf20f24faf078c4155542fc6836

我需要接收多个(顺序)通过EthernetClient从客户端发出请求并根据收到的输入更新电机速度。当我运行下面的代码时,

  • 看门狗 - 它重置板,并因为它在4秒后电机关闭,这不是我想要的。
  • 没有看门狗 - 它根本没有收到第二个请求,这意味着服务器在服务第一个请求后根本没有响应,我收到服务器的即时响应。
+1

投票下来的问题没有任何评论的意思是什么?这里缺少什么? –

+0

您可以显示您正在编写的代码和/或请求吗?您可能不会在发送第二个连接之前关闭连接,请尝试将此标头添加到您的请求中:“Connection:close”在发送值后立即完成连接。 – George

+0

嗨,乔治。我能够弄清楚这个问题,我很快就会分享我的发现。尽管代码可以从我从Github分享的链接中看到。由于格式化问题,我无法在此处放置代码,因此我在Github上分享了它。 –

对不起迟到了这个,但这里是我对上面我面临的问题的发现。

因此,它与代码库无关,它看起来像我的电路有一些问题(主要是我的电阻),所以当我打电话analogWrite值高于80占空比它导致我的EthernetServer永远挂起。我已经测试了值在0到80之间的值,并且按照预期工作正常。

我能够实现所需的行为0到80占空比为我的POC所以没有纠正我的电路。希望这可以帮助某人解决类似问题。

由于代理问题,我无法从这里访问您的代码,但是我很久以前在尝试将我的板配置为服务器时遇到类似的问题。基本上,我的服务停止响应第二个请求的原因是内存不足。重构我的代码并利用定时器而不是控制主代码的转换帮助我解决了这个问题。尝试使用下面的库文库让你留意你的记忆。

http://playground.arduino.cc/Code/AvailableMemory