www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

php branje iz com porta

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Programska oprema
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
jerny
Član
Član



Pridružen-a: Čet 17 Apr 2008 11:27
Prispevkov: 414
Aktiv.: 1.98
Kraj: Dravograd

PrispevekObjavljeno: Ned Feb 27, 2011 3:53 pm    Naslov sporočila:  php branje iz com porta Odgovori s citatom

Pišem program v php-ju, ki bi mi prebral podatek (string) iz navideznega USB serijskega porta. Delam po primeru iz spodnje strani in uporabljam tudi njihov class. http://www.phpclasses.org/package/3679-PHP-Communicate-with-a-serial-port.html

Koda:
<?php
   require("php_serial.class.php");
   $serial = new phpSerial();
   $serial->deviceSet("COM10");
   $serial->confBaudRate(19200);
   $serial->confParity("none");
   $serial->confCharacterLength(8);
   $serial->confStopBits(1);
   $serial->confFlowControl("none");
   $serial->deviceOpen();
   
    $read = $serial -> readPort();
   echo $read;
   $serial->deviceClose();
?>


Programček nekaj melje, mislim da je port normalno odprl, težavica je po mojem le v branju podatka. Če je že mogoč kdo delal s čim podobnim ga prosim za pomoč.

_________________
Če smrdi je kemija, če kadi pa elektronika!
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo MSN Messenger - naslov
aly
Član
Član



Pridružen-a: Tor 28 Sep 2004 14:51
Prispevkov: 9407
Aktiv.: 39.71
Kraj: Kranj - struževo

PrispevekObjavljeno: Ned Feb 27, 2011 5:33 pm    Naslov sporočila:   Odgovori s citatom

Kaj pa naj bere? Ali mu kaj pošiljaš od zunaj? Če nič ne pošiljaš, se zna obesit na tistem delu. Odvisno od izvedbe tiste class komponente.

Precej bolj enostavno bo, če za začetek vzameš en preizkušeno delujoč USB-RS232 vmesnik in nanj iz PHPja nekaj pošiljaš. In z osciloskopom gledaš, če kaj ven prileti.

Potem šele preskoči na branje, ki je marsikdaj bolj zahtevno kot pisanje na port.

_________________
I'm going to stand outside, so if anyone asks, I'm outstanding Smile
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran MSN Messenger - naslov
jerny
Član
Član



Pridružen-a: Čet 17 Apr 2008 11:27
Prispevkov: 414
Aktiv.: 1.98
Kraj: Dravograd

PrispevekObjavljeno: Ned Feb 27, 2011 7:35 pm    Naslov sporočila:   Odgovori s citatom

Pozabil sem omenit, da mi podatke pošilja mikrokontroler, in sicer podatek o temepraturi, ki ga v hyperterminalo normalno izpisuje.
_________________
Če smrdi je kemija, če kadi pa elektronika!
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo MSN Messenger - naslov
jerny
Član
Član



Pridružen-a: Čet 17 Apr 2008 11:27
Prispevkov: 414
Aktiv.: 1.98
Kraj: Dravograd

PrispevekObjavljeno: Čet Mar 03, 2011 9:45 pm    Naslov sporočila:   Odgovori s citatom

Stvar sem "naštudiral" in podatek (temperaturo) že lahko vidite na spletišču http://jerny.tk
_________________
Če smrdi je kemija, če kadi pa elektronika!
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo MSN Messenger - naslov
mucek4
Član
Član



Pridružen-a: Sob 18 Jun 2005 20:52
Prispevkov: 2952
Aktiv.: 12.46
Kraj: Tržič - Mesto med gorami

PrispevekObjavljeno: Pet Mar 04, 2011 12:15 pm    Naslov sporočila:   Odgovori s citatom

Koda:
500 - Internal server error.
There is a problem with the resource you are looking for, and it cannot be displayed.


Imaš pa vroče... 500 Smile
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
jerny
Član
Član



Pridružen-a: Čet 17 Apr 2008 11:27
Prispevkov: 414
Aktiv.: 1.98
Kraj: Dravograd

PrispevekObjavljeno: Sre Mar 09, 2011 10:01 am    Naslov sporočila:   Odgovori s citatom

Hehe, server do nadaljnega izklopljen, delam "update" projekta, ki pa nekako ne uspeva.
_________________
Če smrdi je kemija, če kadi pa elektronika!
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo MSN Messenger - naslov
mato1111
Član
Član



Pridružen-a: Pet 28 Dec 2012 14:42
Prispevkov: 617
Aktiv.: 4.07
Kraj: Vrhnika

PrispevekObjavljeno: Sob Jan 24, 2015 7:45 pm    Naslov sporočila:   Odgovori s citatom

