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();
。
我使用此代码在 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();
。