HTTP-запросы с использованием Arduino

Я использую этот простой HTTP-запрос Post для публикации некоторых значений в моем API из Arduino с помощью Switch. Каждый раз, когда я нажимаю переключатель, он отправляет разные значения в API.

void switch_led() {
bool SwitchReading = digitalRead(SWITCH);
if (SwitchReading == HIGH) {
Serial.println("Now pressed....");
state = state + 1;
if (state % 2 != 0) {
  digitalWrite(LED, HIGH);
  char data1[] = "{""LDRValue"": 88888888}";
  Serial.println("\nStarting connection to led server...");
  if (client.connect(server, 8040)) {
    Serial.println("connected to post server");
    client.println("POST /api/sensor HTTP/1.1");
    client.println("Host: 192.168.2.116:8040");
    client.println("Content-Type: application/json");
    client.print("Content-Length: ");
    client.println(sizeof(data1));
    client.println();
    client.print(data1);
    Serial.println("1.finish");
  }
  Serial.println("2.finish");
}
else {
  digitalWrite(LED, LOW);
  char data2[] = "{""LDRValue"": 1111111111}";
  Serial.println("\nStarting connection to led server...");
  if (client.connect(server, 8040)) {
    Serial.println("connected to post server");
    client.println("POST /api/sensor HTTP/1.1");
    client.println("Host: 192.168.2.116:8040");
    client.println("Content-Type: application/json");
    client.print("Content-Length: ");
    client.println(sizeof(data2));
    client.println();
    client.print(data2);
    Serial.println("3.finish");
  }
  Serial.println("4.finish");
}
delay(500);
   }
}

Это отлично работает для первого и второго постов как в Arduino, так и в API, но в третьем посте все работает отлично на Arduino, но на API требуется много времени (около 2 минут, чтобы получить пост). Четвертый и пятый посты тоже работают нормально, но шестой такой же, как третий. Зная, что мой API на 100% работает с Raspberry Pi и не имеет ошибок.

То же самое для PUT и GET.

После издания: После того, как я удалил номер порта из строки хоста и использовал strlen(data) вместо sizeof(data), запрос POST работает, но только для первых 7 постов. Вывод последовательного монитора на Arduino такой:

Attempting to connect to WPA SSID: WiFi-Repeater1

WiFi connected
SSID: WiFi-Repeater1
IP Address: 192.168.2.149
signal strength (RSSI):-66 dBm

Starting connection to post server...
connected to post server

Starting connection to post server...
connected to post server

Starting connection to post server...
connected to post server

Starting connection to post server...
connected to post server

Starting connection to post server...
connected to post server

Starting connection to post server...
connected to post server

Starting connection to post server...
connected to post server

Starting connection to post server...

Starting connection to post server...

Starting connection to post server...

До редактирования он всегда выдавал мне сообщение «подключено к почтовому серверу» и всегда отправлял сообщения, но, как я уже говорил, это занимает много времени на 3-м, 6-м, 9-м, 12-м постах... Теперь после 7-го поста сообщения не отправляются.

, 👍2