Hozzászólások
-
SzerzőBejegyzés
-
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.
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.]
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.]
„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.
„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.
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/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/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.
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.
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_ioIndítás:
Code:$ ./http_ioWeb cím:
http://localhost:1500Pé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 1500A 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.
-
SzerzőBejegyzés

legutóbbi hsz