Collegamento via Socket Server...in VB

Tutta la documentazione e gli esempi di codice per sviluppare la propria interfaccia verso il sistema Egodom, o completare ed integrare quelle esistenti

Collegamento via Socket Server...in VB

Messaggioda MrSEO » 08/07/2011, 23:14

Hi guys,
mi sono messo a giocare con il controllo Socket di VB ma non riesco a cavarne molto. :cry:
In pratica ho buttato giù due righe di questo tipo:

Codice: Seleziona tutto
Private Sub Connetti_Click()
    wskClient.Connect "http://192.168.0.2", "215"
End Sub

Private Sub wskClient_DataArrival(ByVal bytesTotal As Long)
   Dim a As String
   wskClient.GetData a
   txtReply.Text = a & vbCrLf
End Sub


Fatto sta che qualsiasi cosa accada sulla centrale non ricevo nessun messaggio.
Se ho capito bene: posso solo fare richieste o interrogazioni? Questo è il motivo per il quale la centrale non mi dice nulla? :shock:
Grazie!
Beppe
MrSEO
 
Messaggi: 36
Iscritto il: 06/11/2009, 0:25

Re: Collegamento via Socket Server...in VB

Messaggioda Max_Egodom3 » 09/07/2011, 15:28

Ciao mrSeo,
la centrale espone tutto ciò che succede sul BUS sul socket, pertanto semplicemente attivando un thread che "ascolta" il socket, DEVI ricevere "quella montagna di dati" che la Centrale gestisce sul BUS.

Giusto x non escludere nulla (non mi mandare a quel paese), hai già verificato che il PC da cui fai le prove ha disattivati eventuali firewall software (windows, comodo ecc.) che magari ti bloccano il traffico? Prova a pingare la centrale sulla porta.

Se sono già disattivi, posta il progetto VB che ci diamo un occhio.
Poi vediamo se gli altri del supporto, Nik o Alby, hanno altre idee.
CIAOOOO
Massimo Egodom 3

--- C'è vero progresso solo quando i vantaggi di una nuova tecnologia sono utilizzabili da tutti ---
Max_Egodom3
 
Messaggi: 119
Iscritto il: 22/09/2009, 19:26

Re: Collegamento via Socket Server...in VB

Messaggioda Nik_Egodom3 » 11/07/2011, 8:58

Ciao MrSeo,
affinchè la Centrale invii messaggi al client che gli si è connesso, questo deve prima essersi "registrato". Questo avviene nel momento in cui il client stesso invia il messaggio C_Richiesta_Codice (codice 9000). Tale messaggio, come specificato alla pagina 66 della documentazione del protocollo, deve necessariamente essere il primo da inviare alla Centrale.
In pratica, la centrale "risponde" alle richieste inviategli dal client. Fa eccezione, ad esempio, l'aggiornamento delle temperature dei termostati, dati comunque inviati solo ai client che si sono precedentemente registrati.

Prova pertanto ad inviare il messaggio C_Richiesta_Codice (codice 9000) e sicuramente avrai una risposta dalla Centrale :)
Nik_Egodom3
 
Messaggi: 31
Iscritto il: 14/10/2009, 14:51

Re: Collegamento via Socket Server...in VB

Messaggioda MrSEO » 18/07/2011, 16:48

Perdonatemi ma so di essere un asino in questo argomento... :?

ping 192.168.0.2:215
Impossibile trovare l'host 192.168.0.2:215. Verificare che il nome sia corretto e riprovare.

Questo anche dopo aver inserito le regole sul firewall del PC, devo inserire la stessa regola sul firewall del router?
Grazie!
MrSEO
 
Messaggi: 36
Iscritto il: 06/11/2009, 0:25

Re: Collegamento via Socket Server...in VB

Messaggioda Nik_Egodom3 » 18/07/2011, 17:14

Ciao MrSEO!
Il comando ping non ha bisogno della specifica del numero di porta, e quindi ti basta dare

ping 192.168.0.2

per vedere se ti risponde.
Inoltre, ho un appunto in merito alla procedura di collegamento che hai postato:

Private Sub Connetti_Click()
wskClient.Connect "http://192.168.0.2", "215"
End Sub


A meno che non vuoi collegarti utilizzando un browser, la specifica "http" non è necessaria. Sono sufficienti l'indirizzo ip e la porta, pertanto il tuo codice dovrebbe essere qualcosa di simile:

Private Sub Connetti_Click()
wskClient.Connect "192.168.0.2", "215"
End Sub
Nik_Egodom3
 
Messaggi: 31
Iscritto il: 14/10/2009, 14:51

Re: Collegamento via Socket Server...in VB

Messaggioda marcobassetti » 01/02/2013, 0:23

Salve Nik,
facendo riferimento alla pag 66 della documentazione, all'invio della richiesta (codice 9000) seguirà l'indicazione di fornire parte del Codice d'accesso. Di che codice si tratta? Dove lo configuro?
Grazie




Nik_Egodom3 ha scritto:Ciao MrSeo,
affinchè la Centrale invii messaggi al client che gli si è connesso, questo deve prima essersi "registrato". Questo avviene nel momento in cui il client stesso invia il messaggio C_Richiesta_Codice (codice 9000). Tale messaggio, come specificato alla pagina 66 della documentazione del protocollo, deve necessariamente essere il primo da inviare alla Centrale.
In pratica, la centrale "risponde" alle richieste inviategli dal client. Fa eccezione, ad esempio, l'aggiornamento delle temperature dei termostati, dati comunque inviati solo ai client che si sono precedentemente registrati.

Prova pertanto ad inviare il messaggio C_Richiesta_Codice (codice 9000) e sicuramente avrai una risposta dalla Centrale :)
marcobassetti
 
Messaggi: 1
Iscritto il: 02/03/2012, 17:18

Re: Collegamento via Socket Server...in VB

Messaggioda Nik_Egodom3 » 11/02/2013, 10:59

Ciao Marco,
il Codice d'Accesso è una protezione attivabile sulla Centrale per consentire l'accesso ai soli client autenticati. Lato client, bisognerà inserire le cifre corrispondenti alle posizioni richieste.
Ad esempio, se il PIN memorizzato sulla Centrale è 54321, e sul client viene richiesto 24, l'utente dovrà inserire 42, che corrisponde alle cifre nella posizione 2 e 4 del PIN.
Nik_Egodom3
 
Messaggi: 31
Iscritto il: 14/10/2009, 14:51


Torna a Supporto Sviluppo

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite

cron