/ / Se connecter à mon serveur à partir de ESP8266 Arduino - c ++, client-serveur, arduino-uno, esp8266

Se connecter à mon serveur à partir de ESP8266 Arduino - c ++, client-serveur, arduino-uno, esp8266

J'ai un Arduino Uno et un serveur écrit en C ++. J'ai connecté l'ESP8266 à mon routeur avec succès en utilisant le code suivant:

#include <SoftwareSerial.h>

SoftwareSerial esp8266(3, 2);

void setup() {
// Open serial communications and wait for port to open:
Serial.begin(115200);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
Serial.println("Started");
// set the data rate for the SoftwareSerial port
esp8266.begin(115200);
esp8266.write("ATrn");
}

void loop() {
if (esp8266.available()) {
Serial.write(esp8266.read());
}
if (Serial.available()) {
esp8266.write(Serial.read());
}
}

Maintenant, je veux que l'ESP8266 se connecte à mon serveur en tant que client du même réseau local (j'ai l'adresse IP du serveur). Comment puis-je le faire avec SoftwareSerial? Y a-t-il une autre façon de le faire?

Réponses:

2 pour la réponse № 1

Vous devez lui envoyer des commandes AT pour créer une requête HTTP. Cela permettrait de se connecter à un serveur à l'adresse 192.168.88.35 sur le port 80.

// Connect to the server
esp8266.write("AT+CIPSTART="TCP","192.168.88.35",80rn"); //make this command: AT+CPISTART="TCP","192.168.88.35",80

//wait a little while for "Linked"
delay(300);

//This is our HTTP GET Request change to the page and server you want to load.
String cmd = "GET /status.html HTTP/1.0rn";
cmd += "Host: 192.168.88.35rnrn";

//The ESP8266 needs to know the size of the GET request
esp8266.write("AT+CIPSEND=");
esp8266.write(cmd.length());
esp8266.write("rn");

esp8266.write(cmd);
esp8266.write("AT+CIPCLOSErn");

Ce lien devrait vous aider si vous avez besoin de plus de détails: http://blog.huntgang.com/2015/01/20/arduino-esp8266-tutorial-web-server-monitor-example/