Vai al contenuto

Invio di un SMS con il carattere ‘@’ nel testo

Home Forum Programmazione IEC 61131 (LogicLab) Invio di un SMS con il carattere ‘@’ nel testo

Stai visualizzando 3 post - dal 1 a 3 (di 3 totali)
  • Autore
    Post
  • #35388
    Anonimo
    Inattivo

    Utilizzando la libreria eModemLib stò realizzando su di un modulo SlimLine compact ARM7, un programma che invia dei messaggi SMS su attivazione di ingressi digitali. Utilizzo il modem MC55i della Cinterion e tutto funziona perfettamente se invio testi con caratteri ascii stampabili.

    Purtroppo devo inviare un messaggio che contiene il carattere “@” e quando inserisco questo carattere nel testo, nel messaggio che ricevo il carattere è sostituito con “j”. Non riesco a capire il perchè.

    #37709
    Sergio Bertana
    Amministratore del forum

    Il modem BGS2, per la codifica del carattere “@” utilizza il codice ascii “0x00”, quindi si deve utilizzare questo codice all’interno della stringa da inviare. La FB ModemSMSSend_v1 accetta come parametro l’indirizzo della stringa messaggio da inviare, purtroppo nelle stringhe il carattere “0x00” è il carattere terminatore di stringa.
     
    Pertanto se crei un messaggio con il carattere “0x00” all’interno, verrà inviata solo la parte di messaggio prima del carattere. Per ovviare al problema ho realizzato una nuova versione della libreria in cui vi è la nuova FB ModemSMSSend_v2 di invio SMS (Estratto manuale). A differenza della precedente questa FB ha un nuovo parametro di input TLgt che se definito indica il numero di caratteri da inviare del testo.
     
    Ecco un esempio di programma ST per inviare un SMS del tipo “The @ char”, come si vede si prepara una stringa con il carattere “_” al posto del “@” e poi prima di inviare il messaggio si sostituisce il carattere con “0x00”.
     
    SMSSend.Number:=ADR(‘+39335123456’); (* Phone number *)
    SMSSend.TLgt:=10; (* Text length *)
    Message:=’The _ char’; (* Message string *)
    Ptr:=ADR(Message)+4; (* Auxiliary pointer *)
    @Ptr:=0; (* Carico codice carattere @ *)

    #37710
    Sergio Bertana
    Amministratore del forum

    Aggiungo un programma di esempio (Stampa, Download sorgente), che attivando l’ingresso Di00M00 esegue l’invio del messaggio SMS con il carattere “@” al numero di telefono definito.

Stai visualizzando 3 post - dal 1 a 3 (di 3 totali)
  • Devi essere connesso per rispondere a questo topic.