Il protocollo EgoClient e Visual Basic

Tutti i Progetti ed i Software di Gestione del Sistema Egodom sviluppati per questo sistema operativo.
Codice Open Source, suggerimenti ed idee.
Rispondi
MrSEO
Messaggi: 36
Iscritto il: 06/11/2009, 0:25
Che utente sei?: Sviluppatore software

Il protocollo EgoClient e Visual Basic

Messaggio da MrSEO » 12/12/2011, 17:50

Salve a tutti,
sono tornato a guastarvi le feste...ma dopotutto a cosa serve un forum se non a condividere scoperte e problemi? :lol:
Mi sono messo in testa di realizzare un'applicazione Visual Basic 6 per controllare alcuni stati del mio impianto e che da buon cultore dell'opensource avrei postato qui nel forum; lo so, lo so, VB6 è un pò vecchiotto ma permettetemi di giocare con gli strumenti che conosco...sono un dev vecchio e un pò arrugginito!

Ho realizzato una banale form che attraverso il controllo OCX Winsock dovrebbe ascoltare la centrale sulla porta 215:

Codice: Seleziona tutto

Private Sub cmdConnect_Click()
    sockMain.RemoteHost = txtHost.Text 'qui inserisco l'ip della centrale
    sockMain.RemotePort = txtPort.Text ' qui la porta 215
    sockMain.Connect
End Sub

Private Sub sockMain_DataArrival(ByVal bytesTotal As Long)
    Dim strData As String
   
    sockMain.GetData strData, vbString
    txtStatus.Text = txtStatus.Text & _
       strData & vbCrLf
End Sub
Ma purtroppo nulla accade. :(
L'evento "DataArrival" si dovrebbe scatenare non appena arriva qualche messaggio ma...niente.
Qualcuno saprebbe darmi un aiutino?
Grazie 1000
MrSeo

alby_egodom3
Messaggi: 15
Iscritto il: 29/04/2011, 10:09
Che utente sei?: Sviluppatore software

Re: Il protocollo EgoClient e Visual Basic

Messaggio da alby_egodom3 » 13/12/2011, 16:20

Buongiorno,

la sola connessione non implica l'invio di un qualsiasi dato da parte della centrale.
Infatti una volta connessi bisogna inviare alla centrale il messaggio SX_NEWSOCK la
quale risponde con un msg RX_CODPIN con valore 1.
Da quel momento in poi la centrale invia i dati ( temperature , stati rele , etc ).

2 considerazioni
- i msg iniziali cambiano se è stato inpostato il codice PIN.
- dopo la certifica della connessione da parte della centrale
per conoscere tutti gli oggetti presenti nell'impianto è
necessario chiederli con i msg appositi , ad esempio:
SX_SQL_PIANI
SX_SQL_SCENARI
SX_SQL_DISPOSITIVI

Nella documentazione del protocollo ci sono i msg e i modi di utilizzo.
Se non è chiaro qualcosa mi faccia sapere.

MrSEO
Messaggi: 36
Iscritto il: 06/11/2009, 0:25
Che utente sei?: Sviluppatore software

Re: Il protocollo EgoClient e Visual Basic

Messaggio da MrSEO » 15/12/2011, 17:52

Ciao Alby (ti prego dammi del "tu") ;)
perdonami ma non riesco a trovare da nessuna parte il significato (o la composizione) del messaggio:"SX_NEWSOCK".
Ho cercato sia nella documentazione del protocollo (1.0.3) sia nel codice open source del Keydome 3.
Sapresi aiutarmi?
Grazie e buone feste!

Mat_Egodom3
Amministratore
Messaggi: 8
Iscritto il: 06/05/2011, 12:32
Che utente sei?: Sviluppatore software

Re: Il protocollo EgoClient e Visual Basic

Messaggio da Mat_Egodom3 » 19/12/2011, 15:39

Buongiorno mrSeo,
il comando SX_NEWSOCK corrisponde a quello che nella documentazione si chiama C_Richiesta_Codice.
Deve essere assolutamente il primo comando da inviare per poter ricevere i dati.
La centrale risponderà con il messaggio C_Invio_Codice che corrisponde a RX_CODPIN.

Saluti

Rispondi

Torna a “Windows Xp, Vista, Media Center”