2016-10-15 15 views
1

Я хочу отправить данные на мой esp8266.отправить данные TO esp8266

Я использую arudino fw.

данных в URL Я попытался это:

String request = client.readStringUntil('\n'); 

    char chars[1000]; 
    char data[100]; 
    bool startRead =false; 
    request.toCharArray(chars,1000); 
    int counter=0; 
    for(int i =0;i<1000;i++){ 

     if(chars[i]=='>'){ 
     startRead=false; 
     } 

     if(startRead==true){ 
     data[counter]=chars[i]; 
     counter++; 
     } 

     if(chars[i]=='<') 
     startRead=true; 

    } 
    String output(data); 

    // Serial.println(request); 
    Serial.println(output); 
     client.flush(); 

я получить некоторые данные, но подмигнули не надежны.

IF i call "192.168.4.1/HelloWorld" Я хочу строку HelloWorld.

Любые идеи? Спасибо!

ответ

1

Лучше использовать WebServer для получения данных из режима AP. Объедините приведенный ниже код в свой проект и сделайте свой HTTP-запрос, например http://192.168.4.1/text?data=HelloWorld.

#include <ESP8266WebServer.h> 
ESP8266WebServer server(80); 

void handleText() { 
    String message = ""; 
    for (uint8_t i=0; i<server.args(); i++){ 
    message += server.argName(i) + ": " + server.arg(i) + "\n"; 
    } 
    server.send(200, "text/plain", message); 
} 

void setup(void){ 
    //.. 
    server.on("/text", handleText); 
    server.begin(); 
    Serial.println("HTTP server started"); 
    //.. 
} 

void loop(void){ 
    server.handleClient(); 
} 
0

Или .... вы могли бы использовать протокол MQTT. Я не знаю точно, что вы пытаетесь выполнить.

Я использую библиотеку PubSub (https://github.com/knolleary/pubsubclient) + любой брокер MQTT для отправки данных на esp8266. Я использую его для домашней автоматизации и управления своим центральным отоплением, огнями и т. Д.

Мои 2 цента. Приветствия!