1

我对网络开发完全陌生,所以如果这个问题是多余的,请原谅我。这是我想要做的:我有多个 Arduino(配备有 EthernetShields)正在收集和显示数据(使用传感器和 LCD 屏幕)。所有 Arduino 都与托管 MySQL 数据库的网络服务器和可视化数据的网页进行通信。Arduinos 本身能够托管可以运行一些简单的 html/php/etc 的简约网络服务器...

我的问题是:实现 Arduinos 和主服务器之间的通信最直接的方法是什么,这样我就可以在它们之间来回发送数据,而无需任何用户交互?数据由相对较少的整数值和短文本字符串组成。安全不是问题。

为清楚起见进行编辑:如何在两个 Web 服务器之间连续地来回发送数据?假设我使用 PHP,有什么简单的方法可以做到这一点?GET 和 POST 方法的所有教程都包括使用“表单操作”,据我了解,这需要用户交互。

4

1 回答 1

1

如果我理解正确,您有一个需要与一大堆 arduino 通信的中央 Web 服务器。您需要在 arduinos 和中央服务器之间双向发送信息。而且,您想使用 web (http / tcp / ip ) 协议来执行此操作。

你面临一个选择:
你想让中央服务器发起通信吗?或者你想让每个 arduino 发起通信?

我觉得第二个选择还不错。这意味着您可以在系统中添加新的 arduino,而无需以某种方式重新配置中央服务器。但是,我对您的应用程序了解不多,所以这可能是一个坏主意。

所以,你要做的是在每个 arduino 上实现一个简单的 Web CLIENT(不是浏览器)。然后,定期让每个 arduino 向主服务器发出 Web 请求。根据您需要从 arduino 发送到服务器的数据量,您可以使用 GET 或 POST。如果数据很小,可以使用 GET 请求。例如,如果它是温度和湿度,您可以每秒发送一次这样的请求。

http://server/upload.php?temp=65&humidity=78

作为对此的响应,中央服务器可以正确处理这些数据。您将能够通过客户端互联网地址判断它来自哪个 arduino REMOTE_ADDR

然后,服务器发送一个响应,其中包含服务器需要发送到 arduino 的任何数据。

看看这是怎么回事?每一秒,每个 arduino 都会访问网络服务器说“这是我为你准备的。你为我准备了什么?”

于 2013-01-13T18:58:34.133 回答