In un programma Arduino hai due funzioni o blocchi.
- setup eseguito all'accensione del Arduino/Esp una sola volta
- loop eseguito di continuo (in ciclo) dopo la setup
Il codice che indichi al link spedisce il SMS una sola volta alla fine del setup
Il loop invece è un ciclo infinito che non fa nulla
Devi quindi spostare l'invio del sms nel loop, ma...
ponendolo dentro una condizione if
void loop()
{ if( condizione==vera)
{ // To send an SMS, call modem.sendSMS(SMS_TARGET, smsMessage)
String smsMessage = "Hello from ESP32!";
if(modem.sendSMS(SMS_TARGET, smsMessage))
{ SerialMon.println(smsMessage);
}
else
{ SerialMon.println("SMS failed to send");
}
}
}
La condizione deve essere la lettura dello stato del pin a cui collegherai il rele.
digitalRead(pin) legge HIGH o LOW a seconda che ci sia o no segnale. E nella setup() devi fare un
pinMode(pin,INPUT); per dire che quel pin lo usi come input
Ma... da quel rele... hai idea di quanti volt escono ? Sei sicuro sia compatibile con i pin di Esp32 ?
I pin del Esp32 lavorano a 3,3V