Lab_interaccio/2015/esp8266-to-IoT/esp8266-to-IoT.ino
2025-02-25 21:29:42 +01:00

86 lines
1.6 KiB
C++

#define SSID "Hello_pepe"
#define PASS "labinteractius"
#define IP "184.106.153.149" // thingspeak.com IP
String GET = "GET /update?key=ZPZQATRWW8F85IF4&field1=";
long randNumber;
#define RST 7
void setup()
{
pinMode(RST, OUTPUT);
digitalWrite(RST, LOW); //Modo Wifly ON
delay(1000);
digitalWrite(RST, HIGH); //Modo Wifly ON
delay(5000);
Serial.begin(115200);
Serial1.begin(9600);
Serial1.println("AT");
Serial.println("Esperando respuesta");
if (Serial1.find("OK")) {
Serial.println("OK");
connectWiFi();
}
}
void loop() {
char buffer[10];
randNumber = random(1,100);
String tempF = dtostrf(randNumber, 4, 1, buffer);
updateData(tempF);
delay(5000);
digitalWrite(RST, LOW); //Modo Wifly ON
delay(10000);
digitalWrite(RST, HIGH); //Modo Wifly ON
delay(5000);
}
void updateData(String data) {
String cmd = "AT+CIPSTART=\"TCP\",\"";
cmd += IP;
cmd += "\",80";
Serial1.println(cmd);
// Serial.println(cmd);
delay(2000);
if (Serial1.find("Error")) {
return;
}
cmd = GET;
cmd += data;
cmd += "\r\n";
Serial1.print("AT+CIPSEND=");
Serial.print("AT+CIPSEND=");
Serial1.println(cmd.length());
Serial.println(cmd.length());
if (Serial1.find(">")) {
Serial1.print(cmd);
Serial.print(cmd);
} else {
Serial1.println("AT+CIPCLOSE");
Serial.println("AT+CIPCLOSE");
}
}
boolean connectWiFi() {
Serial1.println("AT+CWMODE=1");
delay(2000);
String cmd = "AT+CWJAP=\"";
cmd += SSID;
cmd += "\",\"";
cmd += PASS;
cmd += "\"";
Serial1.println(cmd);
Serial.println(cmd);
delay(5000);
if (Serial1.find("OK")) {
return true;
} else {
return false;
}
}