PDA

View Full Version : Connessione php - periferica rs232 - rj45


Fire Fox II
02-01-2017, 18:25
Come da titolo, avrei bisogno di collegare un piccolo software con una cassa che legge su porta seriale...

Sto provando inninzitutto a stabilire una connessione ma ho già qui i miei problemi: non riesco a connettermi nè da Windows nè da Linux...

Sistemi utilizzati

https://github.com/Xowap/PHP-Serial

oppure con fopen...

Qualche suggerimento?

zeMMeMMez
03-01-2017, 14:57
certo: ovviamente non si può fare.

tomminno
03-01-2017, 16:32
certo: ovviamente non si può fare.

Perchè dici di no? E' solo questione di configurare i permessi e trovare i settaggi corretti. Sicuramente su Linux con PHP la seriale è possibile usarla, su Windows mai provato.

sottovento
03-01-2017, 16:39
Come da titolo, avrei bisogno di collegare un piccolo software con una cassa che legge su porta seriale...

Sto provando inninzitutto a stabilire una connessione ma ho già qui i miei problemi: non riesco a connettermi nè da Windows nè da Linux...
...
Qualche suggerimento?
Premetto di non conoscere php, ma mi sembra che il problema sia di connessione, giusto?

1 - la cassa si comporta come DTE o come DCE? Tradotto: trasmette o riceve sul pin #2?
2 - com'e' fatto il cavo di collegamento? Il cavo "minimo" e' fatto collegando
- il pin #7 (massa);
- il pin #2 (trasmissione DTE);
- il pin #3 (ricezione DTE);

Per capirci: DTE = Data Terminal Equipment (in pratica il computer o chi si comporta come tale). DCE = Data Communication Equipment (il modem o chi si comporta come tale). Il DTE normalmente trasmette sul pin #2, il DCE non puo' che ricevere su tale pin;

3 - ci sono segnali addizionali per la comunicazione seriale quali DTR/CTS/DSR/... Un computer puo' benissimo abilitarli/disabilitarli. In caso li abiliti, la trasmissione puo' aver luogo solo se detti segnali sono nello stato corretto. Non so se la cassa puo' disabilitarli, devi leggere il manuale;

4 - sempre dal manuale devi trovare i parametri di trasmissione della cassa:
- baud rate (1200/2400/4800/9600/19200 baud sono le piu' frequenti);
- numero di bit di dati (7 o 8);
- numero di bit di stop (1, 1.5 o 2);
- parita' (pari/dispari/nessuna parita');

Ti consiglierei di procedere cosi': prendi il cavo e collega la cassa con un PC.
Assicurati che la cassa sia predisposta a spedire i dati.
Apri il terminal emulator (e' una piccola applicazione nel menu Accessori, non mi ricordo il nome esatto), setta i parametri di comunicazione cosi' come li hai trovati sul manuale e prova a spedire qualcosa. Dovrebbero comparirti delle scritte sul terminale.
Se i parametri di connessione sono errati, dovrebbe comunque comparire qualcosa sul terminale (anche se senza senso). Se l'handshake hardware e' abilitato sulla cassa ma non sul computer (o viceversa), la trasmissione non puo' aver luogo.

Fai un po' di prove con il terminal emulator o qualche altro programma che trovi gratuitamente su Internet e posta qui i risultati. Una volta che questo funziona, puoi procedere con php

zeMMeMMez
03-01-2017, 18:26
Perchè dici di no? E' solo questione di configurare i permessi e trovare i settaggi corretti. Sicuramente su Linux con PHP la seriale è possibile usarla, su Windows mai provato.
OK si vede che ho interpretato male la domanda, pensavo si riferisse a una cassa collegata a un CLIENT e non al SERVER.