Ciao a tutti,
ho comprato una scheda sim800l con la quale volevo inviare dei messaggi da arduino, prima di scrivere un software sto cercando di farla funzionare tramite messaggi AT.
per inviare un sms utilizzo i seguenti messaggi:
AT+CMGF=1
AT+CMGS=+3*********0
testo.....
ma una volta arrivato qui non capisco come dire alla scheda che il messaggio è finito, ho già cercato su internet e ho trovato che il carattere di fine messaggio è ctrl-z o 1A o 0x1A, ma non capisco come inviarlo alla scheda dato che lei li interpreta ovviamente come testo e non come caratteri di fine messaggio.
Buongiorno,
essendo il tuo primo post, nel rispetto del regolamento, ti chiedo cortesemente di presentartiQUI (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con attenzione il su citato REGOLAMENTO ... Grazie.
Ho fatto più prove ma nonostante tutto viene (il carattere di fine messaggio) interpretato dal modulo gsm come un messaggio di testo da includere nell'sms e non come un carattere di fine messaggio
... non mi meraviglia ... 0x1D == 29 in decimale, NON 26 e poi devi comunque farlo seguire da \r\n.
Guglielmo
P.S.: Poi mi spiegherete che gusto c'è a trasformare in decimale i valori hex con ... gli sbagli che ne conseguono. Non è più facile scrivere Serial.write(0x1D); ?
Se vi aggrada ho scritto un Terminale molto tempo fa che permette di comporre testi includendo caratteri speciali non visibile come il CTRLZ per la terminazione degli SMS Lo usavo 10-12 anni fa proprio nello sviluppo e test con modem GSM. Pterminal, basta cliccare sul file EXE
Non è niente di che, mi serviva e invece di perdere giornate intere per trovarne uno che funzionasse per quello che mi serviva ne ho scritto uno che ho fatto prima