乐鑫技术交流
直播中

发生的方式

8年用户 1226经验值
擅长:处理器/DSP
私信 关注
[问答]

如何将2个变量发送到服务器?

简而言之,我想将2个变量发送到服务器,异步 Web 服务器(托管在 Nodemcu 上),以便更新页面(并节省检查 DHT22 的单元的电池寿命)但是我
如何发送变量的实际值而不仅仅是名称?
使用 JSON 或 url 编码,无论需要什么。
在我的代码中,我有一些部分,首先包括库,定义常量,然后是包含索引页和脚本的原始文本部分,然后是启动服务器的设置部分,以及读取温度和湿度的循环部分。无论如何,我有点迷路了。我只能做基本编程,现在我们有一个很棒的硬件,但要学的东西太多了

回帖(1)

vinww特烦恼

2024-1-4 14:43:23
您可以使用以下代码将2个变量作为 JSON 对象发送到服务器:

```c
#include
#include

HTTPClient http;

void sendToServer(int variable1, int variable2) {

  // Create JSON object
  StaticJsonDocument<200> doc;
  doc["variable1"] = variable1;
  doc["variable2"] = variable2;
  String jsonStr;
  serializeJson(doc, jsonStr);

  // Send JSON data to server
  http.begin("http://yourserver.com/update.php"); // Replace with your server URL
  http.addHeader("Content-Type", "application/json");
  int httpResponseCode = http.POST(jsonStr);

  // Check for errors
  if (httpResponseCode != 200) {
    Serial.print("HTTP Response code: ");
    Serial.println(httpResponseCode);
  }
  http.end();
}
```

在此示例中,您需要将您的服务器 URL 更改为 `http://yourserver.com/update.php`,并替换变量名称和值为您的实际值。 `StaticJsonDocument <200>` 表示 JSON 对象的大小,可以根据您的需要更改。

当从 NodeMCU 上的异步服务器调用此函数时,您可以使用以下代码在服务器端接收 JSON 数据:

```php
// Receive JSON data
$json = file_get_contents('php://input');
$data = json_decode($json);

// Read variables
$variable1 = $data->variable1;
$variable2 = $data->variable2;

// Process data
// ...

// Send response
http_response_code(200);
?>
```

您可以在 `// Process data` 部分中使用收到的变量。 希望这可以帮助您开始工作。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分