2015-12-03 12 views
6

私はESP8266とESP8266WiFi libraryを使ってウェブページを読むという単純な問題に取り組んでいます。ESP8266 WiFiClientシンプルなHTTP GET

例では数行しか変更されておらず、問題は何か分かりません。

include <ESP8266WiFi.h> 

const char* ssid  = "WiwoNET"; 
const char* password = "xxxxxxx"; 

const char* host = "https://pure-caverns-1350.herokuapp.com"; 

void setup() { 
    Serial.begin(115200); 
    delay(10); 

    // We start by connecting to a WiFi network 

    Serial.println(); 
    Serial.println(); 
    Serial.print("Connecting to "); 
    Serial.println(ssid); 

    WiFi.begin(ssid, password); 

    while (WiFi.status() != WL_CONNECTED) { 
    delay(500); 
    Serial.print("."); 
    } 

    Serial.println(""); 
    Serial.println("WiFi connected"); 
    Serial.println("IP address: "); 
    Serial.println(WiFi.localIP()); 
} 

int value = 0; 

void loop() { 
    delay(5000); 
    ++value; 

    Serial.print("connecting to "); 
    Serial.println(host); 

    // Use WiFiClient class to create TCP connections 
    WiFiClient client; 
    const int httpPort = 80; 
    if (!client.connect(host, httpPort)) { 
    Serial.println("connection failed"); 
    return; 
    } 

    // We now create a URI for the request 
    String url = "/stan"; 

    Serial.print("Requesting URL: "); 
    Serial.println(url); 

    // This will send the request to the server 
    client.print(String("GET ") + url + " HTTP/1.1\r\n" + 
       "Host: " + host + "\r\n" + 
       "Connection: close\r\n\r\n"); 
    delay(10); 

    // Read all the lines of the reply from server and print them to Serial 
    Serial.println("Respond:"); 
    while(client.available()){ 
    String line = client.readStringUntil('\r'); 
    Serial.print(line); 
    } 

    Serial.println(); 
    Serial.println("closing connection"); 
} 

そして私はシリアルモニターに表示される:

Connecting to WiwoNET 
....... 
WiFi connected 
IP address: 
192.168.0.111 
connecting to https://pure-caverns-1350.herokuapp.com 
Requesting URL: /stan 
Informacja zwrotna: 
HTTP/1.1 400 Bad Request 
Connection: close 
Server: Cowboy 
Date: Thu, 03 Dec 2015 23:38:59 GMT 
Content-Length: 0 


closing connection 

私はHerokuののログを見ていたし、何も表示されていない私のコードのthats。 ご協力いただきありがとうございます。

答えて

8

あなたはここに例次されている必要がありますhttps://github.com/esp8266/Arduino/blob/master/libraries/ESP8266WiFi/examples/WiFiClient/WiFiClient.ino

あなたは逃したという重要な作品は、しかし、あります。 hostの値の先頭に、http://https://のようなURI形式のスキームを付けることはできません。この例をもう一度見て、代わりに

const char* host = "pure-caverns-1350.herokuapp.com"; 

を使用してください。

コンソールでcurl -v http://pure-caverns-1350.herokuapp.com/stanを実行すると、HTTPのフードの下で何が起こっているのかをよく確認できます。

+0

こんにちは、そこにあなたが言及したgithubの更新リンクがありますか? – shamsulfakhar

+0

リンクを更新しました。 –

関連する問題