WebSocket 使用 Arduino

WebSocket Get using Arduino

我使用此代码在 Arduino 上使用 Web Socket Get 从服务器获取字符串。

void LedState() {

  StaticJsonBuffer<200> jsonBuffer;
  String leddata;

  if (client.connected()) {
    {
    }
    if (leddata.length() > 0) {
      Serial.print("Received leddata: ");
      Serial.println(leddata);
      if (leddata == "True") {
        digitalWrite(LED, HIGH);
        Serial.println("led on");
      }
      if (leddata == "False") {
        digitalWrite(LED, LOW);
        Serial.println("led off");
      }
    }
  }
  if (!client.connected()) {
    Serial.println("disconnected");
    delay(100);
    websocket_connect();       //reconnect with the server 
  }
}

问题是 Arduino 第一次获得正确的值并且在一段时间内(几秒到几分钟)保持获得该值,即使该值已更改,有时 Arduino 上的值没有更改.

我使用 Web Socket 测试应用程序来测试问题是出在我的服务器上还是出在 Arduino 上,我 运行 同时与 Arduino 一起测试,它获得了正确的值,而 Arduino 卡在了最后一个价值。有时,如果连接丢失,重新连接后 Arduino 会获得正确的值。

您必须在 Serial.println("led on"); 之后和 Serial.println("led off"); 之后使用 client.stop();