|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jul 2005
Città: San Giovanni Rotondo (Foggia)
Messaggi: 1156
|
[PHP] scrivere e leggere da porta seriale RS232
ciao a tutti, se dovessi dire (sicuramente....) alcune cavolate nell'esposizione della domanda perfavore non linciatemi!
![]() ma passiamo al problema vero e proprio. ho un pc linux in rete locale che mi fa da webserver con apache 2 e php installato e funzionante ed ha una comune porta seriale RS232. sempre nella stessa rete con qualsiasi altro pc, vorrei poter scrivere e leggere sulla seriale del server tramite un'applicazione php. ad esempio: se premo il bottone A scrivo "00010010" se premo il bottone B scrivo "11100101" il mio problema è effettivamente se è possibile realizzare questo sistema. vi ringrazio anticipatamente! ![]() ciao ciao ![]()
__________________
====> Thermaltake Armor Silver @ Modding <====
|
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Dovresti poter leggere/scrivere ttyS* come qualsiasi file. setserial può esserti utile per configurare la porta (velocità, ecc.)
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: Jul 2005
Città: San Giovanni Rotondo (Foggia)
Messaggi: 1156
|
Quote:
![]() grazie per l'informazione! ![]() ciao ciao
__________________
====> Thermaltake Armor Silver @ Modding <====
|
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
|
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
dovrebbe essere suficiente aggiungere l'utente www-data al gruppo che può scrivere su ttyS*
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
|
Quote:
![]()
__________________
![]() |
|
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Jul 2005
Città: San Giovanni Rotondo (Foggia)
Messaggi: 1156
|
ma c'è qualche funzione (uso gentoo... mi riferisco alle USE flag) in particolare da abilitare in apache2 o php per poter usare la porta seriale?
![]()
__________________
====> Thermaltake Armor Silver @ Modding <====
Ultima modifica di napass : 05-04-2008 alle 17:28. |
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Una volta sistemati i diritti di accesso, puoi accederci come un file normale.
C'è anche chi ha fatto delle classi apposite, v. ad es. qui: http://www.communitymx.com/content/a....cfm?cid=8658A
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Jul 2005
Città: San Giovanni Rotondo (Foggia)
Messaggi: 1156
|
si avevo già visto quelle classi infatti stavo utilizzando proprio quelle...
![]() cmq ora funziona tutto. in linux occorre aggiungere l'utente apache al gruppo uucp che è appunto il gruppo proprietario della porta seriale. per ora ho provato in rete locale e tutto va alla grande.. ![]() il passo successivo sarà creare una pagina di login in cui in base all'utente si attribuiscano vari permessi di lettura, scrittura e lettura/scrittura sulla seriale. ma questo verrà dopo.. ![]() grazie a tutti quelli che hanno contribuito e che mi hanno dato una mano! ![]() ![]() buona domenica! ![]() ciao ciao
__________________
====> Thermaltake Armor Silver @ Modding <====
|
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Jul 2005
Città: San Giovanni Rotondo (Foggia)
Messaggi: 1156
|
ragazzi c'è un problemino di cui non mi ero accorto... ovvero : riesco a scrivere sulla seriale ma non riesco a leggere.
qualcuno saprebbe darmi una mano? sto utilizzando le classi phpserial descritte qualche post fa... grazie! ![]()
__________________
====> Thermaltake Armor Silver @ Modding <====
|
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: Jul 2005
Città: San Giovanni Rotondo (Foggia)
Messaggi: 1156
|
per rendere più chiara la cosa...
per scrivere sulla seriale utilizzo questo metodo e tutto funziona alla grande: Codice:
<?php $filename = "/dev/ttyS0"; $fd = fopen($filename, "r+"); fwrite ($fd, "stringa da scrivere"); fclose($fd); ?> per leggere invece sto provando in questo modo ma senza alcun risultato: Codice:
<?php $filename = "/dev/ttyS0"; $fd = fopen($filename, "r"); $contents = fread ($fd, 1); echo $contents; fclose($fd); ?> qualche idea in merito? grazie a tutti. ciao ciao ![]()
__________________
====> Thermaltake Armor Silver @ Modding <====
|
![]() |
![]() |
![]() |
#12 |
Senior Member
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
|
io proverei a debuggare un poco il codice:
Codice PHP:
__________________
![]() |
![]() |
![]() |
![]() |
#13 |
Senior Member
Iscritto dal: Jul 2005
Città: San Giovanni Rotondo (Foggia)
Messaggi: 1156
|
ho risolto...
praticamente non riuscivo a leggere perchè non inviavo il carattere 13 equivalente all'invio e che quindi poneva fine alla lettura... grazie a tutti per l'aiuto! ![]()
__________________
====> Thermaltake Armor Silver @ Modding <====
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 01:04.