//Enviar un mensaje de WhatsApp desde
#include <WiFi.h>
#include <HTTPClient.h>
#include <UrlEncode.h>
const char* ssid = "Wokwi-GUEST";//nombre de la internet
const char* password = "";//contrasenia de la internet
const char* phoneNumber = "50768402105";//numero objetivo
const char* apiKey = "1560511";//llave de chatbot al numero
String simulatedInput = "";
void setup() {
Serial.begin(115200);
//COLOCAMOS USUARIO Y CONTRASEÑA DE NUESTRA RED WIFI
WiFi.begin(ssid, password);
Serial.println("Connecting");
while(WiFi.status() != WL_CONNECTED) {//se esta comprobando si la internet no esta conectada
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.print("Se ha conectado al wifi con la ip: ");
Serial.println(WiFi.localIP());//mostramos la ip de la conexion
// Simulación de un mensaje serial recibido
simulatedInput = "Caida";
}
void sendMessage(String message)
{
if (WiFi.status() == WL_CONNECTED)//comprobamos si la internet esta conectada
{
HTTPClient http;
//el mensaje elegido es codificado para su posterior uso en el url con el urlEncode
String url = ("https://api.callmebot.com/whatsapp.php?phone=" + String(phoneNumber) + "&text=" + urlEncode(message) + "&apikey=" + String(apiKey));
Serial.print("Url: ");
Serial.println(url);//confirmamos en la terminal si el url esta correcta
http.begin(url);//nos conectamos a la url
http.addHeader("dectector de caida", "se esta enviando una alerta de caida");
int httpResponseCode = http.GET();//solicitamos al url y nos devuelve una repuesta
if(httpResponseCode == 200){
Serial.println("mensaje enviado");
}
else if (httpResponseCode > 0){
String response = http.getString();
Serial.print("httpResponseCode: ");
Serial.println(httpResponseCode);
Serial.print("response: ");
Serial.println(response);
}
else
{
Serial.println("Error en la solicitud HTTP");
}
http.end();
}
else
{
Serial.println("WiFi no conectado");
}
}
void loop() {
//if (Serial.available() > 0){
if (!simulatedInput.isEmpty()){
//String mensajeRecibido = Serial.readStringUntil('\n'); // Lee el mensaje recibido del Arduino Lilypad
String mensajeRecibido = simulatedInput;
//mensajeRecibido.trim(); // Elimina espacios en blanco y saltos de línea
simulatedInput = "";
//caracteristica para la intercomunicacion entre placas
if (mensajeRecibido == "Caida"){
sendMessage("Se Dectecto Una Posible Caida");
}
delay(5000);
}
delay(10);
}