SIM900 - Inviare SMS lunghi con una scheda SIM900

Salve a tutti, ho creato un progetto con Arduino Mega per un’antifurto gestito da remoto via SMS. Per gli SMS ho usato la scheda SIM900. Il progetto che ho realizzato oltre a funzionare da allarme gestisce anche una scheda relè e degli altri sensori, tramite SMS è possibile conoscere lo stato dei relè e dei vari sensori. In teoria mandando un SMS con la scritta “stato” l’Arduino dovrebbe rispondere con un messaggio (abbastanza lungo) contenente lo stato di tutti i sensori. Di seguito la parte di sketch che dovrebbe eseguire questa operazione:

{
              String testo = "Antifurto DISINSERITO; temp: "+String(t)+String("°C")+String(" UMIDITA:")+String(h)+String(" presa1:")+String(r1)+String(" presa2:")+String(r2)+String(" presa3:")+String(r3)+String(" svuotamento:")+String(pompa);
               char buf[testo.length()];
               testo.toCharArray(buf, testo.length()); //converto la stringa "testo" in char
               sms.SendSMS(Mittente, buf); // restituisce true se invia l'SMS
            }

Il problema è che l’SMS inviato contiene solo la prima parte “Antifurto DISINSERITO; temp:0”.

Evidentemente devo aver sbagliato qualcosa, perché l’SMS dovrebbe essere più lungo ed il valore della temperatura non dovrebbe essere sempre 0. :grin:

Allego tutto lo sketch completo sotto forma di file.ino, perché è un po’ più lungo e altrimenti il messaggio supera la lunghezza massima prevista.

Se qualcuno avesse dei suggerimenti per risolvere il problema sono ben graditi :smiley: Grazie in anticipo per la vostra attenzione.

completo.ino (10.6 KB)

Aggiornamento.

Ho provato a fare un test, ho sostituito il comando che inviava l'SMS con una semplice stampa sul seriale e tutto funziona come dovuto (il problema dello 0 alla temperatura era dovuto al sensore DHT difettoso).
Quindi il problema sta nella parte che invia l'SMS.