//*********************** 2015 **********************//

Tudi jaz bi rad bral iz serial porta, problem imam pa da mi prikaže samo spremenljivko $myout. V čem je težava da mi noče prikazati spremenljivke $podatek1 2 in 3 ?

Koda:
 <?php
                        system('python /var/www/html/podatki.py', $myout);

                                                                $podatek1=substr($myout, 0, 7);

                                                                $podatek2=substr($myout, 8, 7);

                                                                $podatek3=substr($myout, 16, 7);

                                                                echo $myout;

                                                                echo $podatek1;

                                                                echo $podatek2;

                                                                echo $podatek3;


                                                         
                                                ?>
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
mobwap
Član
Član



Pridružen-a: Sre 14 Mar 2012 9:42
Prispevkov: 326
Aktiv.: 2.02
Kraj: Doma

PrispevekObjavljeno: Ned Jan 25, 2015 11:55 am    Naslov sporočila:   Odgovori s citatom

Preglej php substr dokumentacijo. Prvo spremenljivko bi še moral dobit nazaj, ostalih ne.
Predvidevam da je $myout dolžine 24 znakov ali več?

Koda:
 <?php
$myout = "1234568abcdefghijklmnop";

   $podatek1=substr($myout, 0, 7);  // Vrne "12345678"
   $podatek2=substr($myout, 8, 15); //Vrne "abcdefgh"
   $podatek3=substr($myout, 16, 23); //Vrne "ijklmnop"

?>

_________________
INSTALLING DEMOCRACY.... ‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡€€€€€€€€€€€€€€ 44% DONE.
Installation failed.
404 error: form not found.

FORMING GOVERNMENT.... ‡‡‡‡‡€€€€€€€€€€€€€€€€€€€€€€ 23% DONE.
Formation failed.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
mato1111
Član
Član



Pridružen-a: Pet 28 Dec 2012 14:42
Prispevkov: 617
Aktiv.: 4.07
Kraj: Vrhnika

PrispevekObjavljeno: Ned Jan 25, 2015 12:34 pm    Naslov sporočila:   Odgovori s citatom

saj če naredim tako mi deluje in izpiše vse 4 spremenljivke

Koda:
<?php
$myout = "1234567abcdefghijklmn"; // Tak string dobim na serial port in bi ga moral razbiti na 3 dele

   $podatek1=substr($myout, 0, 7); // izpiše 1234567
   $podatek2=substr($myout, 8, 7); // izpiše abcdefg
   $podatek3=substr($myout, 16, 7); // izpiše hijklmn

   echo $myout
   echo $podatek1;
   echo $podatek2;
   echo $podatek3; 

?>


V tisti kodi ki sem jo objavil zgoraj pa dobi $myout iz python programa ki bere serial port in mi izpiše samo $myout. Je mogoče to da $myout ni string ampak kaj drugega?

Tvoja koda pa mi ne deluje tako kot si napisal.
Koda:
$myout = "(1234567abcdefghijklmnop)";

   $podatek1=substr($myout, 0, 7);  // Vrne "1234567"
   $podatek2=substr($myout, 8, 15); //Vrne "abcdefghijklmno"
   $podatek3=substr($myout, 16, 23); //Vrne "ijklmnop"


substr($myout, 8, 15) - prva številka pomeni mesto v stringu, druga pa pomeni koliko mest boš gledal ne pa do katerega mesta v stringu boš gledal. v tem primeru bi izpisal 15 mest ne pa 7 kot jih rabim jaz.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
mato1111
Član
Član



Pridružen-a: Pet 28 Dec 2012 14:42
Prispevkov: 617
Aktiv.: 4.07
Kraj: Vrhnika

PrispevekObjavljeno: Ned Jan 25, 2015 1:07 pm    Naslov sporočila:   Odgovori s citatom

Sedaj sem ugotovil da če imam napisano samo to vrstico v php kodi mi že kar izpiše Brick wall Brick wall

Koda:
 system('python /var/www/html/podatki.py', $myout);
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
b0ha
Član
Član



Pridružen-a: Sre 14 Nov 2012 23:44
Prispevkov: 33
Aktiv.: 0.22
Kraj: Ljubljana

PrispevekObjavljeno: Ned Jan 25, 2015 3:46 pm    Naslov sporočila:   Odgovori s citatom

Ali lahko objaviš še kodo "podatki.py" ? Sam sem sicer tudi napisal
program za branje serijskega porta v pythonu, ampak se mi stvar po nekaj časa obesi.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Programska oprema Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 493 dni


Powered by phpBB © 2001, 2005 phpBB Group