AT-commands tool

Ho deciso di modificare il programma scritto per fare delle prove con il modulo ESP-01, già descritto in un precedente post, perché mi sono trovato ad utilizzare dei modulini low-cost GSM-GPRS per l’invio di SMS. Entrambi i moduli M590 e SIM800 hanno, come di consueto, una serie di comandi AT, così come l’ESP8266. Ho quindi fatto delle aggiunte che dovrebbero rendere lo strumento più comodo ed efficace. Qui sotto potete vedere uno screenshot del programma in funzione.

Atool-ssPer prima cosa ho modificato il nome del programma, cambiandolo da Tool_ESP8266 a ATool, anche perché ho visto che di programmi chiamati “Tool_ESP8266” ce ne sono in giro davvero tanti ! Poi, ho fatto le seguenti modifiche e aggiunte:

Variazioni e aggiunte:

  • modificata default speed da 115200 a 9600 BPS
  • Aggiunti al file save / load anche i valori di COM e SPEED. Il comando load chiude anche la porta seriale, se era aperta; si dovrà quindi eseguire di nuovo un “open”.
  • Aggiunte altre 3 linee di comando, così passano da 9 a 12
  • Modificato il funzionamento dei “send”. Non mandano più un CR-LF a fine stringa
  • Aggiunta possibilità di costruire caratteri di controllo tramite il segno ^. Il carattere successivo a ^ viene calcolato con & 0x1F, permettendo quindi di inserire nella riga programmata vari tipi di caratteri di controllo. Per esempio, ^M verrà trasmesso come 0x0D (CR) e ^J come 0x0A (LF). Con questo sistema si potrà decidere come terminare le stringhe da inviare sulla seriale ed inserire altri caratteri di controllo necessari, ad esempio, nella trasmissione di SMS.
  • Aggiunto un box che indica la lunghezza della stringa nella riga che si sta modificando. La lunghezza non tiene conto dell’eventuale commento // e conta i caratteri di controllo (ad es. ^M) come un singolo byte. Questo è molto utile quando ci sono dei comandi in cui va inserita la lunghezza del pacchetto da trasmettere.
  • Modificato il funzionamento della finestra dei messaggi per la visualizzazione di messaggi da parte del dispositivo collegato anche se la stringa in arrivo non è terminata da CR o LF.

Il programma è stato scritto in FreeBasic, con l’IDE Firefly for FreeBasic. Entrambi i programmi sono disponibili gratuitamente presso i rispettivi siti (vedi colonna a destra della pagina Home, Links utili). Nell’immagine del programma in funzione è possibile vedere come si è ricevuto il testo di una pagina internet, inviando (dopo aver effettuato le fasi preliminari) i comandi AT-CIPSTART= e successivamente AT+CIPSEND= e quindi la stringa GET / . Il file scaricabile (vedi sotto) contiene l’eseguibile puro, non c’è bisogno di installazione. Scompattate lo zip in una directory (ad esempio: /downloads/tools) e potrete utilizzarlo immediatamente. Per scompattare lo zip con il programma 7Z serve una password che è: eficara. Per eseguire il comando “save” è necessario disporre dei permessi di scrittura nella cartella dove risiede l’eseguibile. Se avete scompattato l’eseguibile in una cartella in cui l’utente ha i diritti di scrittura, non c’è problema, altrimenti dovrete eseguire il programma come amministratore. Prima di scompattare lo zip, però, verificatene l’hash MD5 (vedi sotto). Se non corrisponde, non scompattate il file, potrebbe essere corrotto o non essere quello originale. Per il calcolo dell’hash MD5 io uso il programma freeware HashTab che può essere scaricato dal sito del produttore (vedi Links utili) e si integra nella Shell di Windows. In pratica, dopo averlo installato, quando cliccherete col destro su un file, tra le “proprietà” ci sarà anche lo strumento per calcolare l’Hash. Questo programma è molto comodo anche per verificare che i files copiati su supporti rimovibili siano esattamente uguali a quelli di origine. Vedrete così quanti errori ci possono essere nelle copie eseguite su memorie di massa USB di basso costo !

Aggiornamento – 15 Ott 2017
– modificato controllo numero porta seriale
– aggiunto editBox multilinea con relativo pulsante send per comporre messaggi lunghi
Aggiornamento – 23 Lug 2016
– modificato il segnalatore di inizio commento da // a ;; (per comandi includenti http:// ecc.)
– migliorata fase apertura/chiusura porta seriale
– eliminato invio automatico “AT” e attesa ricezione “OK” all’apertura porta COM

Il nuovo file eseguibile zippato ATool-3.zip è disponibile a questo link.
Il checksum MD5 è: ABC804479C35C15CCB4D68320E6E9E41

Per il momento è tutto. Buona sperimentazione !