Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

http request timeout problem #28

Open
bluedays000 opened this issue Dec 11, 2015 · 0 comments
Open

http request timeout problem #28

bluedays000 opened this issue Dec 11, 2015 · 0 comments

Comments

@bluedays000
Copy link

I am working with Arduino Uno and ESP8266.

I connected ESP8266 with Arduino Uno, and downloaded this library.
(https://github.com/Diaoul/arduino-ESP8266)..

'joinAP' was OK and 'connect' was also OK.

But the problem was http request.

"getStatus(wifi.send("GET / HTTP/1.0\r\n\r\n"))" in setup code always showed me 'TIMEOUT'.

I just changed SSID, PASS, DSP_IP and port number.. but it doesn't work well.. T.T

Below is my code.

Please save my code..


include <SoftwareSerial.h>

include "ESP8266.h"

define SSID "SSID" // WiFi ID

define PASS "PASS" // WiFi Password

define DST_IP "www.google.com" // IP address

SoftwareSerial esp8266Serial = SoftwareSerial(2, 3); // RX, TX pin num
ESP8266 wifi = ESP8266(esp8266Serial);

void setup()
{
Serial.begin(9600);

// ESP8266
esp8266Serial.begin(9600);
wifi.begin();
wifi.setTimeout(10);

/_/
/_* Basic commands ***_/
/_
**/
// test
Serial.print("test: ");
Serial.println(getStatus(wifi.test()));

// restart
Serial.print("restart: ");
Serial.println(getStatus(wifi.restart()));

// getVersion
char version[16] = {};
Serial.print("getVersion: ");
Serial.print(getStatus(wifi.getVersion(version, 16)));
Serial.print(" : ");
Serial.println(version);

// getWifiMode
///*
ESP8266WifiMode mode;
Serial.print("getWifiMode: ");
Serial.println(getStatus(wifi.getMode(&mode)));//*/
Serial.print("Wifi mode>>:");
Serial.println(mode);
if( mode != ESP8266_WIFI_STATION)
{
// setWifiMode
Serial.print("setWifiMode: ");
// Serial.println(getStatus(wifi.setMode(ESP8266_WIFI_ACCESSPOINT)));
Serial.println(getStatus(wifi.setMode(ESP8266_WIFI_STATION )));
}
else
Serial.println("already ESP8266_WIFI_STATION mode");

/_/
/_* WiFi commands ***_/
/_
**/
// joinAP
Serial.print("joinAP: ");
Serial.println(getStatus(wifi.joinAP(SSID, PASS)));

/_/
/_* TCP/IP commands ***_/
/_
**/
// connect
Serial.print("connect: ");
Serial.println(getStatus(wifi.connect(ESP8266_PROTOCOL_TCP, DST_IP, 80)));

// send
Serial.print("send: ");
Serial.println(getStatus(wifi.send("GET / HTTP/1.0\r\n\r\n")));

}

void loop()
{
/_/
/_* WiFi commands ***_/
/_
**/

// read data
unsigned int id;
int length;
int totalRead;
char buffer[300] = {};

if ((length = wifi.available()) > 0) {
id = wifi.getId();
totalRead = wifi.read(buffer, 300);

if (length > 0) {
Serial.print("Received ");
Serial.print(totalRead);
Serial.print("/");
Serial.print(length);
Serial.print(" bytes from client ");
//Serial.print("from client ");
Serial.print(id);
Serial.print(": ");
Serial.println((char*)buffer);
}
}
}

String getStatus(bool status)
{
if (status)
return "OK";

return "KO";
}

String getStatus(ESP8266CommandStatus status)
{
switch (status) {
case ESP8266_COMMAND_INVALID:
return "INVALID";
break;

case ESP8266_COMMAND_TIMEOUT:
return "TIMEOUT";
break;

case ESP8266_COMMAND_OK:
return "OK";
break;

case ESP8266_COMMAND_NO_CHANGE:
return "NO CHANGE";
break;

case ESP8266_COMMAND_ERROR:
return "ERROR";
break;

case ESP8266_COMMAND_NO_LINK:
return "NO LINK";
break;

case ESP8266_COMMAND_TOO_LONG:
return "TOO LONG";
break;

case ESP8266_COMMAND_FAIL:
return "FAIL";
break;

default:
return "UNKNOWN COMMAND STATUS";
break;
}
}

String getRole(ESP8266Role role)
{
switch (role) {
case ESP8266_ROLE_CLIENT:
return "CLIENT";
break;

case ESP8266_ROLE_SERVER:
return "SERVER";
break;

default:
return "UNKNOWN ROLE";
break;
}
}

String getProtocol(ESP8266Protocol protocol)
{
switch (protocol) {
case ESP8266_PROTOCOL_TCP:
return "TCP";
break;

case ESP8266_PROTOCOL_UDP:
return "UDP";
break;

default:
return "UNKNOWN PROTOCOL";
break;
}
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant