Pristup na seriovy port z PHP

Slavomir Skopalik skopalik na elektlabs.cz
Pondělí Prosinec 30 20:37:35 CET 2013


Dobry den,
proverte nastaveni portu, zejmena "rizeni toku" nastavit na "zadne".
Dalsi moznosti je otevrit si COM jako soubor a spolehnout se ciste na
vychozi nastaveni portu.

Neni to uplne koser, ale melo by to fungovat.

Slavek

Ing. Slavomir Skopalik
Jednatel spolecnosti
Elekt Labs s.r.o.
Sber a vyhodnoceni dat ze stroju a laboratori 
systemem MASA (http://www.elektlabs.cz/m2demo)
----------------------------------------------
Adresa:
Elekt Labs s.r.o.
Chaloupky 158
783 72 Velky Tynec
Czech Republic
----------------------------------------------
Mobil: +420 724 207 851
icq:199 118 333
skype:skopaliks
e-mail:skopalik na elektlabs.cz
http://www.elektlabs.cz
 

> -----Original Message-----
> From: Hw-list [mailto:hw-list-bounces na list.hw.cz] On Behalf 
> Of Pavel Kutina
> Sent: Monday, December 30, 2013 5:43 PM
> To: HW-news
> Subject: Pristup na seriovy port z PHP
> 
> 
> Zdravim,
> 
> mam tu takove jedno skoro OT - potrebuju z PHP komunikovat s 
> moduly na 
> seriovem portu (seriovy port na serveru, server Apache 2.2 
> bezici lokalne na 
> WinXP) a mam takovy drobny problem.
> 
> Pouzivam php_dio a ten nejjednodussi zpusob komunikace:
> 
> exec('mode COM2: baud=9600 data=8 stop=1 parity=n');
> $fd1 = dio_open('COM2:', O_RDWR | O_NOCTTY | O_NONBLOCK);
> if(!$fd1)
>  { die("Chyba pri otevirani COM2"); }
> 
> Nasledne pak komunikuju pres dio_read($fd1) a dio_write($fd1) atd.
> 
> Vlastni komunikace je bezproblemova, problem mam s pristupem 
> k tomu portu 
> pri spusteni serveru. Pokud restartuju PC, spustim webserver 
> (jako servis s 
> pravy lokalniho uzivatele, ktery ma admin prava - ja vim, ze to je 
> bezpecnostni hruza, ale v tomhle pripade to nevadi, PC je v podstate 
> izolovane) a v browseru otevru skript, ktery vyse uvedenym 
> zpusobem saha na 
> seriovy port, tak mi to vyhodi chybu o zamitnuti pristupu na port:
> 
> Warning: dio_open() [function.dio-open]: cannot open file 
> COM2: with flags 2 
> and permissions 0: Permission denied in 
> C:\www\vhosts\localhost\test.php on 
> line 5
> a nasled¨ne vyhnije na die: Chyba pri otevirani COM2
> 
> 
> Pokud ale pred tim startem webserveru (resp. pred spustenim 
> tohoto skriptu) 
> ten konkretni port otevru nejakym terminalem rucne (pouzivam 
> teraterm, staci 
> opravdu jen otevrit a zavrit spojeni), skript se spusti a 
> bezi, jako by se 
> nechumelilo, pricemz vesele komunikuje.
> 
> Nejde o to, ze se to otevre az napodruhe, ono se to bez toho rucniho 
> "prostouchnuti" jinak nepodari vubec, ani po X pokusech (kde 
> X je vetsi, nez 
> jakekoliv rozumne cislo :)
> 
> Zvlastni je, ze mi to dela na jednou ze dvou PC - na obou 
> WinXP Pro, na obou 
> stejne karty s porty, stejna instalace onoho lokalniho Apache s PHP 
> (konfiguraky i vsechny knihovny prekopirovane z jednoho na 
> druhe, abych 
> vyloucil nejaky preklep). Doma mi to ve stejne konfoguraci 
> bez problemu 
> chodi i s Win7 64bit. Netusite, kde by mohl byt zadrhel?
> 
> Priznam se, ze me to malicko irituje. Docela dost malicko :)
> 
> Pavel Kutina 
> 
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz 
> Hw-list na list.hw.cz http://list.hw.cz/mailman/listinfo/hw-list
> 



Další informace o konferenci Hw-list