使用Arduino获取WebSocket
我使用这段代码使用Web Socket get on Arduino从服务器获取字符串使用Arduino获取WebSocket,websocket,get,arduino,http-get,Websocket,Get,Arduino,Http Get,我使用这段代码使用Web Socket get on Arduino从服务器获取字符串 void LedState() { StaticJsonBuffer<200> jsonBuffer; String leddata; if (client.connected()) { { } if (leddata.length() > 0) { Serial.print("Received leddata: "); Ser
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
}
}
void-LedState(){
静态jsonBuffer jsonBuffer;
字符串数据;
if(client.connected()){
{
}
如果(leddata.length()>0){
串行打印(“收到的数据:”);
串行打印LN(leddata);
如果(leddata==“真”){
数字写入(LED,高电平);
串行打印(led亮起);
}
如果(leddata==“假”){
数字写入(LED,低电平);
序列号。打印号(“led关闭”);
}
}
}
如果(!client.connected()){
Serial.println(“断开”);
延迟(100);
websocket_connect();//重新连接服务器
}
}
问题是,Arduino第一次获得正确的值,并在一段时间内(几秒到几分钟)保持获得该值,即使该值已更改,但有时该值在Arduino上没有更改
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
}
}
我使用了一个Web套接字测试应用程序来测试问题是出在我的服务器上还是出在Arduino上,我使用Arduino同时运行它,当Arduino停留在最后一个值上时,它得到了正确的值。有时,如果连接丢失,重新连接后,Arduino会获得正确的值。您必须使用
client.stop()代码>在Serial.println之后(“led亮起”)代码>和后串行打印(“led关闭”)代码>