zeno099 Inserito: 4 ottobre 2005 Segnala Inserito: 4 ottobre 2005 Ho un problema con un dispositivo remoto che non mi sta facendo dormire la notte!!!Io uso un modem FALCOM seriale e collegandomi al dispositivo con hyperteminal (settando il numero della sim) il dispositivo si connette e mi risponde, invio un file di testo con una stringa e mi risponde correttamente.Ho pensato di fare un software in vb che faccia le stesse cose descritte sopra, non c'è modo di farlo funzionare. Il dispositivo con atd <numero sim> si collega e mi risponde correttamente, ma non riesco a inviare i comandi, ho persino provato ad inviare il file come faccio con hyperterminal ma niente, il componente che c'è sul dispositivo remoto è un telit GM862.Il componente che uso per vb è l'MSCOMM che mi gestisce la seriale che va sul modem.Ciao
del_user_27683 Inserita: 5 ottobre 2005 Segnala Inserita: 5 ottobre 2005 In teoria non cambia nulla tra l'invio dei comandi con hyperteminal oppure con il controllo MSCOMM di VB, personalmente utilizzerei lo stesso programma VB per ricevere i comandi da hyperteminal così da poter copiare esattamente tutto (caratteri di controllo compresi).
Bruno Inserita: 5 ottobre 2005 Segnala Inserita: 5 ottobre 2005 Secondo me hai sbagliato forum e sito...comunque io ho fatto un applicativo simile (modem diverso) e non ho avuto particolari problemi.Ti consiglio di visitare il sito www.visual-basic.it nella sezione download potrai scaricare un paio di esempi che ti saranno molto utili, in più esiste un forum che potrai consultare.Vista la tua notte insonne ti passo una citazione cinematografica...Buona notte e buona fortuna.BR1
dago_ Inserita: 5 ottobre 2005 Segnala Inserita: 5 ottobre 2005 Metti caso di scrivere una cosa di questo tipo, per il tuo modem i comandi potrebbero essere diversi, comunque nel caso fatti un'idea:Sub InviaMessaggio Dim pComando As String Dim pNumero As String Dim pTesto As String Dim pConferma As String Dim pControllo As String Dim pIdentificatore As String pComando = "AT+CMGS=" pNumero = "33512345678" + vbCrLf pTesto = "Prova" pConferma = Chr$(26) + Chr$(27) pControllo = "OK" + vbCrLf pIdentificatore = ":" 'In questo punto la porta dovrebbe essere gia' aperta con i giusti parametri 'MSComm1.PortOpen = true Dim Dummy As Integer 'Gestione Eventi Dim Buffer As String 'Buffer di lettura Dim PosizioneStart As Integer 'Non indispensabile Dim PosizioneStop As Integer 'Non indispensabile 'Azzera il buffer Buffer = "" 'Invia il primo comando MSComm1.Output = pComando + pNumero 'Loop attesa prima risposta Do 'Abilta il gestore eventi durante l'attesa Dummy = DoEvents() 'Controlla la risposta Buffer = Buffer + MSComm1.Input Loop Until InStr(Buffer, ">") 'Se sei qui la prima risposta e' ok 'Azzera il buffer Buffer = "" 'Invia il secondo comando MSComm1.Output = pTesto + pConferma 'Loop attesa seconda risposta Do 'Abilta il gestore eventi durante l'attesa Dummy = DoEvents() 'Controlla la risposta Buffer = Buffer + MSComm1.Input Loop Until InStr(Buffer, pControllo) 'Se sei qui la risposta è ok 'Chiudi la porta 'MSComm1.PortOpen = False 'Formatta il risultato, se ti interessa cosa ti risponde Risultato = Buffer PosizioneStart = InStr(Risultato, pIdentificatore) + Len(pIdentificatore) PosizioneStop = InStr(Risultato, pControllo) - PosizioneStart Risultato = Mid$(Risultato, PosizioneStart, PosizioneStop) End Sub
Pablo78 Inserita: 8 ottobre 2005 Segnala Inserita: 8 ottobre 2005 Non so se è il caso, ma mi intrufolo lo stesso...io acquisisco dei dati dalla seriale "sparati" da un microcontrollore, ho il problema che l'applicazione (scritta da me in VB) si blocca...nella mia ignoranza credo sia il buffer di ricezione, in quanto appena disconnetto il dispositivo(stacco l'alimentazione brutalmente) l'applicazione si riprende...come risolvo?devo svuotare il buffer periodicamente?Come si fa?Accetto consigli...Grazie a tutti
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora