php - 服务器之间的简单数据交换

标签 php jquery html mysql protocols

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

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

为清楚起见编辑: 如何在两个网络服务器之间不断地来回发送数据? 假设我使用 PHP,执行此操作的简单方法是什么? GET 和 POST 方法的所有教程都包括“表单操作”的使用,据我所知,这需要用户交互。

最佳答案

如果我没理解错的话,您有一个中央网络服务器需要与一大堆 arduino 进行通信。您需要在 arduino 和中央服务器之间双向发送信息。并且,您想使用网络 (http/tcp/ip ) 协议(protocol)来执行此操作。

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

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

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

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

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

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

看看进展如何?每一秒,每个 arduino 都会点击网络服务器,说“这是我给你的。你有什么给我?”

关于php - 服务器之间的简单数据交换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14306565/

相关文章:

php - 从数组值组合计算最接近的匹配

javascript - JQuery 帮助,如何隐藏 JQuery 中的所有按钮

javascript - 一次隐藏多个元素有什么更好的方法吗?

javascript - 刷新 Html 布局以重新计算滚动条

php - 在一些 HTML 标签因 XSS 转义后,重新转义它们

php - Laravel:对 View 的查询进行分页 MySQL 错误 1140 Mixing of GROUP columns

php - PHP 中的变量与 SQL 链接

php - 使用ajax从数据库实时获取数据?

javascript - 使用特定链接打开特定的 div

java - Wicket SelectOption<T> 在 Select<T> 进行的 getDefaultModelObject() 调用上返回 null