gabaman

Hozzászólások

10 bejegyzés megtekintése - 241-250 / 2,173
  • Szerző
    Bejegyzés
  • Hozzászólás: Linksys WRT54GL WLAN router (RS232) #2176701
    gabaman
    Felhasználó
      Androla wrote:
      Közben találtam php serial kiegészítést csak még nemtudom mire jó
      most épp ezt tanulmányozgatom:

      Ez egy univerzális hozzáférést segítő megoldás akar lenni. Már írtam, a biztonság itt nagy probléma. Az apache és a PHP éles nagyüzemi használatra készült, ahol crackerek és mindenféle kártevők között kell a rendszernek működni. Ezért – biztonsági okokból – a PHP nem nagyon támogatja a közvetlen hozzáférést, vagy nagyon megnehezíti. Amit belinkeltél az külső forrásból – finoman szólva nem elegáns módon – áthidalja ezt a problémát. Bár csak 0.2-es a verziószáma, tehát még nagyon kezdetleges. Alapvetően nem tud többet, mint az alap PHP. Viszont extra programokat igényel, amit neked kell lefordítanod.

      Hozzászólás: Linksys WRT54GL WLAN router (RS232) #2176698
      gabaman
      Felhasználó
        Androla wrote:
        De azt látom, hogy elég érzékenyen kezelik a linuxosok, bizonyos megnyilvánulásaimat,
        szerintem ezt ne tegyétek mert, nem erről szól ez a dolog!

        Ezzel kapcsolatban hatalmasat tévedsz, bár egyértelműen nem tehetsz róla. Túl sok Microsoft által kiadott vagy szponzorált linuxos anyaggal találkoztál – hogy értsd is mire gondolok: nem az Audi kiadványaiból kell megtudni mire jó és mire nem egy BMW verda -, és túl sok olyan emberkével találkoztál akik gúnyosan és lenézően emlegetnek „vérlinuxosokat”. Nem írtam olyat hogy jobb vagy rosszabb lenne bármilyen rendszer, de azt el kell ismerned, hogy amit leírtál az kizárja hogy egy soros periféria (pl. egér, billentyűzet, modem) használhatóan működjön linuxon (ti. a fájl lezárásakor történik a kommunikáció), nem hogy még egy beágyazott eszköz. De ha így reagálsz rá, akkor jobb ha tudod, hogy akár Windows CE-vel is meg lehet valósítani amit szeretnél – akár könnyebben és hatékonyabban is -, de nem azért nem segítek ebben mert nem akarok vagy mert a „hitem nem engedi”, hanem mert még sohasem dolgoztam vele. Ami a többi megnyilvánulást illeti (hogy miért írsz böngésző helyett explorert, futtatható fájl helyett .exe-t) az más kérdés, arról tényleg ne beszéljünk.  [Zárójelben megjegyzem, hogy ha akár burkoltan is elvakultnak tekintesz az sértő ha nem vagyok az.]

        Hozzászólás: Linksys WRT54GL WLAN router (RS232) #2176699
        gabaman
        Felhasználó
          Androla wrote:
          De azt látom, hogy elég érzékenyen kezelik a linuxosok, bizonyos megnyilvánulásaimat,
          szerintem ezt ne tegyétek mert, nem erről szól ez a dolog!

          Ezzel kapcsolatban hatalmasat tévedsz, bár egyértelműen nem tehetsz róla. Túl sok Microsoft által kiadott vagy szponzorált linuxos anyaggal találkoztál – hogy értsd is mire gondolok: nem az Audi kiadványaiból kell megtudni mire jó és mire nem egy BMW verda -, és túl sok olyan emberkével találkoztál akik gúnyosan és lenézően emlegetnek „vérlinuxosokat”. Nem írtam olyat hogy jobb vagy rosszabb lenne bármilyen rendszer, de azt el kell ismerned, hogy amit leírtál az kizárja hogy egy soros periféria (pl. egér, billentyűzet, modem) használhatóan működjön linuxon (ti. a fájl lezárásakor történik a kommunikáció), nem hogy még egy beágyazott eszköz. De ha így reagálsz rá, akkor jobb ha tudod, hogy akár Windows CE-vel is meg lehet valósítani amit szeretnél – akár könnyebben és hatékonyabban is -, de nem azért nem segítek ebben mert nem akarok vagy mert a „hitem nem engedi”, hanem mert még sohasem dolgoztam vele. Ami a többi megnyilvánulást illeti (hogy miért írsz böngésző helyett explorert, futtatható fájl helyett .exe-t) az más kérdés, arról tényleg ne beszéljünk.  [Zárójelben megjegyzem, hogy ha akár burkoltan is elvakultnak tekintesz az sértő ha nem vagyok az.]

          Hozzászólás: Linksys WRT54GL WLAN router (RS232) #2176690
          gabaman
          Felhasználó

            „A soros portot fájlként látod ami valójában nincs is ott, nem is létezik mint fájl.”

            A /dev/ttyS0 egy fájlnak álcázott átirányítás, ha így jobban megérted. Nincs tartalom mögötte. Ha meg van nyitva, akkor a további megnyitási kísérleteket visszadobja egy foglalt eszköz (EBUSY – device or resource busy) hibaüzenettel.

            Hozzászólás: Linksys WRT54GL WLAN router (RS232) #2176691
            gabaman
            Felhasználó

              „A soros portot fájlként látod ami valójában nincs is ott, nem is létezik mint fájl.”

              A /dev/ttyS0 egy fájlnak álcázott átirányítás, ha így jobban megérted. Nincs tartalom mögötte. Ha meg van nyitva, akkor a további megnyitási kísérleteket visszadobja egy foglalt eszköz (EBUSY – device or resource busy) hibaüzenettel.

              Hozzászólás: Linksys WRT54GL WLAN router (RS232) #2176688
              gabaman
              Felhasználó
                vector wrote:
                A C-s példával az lehet a baja, hogy nincs compiler -je hozzá, a php-vel meg, hogy nincs hozzá motor a routeren…:) Vagy rosszul gondolom?

                Azt hittem egyértelmű a dolog. Nem a router-re készült változatok ezek, hanem egy teszt, ami a PC-n tesztelhető. A C-s példa megy Linuxon vagy Windowson Cygwin-nel, a php meg apache+PHP párossal. Amíg nincs meg legalább a mikrokontroller terve, addig nincs értelme a soros porttal foglalkozni. Viszont az adatok eljutnak az internet legutolsó eldugott szegletéből is a szerver programhoz, amiben megtalálható a soros modul (a kettőt kell még valamilyen logika alapján összekötni).

                Androla wrote:
                Az jelenthet bármiféle problémát, hogy vagy állandóan nyitva van az uart vagy csak esetlegesen ?

                Ezt neked kellene tudnod. 🙂 A routernek és az linuxnak nem probléma. De ha a mikrokontroller elmegy aludni vagy bármi más esély van szinkronizációs problémákra akkor igen. Bár akkor is lehet egy státusz lekérést végezni minden egyes adatküldés előtt, hogy tud-e fogadni.

                Androla wrote:
                Ha csak akkor nyílik meg amikor adat külldés van, egyéb esetben csak nem irkál oda semmi.

                Ha folyamatosan nyitva van, akkor az folyamatos zárolást is jelent.

                Androla wrote:
                Ha a /dev/ttyS0 kifejezést vizsgálom
                Akkor ez tulajdonképpen csak egy szinbolikus virtuális file a /dev/ könyvtárban ?
                Mikör történik az adatok hardveres feldolgozása az után amikor bezárom a filét ?
                Vagy ha megváltozik a tartalma rögtön ?

                Egy UNIX (POSIX) tervezési filozófia, hogy minden egyes eszköz egy fájlként van reprezentálva (pl. soros port, merevlemez partíció, rendszermag beállítás). Minden virtuális fájlnak van rendszerszintű tulajdonsága, a soros portnak például hogy szinkron (nincs puffer) és nem pozícionálható. Tehát az adatot kiküldő write() funkció futása addig nem fejeződik be, míg a küldött adat el nem hagyja a soros portot, és a sikeresen elküldött bájtok számával tér vissza.

                Androla wrote:
                Gabaman írta, hogy a Linux rendszermag nem enged többszörös hozzáférést,
                vagyis ezekszerint amíg be nem zárom az op nem férhet hozzá,
                vagyis a kérdésemre a válasz:

                1. fopen
                2. fwrite
                3. fclose  —- és most megnézi az op, hogy megváltozott e a tartalma, ha igen kiküldi
                                    az RS232-őre és kiküldés után kiüríti a filét ???

                Nem, nem, nem. A fájl kifejezés rettenetesen összezavar. Nincs valós fájl, csak annak látszik. Így csak egy műveletsorozatot kell megvalósítani (pl. open, read, write, close), és nem kell az fopen() mellé sio_open(), pio_open(), config_open(), hdd_open(), audio_open(),  mixer_open(), tty_open(), stb. A soros portot fájlként látod ami valójában nincs is ott, nem is létezik mint fájl.

                Szomorúan veszem tudomásul, hogy a linuxot egy béna, gagyi hobbirendszernek tekinted, és figyelmen kívül hagyod az ipari beágyazott rendszerekben való elterjedtségét. Nemcsak egy vacak soros portot képes megfelelően működtetni, hanem képes – ha nem is teljes értékű – valósidejű (RT – realtime) rendszerként is működni.

                http://www.novell.com/products/realtime/
                http://www.ibm.com/developerworks/power/library/pa-soc4
                http://www.timesys.com/
                http://rt.wiki.kernel.org/

                Hozzászólás: Linksys WRT54GL WLAN router (RS232) #2176689
                gabaman
                Felhasználó
                  vector wrote:
                  A C-s példával az lehet a baja, hogy nincs compiler -je hozzá, a php-vel meg, hogy nincs hozzá motor a routeren…:) Vagy rosszul gondolom?

                  Azt hittem egyértelmű a dolog. Nem a router-re készült változatok ezek, hanem egy teszt, ami a PC-n tesztelhető. A C-s példa megy Linuxon vagy Windowson Cygwin-nel, a php meg apache+PHP párossal. Amíg nincs meg legalább a mikrokontroller terve, addig nincs értelme a soros porttal foglalkozni. Viszont az adatok eljutnak az internet legutolsó eldugott szegletéből is a szerver programhoz, amiben megtalálható a soros modul (a kettőt kell még valamilyen logika alapján összekötni).

                  Androla wrote:
                  Az jelenthet bármiféle problémát, hogy vagy állandóan nyitva van az uart vagy csak esetlegesen ?

                  Ezt neked kellene tudnod. 🙂 A routernek és az linuxnak nem probléma. De ha a mikrokontroller elmegy aludni vagy bármi más esély van szinkronizációs problémákra akkor igen. Bár akkor is lehet egy státusz lekérést végezni minden egyes adatküldés előtt, hogy tud-e fogadni.

                  Androla wrote:
                  Ha csak akkor nyílik meg amikor adat külldés van, egyéb esetben csak nem irkál oda semmi.

                  Ha folyamatosan nyitva van, akkor az folyamatos zárolást is jelent.

                  Androla wrote:
                  Ha a /dev/ttyS0 kifejezést vizsgálom
                  Akkor ez tulajdonképpen csak egy szinbolikus virtuális file a /dev/ könyvtárban ?
                  Mikör történik az adatok hardveres feldolgozása az után amikor bezárom a filét ?
                  Vagy ha megváltozik a tartalma rögtön ?

                  Egy UNIX (POSIX) tervezési filozófia, hogy minden egyes eszköz egy fájlként van reprezentálva (pl. soros port, merevlemez partíció, rendszermag beállítás). Minden virtuális fájlnak van rendszerszintű tulajdonsága, a soros portnak például hogy szinkron (nincs puffer) és nem pozícionálható. Tehát az adatot kiküldő write() funkció futása addig nem fejeződik be, míg a küldött adat el nem hagyja a soros portot, és a sikeresen elküldött bájtok számával tér vissza.

                  Androla wrote:
                  Gabaman írta, hogy a Linux rendszermag nem enged többszörös hozzáférést,
                  vagyis ezekszerint amíg be nem zárom az op nem férhet hozzá,
                  vagyis a kérdésemre a válasz:

                  1. fopen
                  2. fwrite
                  3. fclose  —- és most megnézi az op, hogy megváltozott e a tartalma, ha igen kiküldi
                                      az RS232-őre és kiküldés után kiüríti a filét ???

                  Nem, nem, nem. A fájl kifejezés rettenetesen összezavar. Nincs valós fájl, csak annak látszik. Így csak egy műveletsorozatot kell megvalósítani (pl. open, read, write, close), és nem kell az fopen() mellé sio_open(), pio_open(), config_open(), hdd_open(), audio_open(),  mixer_open(), tty_open(), stb. A soros portot fájlként látod ami valójában nincs is ott, nem is létezik mint fájl.

                  Szomorúan veszem tudomásul, hogy a linuxot egy béna, gagyi hobbirendszernek tekinted, és figyelmen kívül hagyod az ipari beágyazott rendszerekben való elterjedtségét. Nemcsak egy vacak soros portot képes megfelelően működtetni, hanem képes – ha nem is teljes értékű – valósidejű (RT – realtime) rendszerként is működni.

                  http://www.novell.com/products/realtime/
                  http://www.ibm.com/developerworks/power/library/pa-soc4
                  http://www.timesys.com/
                  http://rt.wiki.kernel.org/

                  Hozzászólás: Linksys WRT54GL WLAN router (RS232) #2176682
                  gabaman
                  Felhasználó

                    Ugyanez PHP-ban, csak itt minden egyes kérésnél külön meg lesz nyitva a soros port, és nem egyszer mint a C nyelvű példánál.

                    Hozzászólás: Linksys WRT54GL WLAN router (RS232) #2176683
                    gabaman
                    Felhasználó

                      Ugyanez PHP-ban, csak itt minden egyes kérésnél külön meg lesz nyitva a soros port, és nem egyszer mint a C nyelvű példánál.

                      Hozzászólás: Linksys WRT54GL WLAN router (RS232) #2176680
                      gabaman
                      Felhasználó
                        Androla wrote:
                        A dolog nálam a C-nyelvnél fog elbukni ezért próbálom nagyon a html+php felé terelni a dolgot
                        mert abban már össze tudtam kontárkodni egy akarmi.txt-t felülíró honlapot

                        Összedobtam egy szösszenetet, a kód minőségét legyen szíves ne minősítse senki se, jelen pillanatban felesleges többet foglalkozni vele.

                        Fordítás:

                        Code:
                        $ gcc -Wall http_io.c -o http_io

                        Indítás:

                        Code:
                        $ ./http_io

                        Web cím:
                        http://localhost:1500

                        Példa kimenet (szerver oldal):

                        ./http_io: waiting for data on port TCP 1500
                        GET
                        1:  ./http_io: received from 127.0.0.1:TCP47743 :
                        ./http_io: waiting for data on port TCP 1500
                        POST
                        raw: ”
                        control: ”

                        2:  ./http_io: received from 127.0.0.1:TCP47745 :
                        ./http_io: waiting for data on port TCP 1500
                        POST
                        raw: ”
                        control: ‘(null)’

                        3:  ./http_io: received from 127.0.0.1:TCP47746 :
                        ./http_io: waiting for data on port TCP 1500
                        POST
                        raw: ‘gdgd’
                        control: ‘(null)’

                        4:  ./http_io: received from 127.0.0.1:TCP50285 :
                        ./http_io: waiting for data on port TCP 1500
                        POST
                        raw: ‘gdgd’
                        control: ‘4’

                        5:  ./http_io: received from 127.0.0.1:TCP50286 :
                        ./http_io: waiting for data on port TCP 1500
                        POST
                        raw: ‘gdgd’
                        control: ‘2’

                        6:  ./http_io: received from 127.0.0.1:TCP50287 :
                        ./http_io: waiting for data on port TCP 1500

                        A lényeg, hogy ha vezérlő gombot nyomtál meg, akkor a kódja benne van a ‘control’ változóban, ha nyers adatot szeretnél akkor a ‘control’ üres és a ‘raw’ értéke az érvényes. Jelenleg a progi megnyitja a soros portot, de nem küld semmit, mert még semmi értelme (nincs mit és nincs hova). A felh.név és a jelszó egyaránt ‘test’. Nézd meg, próbáld ki, működik a mini HTTP szerver. A HTML lapokat később akár fájlból is be lehet olvasni, de most nem fontos.

                      10 bejegyzés megtekintése - 241-250 / 2,173