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