2016-11-18 18 views
-1

esp8266から温度データを送信します。私はコードをthis Instructableから適応させました。これは私のコードです:esp8266からHTTP POST要求を送信します。

#include "SoftwareSerial.h" 
#include "ESP8266.h" 

String ssid = "Red Wi-Fi de Alexis" ; 
String password = "adrian2003" ; 

SoftwareSerial wifi(4, 2) ; 

String Host = "mail.interseccion.com.mx:8901" ; 
String Url = "/Ws_Temperatura" ; 

void setup() 
{ 
    wifi.begin(9600) ; 
    Serial.begin(9600) ; 
    wifi.println("AT+RST") ; 
    wifi.println("AT+CWJAP=\"" + ssid + "\",\"" + password + "\"") ; 
} 

void loop() 
{ 
    float tmp = 22.22 ; 

    //URL Temperatura 
    //URL: mail.interseccion.com.mx:8901/Ws_Temperatura?Id_temp=0&Id_Device=1&Valor=00.00&Temperatura_Action=Insert 
    String urluno = String("Id_temp=0&Id_Device=2&Valor="); 
    String temp = String(tmp); 
    String urldos = String("&Temperatura_Action=Insert"); 
    String urlfinal = String(String(urluno) + String(tmp) + String(urldos)); 

    int tamano = urlfinal.length() ; 

    wifi.println("AT+CIPSTART=\"TCP\",\"" + Host + "\", 8901") ; 

    String Post = "POST" + Url + "HTTP/1.1\r\n" + 
    "Host: " + Host + "\r\n" + 
    "Content-Type: application/x-www-form-urlencoded" + 
    "Content-Length: " + tamano + "\r\n" + urlfinal ; 


    wifi.println("AT+CIPSEND= " + Post.length()) ; 

    wifi.println("AT+CIPCLOSE") ; 
} 

私はesp8266ライブラリで送信しようとしましたが動作しません。

+1

をどのように動作していない、そしてどのようにそれが動作していないことを知っているのですか? –

+0

'原因でデータが受信されず、コピーして貼り付けましたが、変更はしませんでした。パラメータが変更されました。 – Maclos

+0

デバッグするには、ESPに送信するすべてのものをPCに戻して印刷します。 –

答えて

1

私は、コードを読んで、私はこれらの行にはほとんどエラー検出:あなたのESP8266がデータを受信する準備ができているが、あなたは何を送信していないので、このライン:)

を追加

wifi.println("AT+CIPSEND= " + Post.length()) ; 

wifi.println("AT+CIPCLOSE") ; 

wifi.println("AT+CIPSEND= " + Post.length()) ; 

wifi.println(Post); // this line 

wifi.println("AT+CIPCLOSE") ; 

ARDUINOが送信する、例えば次のようにプロセスは:

AT + CIPSTART = "TCP", www.google.com, 80 

ESP8266は応答:

CONNECT 
ok 

ARDUINOが送信:45

ESP8266が応答フレーム全体のサイズである

AT + CIPSEND = 45 

> 

>は、データの受信を期待することを意味します。ここにデータが送られます。

し、最終的に

ARDUINOが送信されます。

AT + CIPCLOSE 

ESP8266の応答:

Closed 

ok 
+0

しかし、うまくいきません: '( – Maclos

関連する問題