abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
dnes 16:24 | Nová verze

Byla vydána Mageia 5.1. Jedná se o první opravné vydání verze 5, jež vyšla v červnu loňského roku (zprávička). Uživatelům verze 5 nepřináší opravné vydání nic nového, samozřejmě pokud pravidelně aktualizují. Vydání obsahuje všechny aktualizace za posledního téměř půldruhého roku. Mageia 5.1 obsahuje LibreOffice 4.4.7, Linux 4.4.32, KDE4 4.14.5 nebo GNOME 3.14.3.

Ladislav Hagara | Komentářů: 0
dnes 13:42 | Pozvánky

V Praze probíhá konference Internet a Technologie 16.2, volné pokračování jarní konference sdružení CZ.NIC. Konferenci lze sledovat online na YouTube. K dispozici je také archiv předchozích konferencí.

Ladislav Hagara | Komentářů: 0
včera 22:44 | Komunita

Joinup informuje, že Mnichov používá open source groupware Kolab. V srpnu byl dokončen dvouletý přechod na toto řešení. V provozu je asi 60 000 poštovních schránek. Nejenom Kolabu se věnoval Georg Greve ve své přednášce Open Source: the future for the European institutions (SlideShare) na konferenci DIGITEC 2016, jež proběhla v úterý 29. listopadu v Bruselu. Videozáznam přednášek z hlavního sálu je ke zhlédnutí na Livestreamu.

Ladislav Hagara | Komentářů: 8
včera 15:30 | Zajímavý projekt

Společnost Jolla oznámila v příspěvku Case study: Sailfish Watch na svém blogu, že naportovala Sailfish OS na chytré hodinky. Využila a inspirovala se otevřeným operačním systémem pro chytré hodinky AsteroidOS. Použita je knihovna libhybris. Ukázka ovládání hodinek na YouTube.

Ladislav Hagara | Komentářů: 8
včera 14:15 | Nová verze

Byla vydána verze 7.1.0 skriptovacího jazyka PHP používaného zejména k vývoji dynamických webových stránek. Jedná se o první stabilní verzi nejnovější větvě 7.1. Přehled novinek v dokumentaci. Podrobnosti v ChangeLogu. K dispozici je také příručka pro přechod z PHP 7.0.x na PHP 7.1.x.

Ladislav Hagara | Komentářů: 2
včera 12:55 | Nová verze

Google Chrome 55 byl prohlášen za stabilní. Nejnovější stabilní verze 55.0.2883.75 tohoto webového prohlížeče přináší řadu oprav a vylepšení (YouTube). Opraveno bylo také 36 bezpečnostních chyb. Mariusz Mlynski si například vydělal 22 500 dolarů za 3 nahlášené chyby (Universal XSS in Blink).

Ladislav Hagara | Komentářů: 4
včera 11:55 | Pozvánky

Máte rádi svobodný software a hardware nebo se o nich chcete něco dozvědět? Přijďte na 135. sraz spolku OpenAlt, který se bude konat ve čtvrtek 8. prosince od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Sraz bude tentokrát tématický. Bude retro! K vidění budou přístroje jako Psion 5mx nebo Palm Z22. Ze svobodného hardwaru pak Openmoko nebo čtečka WikiReader. Přijďte se i vy pochlubit svými legendami, nebo alespoň na pivo. Moderní hardware má vstup samozřejmě také povolen.

xkucf03 | Komentářů: 0
včera 00:10 | Nová verze

Byla vydána verze 3.2 svobodného systému pro detekci a prevenci průniků a monitorování bezpečnosti počítačových sítí Suricata. Z novinek lze zmínit například podporu protokolů DNP3 a CIP/ENIP, vylepšenou podporu TLS a samozřejmě také aktualizovanou dokumentaci.

Ladislav Hagara | Komentářů: 0
1.12. 21:00 | Nová verze

Byla vydána beta verze Linux Mintu 18.1 s kódovým jménem Serena. Na blogu Linux Mintu jsou hned dvě oznámení. První o vydání Linux Mintu s prostředím MATE a druhé o vydání Linux Mintu s prostředím Cinnamon. Stejným způsobem jsou rozděleny také poznámky k vydání (MATE, Cinnamon) a přehled novinek s náhledy (MATE, Cinnamon). Linux Mint 18.1 bude podporován až do roku 2021.

Ladislav Hagara | Komentářů: 0
1.12. 16:42 | Nová verze

Byl vydán Devuan Jessie 1.0 Beta 2. Jedná se o druhou beta verzi forku Debianu bez systemd představeného v listopadu 2014 (zprávička). První beta verze byla vydána v dubnu letošního roku (zprávička). Jedna z posledních přednášek věnovaných Devuanu proběhla v listopadu na konferenci FSCONS 2016 (YouTube, pdf).

Ladislav Hagara | Komentářů: 0
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (24%)
 (29%)
 (7%)
 (5%)
 (3%)
Celkem 763 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

Dotaz: Kodovani znaku na /dev/ttyS0

13.12.2012 12:51 Dan
Kodovani znaku na /dev/ttyS0
Přečteno: 623×
Dobrý den, snažím se číst zařízení na ttyS0. Jde o čtečku čárkových kodů. Když to spustím an windows přes hyperterminal tak to mám za 2 minuty funkční. Na ubuntu už se s tím dva dny peru a nic. Nastavil jsem si minicom dle návodu, to bylo vcelku jednoduché. Ale když přiložím kod ke čtečce tak se mi v konzoli zobrazi same otazniky. Nevim proč, ale možná to souvisí s tím že výstup je v hexa, ačkoliv ve windows jsem formát výstupu také nenastavoval, tady to nejde. Zkoušel jsem i gtkTerm, ale dopadlo to stejně, nevíte někdo jak to nastavit? Diky

Odpovědi

13.12.2012 15:24 NN
Rozbalit Rozbalit vše Re: Kodovani znaku na /dev/ttyS0
Nestacilo by ten vystup poslat do souboru ? Ctecka se nejak bavi, nebo jen posila data ?
pepe_ avatar 13.12.2012 18:00 pepe_ | skóre: 46
Rozbalit Rozbalit vše Re: Kodovani znaku na /dev/ttyS0

Co je to za ctecku ?

rADOn avatar 14.12.2012 15:24 rADOn | skóre: 44 | blog: bloK | Praha
Rozbalit Rozbalit vše Re: Kodovani znaku na /dev/ttyS0
K cemu minicom? Pokud je to znakovy zarizeni, melo by ti stacit stty a cat. Posli odkaz na ten navod.
"2^24 comments ought to be enough for anyone" -- CmdrTaco
14.12.2012 15:29 R
Rozbalit Rozbalit vše Re: Kodovani znaku na /dev/ttyS0
Tak to mas nastavene blbo. Na blbu otazku (kde je vyrobca a typ a ake mas nastavenie?) blba odpoved.
14.12.2012 23:17 Radun
Rozbalit Rozbalit vše Re: Kodovani znaku na /dev/ttyS0
Koukni jak máš nastavenou rychlost, případně i další parametry -- paritu, stop bit, atd. ($stty -a). Parametry změníš např tak:

$stty -F /dev/ttyS0 cs8 -parenb cstopb -echo speed 9600

pak už by mělo stačit jen (ve stejném okně terminálu!)

$cat /dev/ttyS0

Nic víc na tom není. Pokud bys potřeboval současně odpovídat, pak by bylo třeba sesmolit krátký skriptík, ale pokud chceš jenom číst, mělo by výše uvedené stačit.

15.12.2012 11:10 Dan
Rozbalit Rozbalit vše Re: Kodovani znaku na /dev/ttyS0
tak už se mi podařilo něco přečíst, povedlo se mi to tedy přes program cutecom a i přes gtkterm. U obojího bylo potřeba nastavit výstupní formát na hexa, což jsem v minicom nenašel. Teď už tedy vidím data na obrazovce. Ale jak jsem psal jde o čtečku čárkového kódu a já bych potřeboval spustit script při přiložení kódu. čtečka je nastavena tak že není potřeba posílat dotaz, při přiložení kódů se automaticky pošle načtený kód. A ten bych potřeboval poslat do nějakého scriptu. Ví někdo jak na to?
15.12.2012 11:29 Radun
Rozbalit Rozbalit vše Re: Kodovani znaku na /dev/ttyS0
musíte napsat přesně co chcete dekódovat na co, pak se nechá napsat pár řádek v bashi. Stejně ale budete muset asi pracovat s tím co jsem psal, pokud chcete použít bash. Pokud myslíte, že terminál jen znaky nezobrazuje správně, pak zkuste přes rouru poslat vše do hexdump.
15.12.2012 11:40 Dan
Rozbalit Rozbalit vše Re: Kodovani znaku na /dev/ttyS0
Děkuji za odpověď, nastavené už mám vše správně, když to pošlu do hexdump tak to jde také, děkuji :-) Takto bych ale musel stále monitorovat ten /dev/ttyS0, rád bych to zařídil tak aby se zavolal script při přiložení. Díky
15.12.2012 11:50 Radun
Rozbalit Rozbalit vše Re: Kodovani znaku na /dev/ttyS0
no, já přesně nevím co myslíte tím přeložením.
15.12.2012 12:37 Dan
Rozbalit Rozbalit vše Re: Kodovani znaku na /dev/ttyS0
Né přeložení, ale přiložení :-) tím myslím když ke čtečce přiložím ten čárkový kód, čtečka pošle data na /dev/ttyS0 a já bych v tu chvíli chtěl zavolaty nějaký script a předat mu kod který čtečka načetla.
15.12.2012 13:43 Radun
Rozbalit Rozbalit vše Re: Kodovani znaku na /dev/ttyS0
nojo, mam mala pismenka a jsem nepozornej ů). Jestli tomu dobře rozumim tak nechceš mít otevřné okno terminálu, ale aby se nějaké okno (nejlépe GUI) zobrazilo až po přečtení s tím co se načetlo. Já už jsem s tím nějaký pátek nedělal, ale koukám do svých skriptů a asi bych to dělal nějak takhle :

1) Udělal bych skript kde, ke čtení bych použil místo cat program dd:

#!/bin/bash

stty -F /dev/ttyS0 cs8 -parenb cstopb -echo speed 9600

while [ true ]; do

data="`dd if=/dev/ttyS0 bs=1 count=20 2> null`" echo $data

done

předpokládam, že máš vždy stejnou délku dat; tu je třeba nastavit za count

Tímhle skriptem získáš to samé co dělal cat, jenže zde můžeš vrazit -- místo echo -- podmínku testující,že něco přišlo třeba:

if [ "$data" != "" ]; then

echo "$data" > tmp.txt

zenity ...... ???

fi

ale i něco konkrétního a do ní pak vložit ještě nějaké gui třeba zenity nebo kdialog, které zobrazí okno do kterého se vytiskne obsah ze souboru tmp.txt (nebo se nechá použít rovnou proměnná). Jo, a ještě budeš muset někde dekódovat pomocí hexdump; pokud nehodláš testovat přesná čísla v podmínce, pak by mohlo stačit dát hexdump přes rouru až za echo.

Skript spustíš na pozadí (& na konci).

Možností je víc, ale těžko se radí když to člověk nemá před sebou. Pokud nejsi s bashem kamarád, tak to pro tebe nebude na začátek easy. Pokud jo, tak je to už asi celkem jasné. Jinak bych mohl případně poslat nějaké své sesmolené krátké skripty pro inspiraci, kde jsem čet i odpovídal konkrétnímu zařízení. -- Musel jsem si kvůli tomu tehdy přinést do práce svůj počítač s linuxem, protože s hyperterminálem jsme byli v pr.. jako Baťa s dřevákama :).

15.12.2012 16:38 Dan
Rozbalit Rozbalit vše Re: Kodovani znaku na /dev/ttyS0
Ještě tu je jeden divný problém, zatímco když to čtu ve windows spinel terminal tak je vse vporadku (stridave prikladam a odebiram kod) ty FF znamenaji za tam nic neni, to druhe je kod ktery chci precist. Ale kdy udelam to same pod linuxem, napriklad cutecom tak se to pri kazdem nacteni o jedno misto posune. To same dela kdyz dam
cat /dev/ttyS0 | hexdump
pritom nastaveni jsem kontroloval a mam ho u obojiho stejne. Cim by mohl byt ten posun zpusoben?
15.12.2012 16:56 Radun
Rozbalit Rozbalit vše Re: Kodovani znaku na /dev/ttyS0
Presmeruj to do souboru a dej to sem my na to kouknem.
15.12.2012 17:15 Dan
Rozbalit Rozbalit vše Re: Kodovani znaku na /dev/ttyS0
Stydím se, ale nevím jak, když napíšu toto
cat /dev/ttyS0 | hexdump >> log
A parkrat kod prilozim a odeberu tak v souboru nic neni :-(
15.12.2012 17:53 Radun
Rozbalit Rozbalit vše Re: Kodovani znaku na /dev/ttyS0
mozna zkusit presmerovat oba vystupy &> , nebo ulož vše bez hexdump -- tam by mělo >> fungovat
15.12.2012 18:15 Dan
Rozbalit Rozbalit vše Re: Kodovani znaku na /dev/ttyS0
No když tam dám bez hexdum tak to funguje, ale v souboru jsou pak nečitelné znaky (něco jako toto: ��������) presmerovani obou vystupu nepomaha...
15.12.2012 18:37 Radun
Rozbalit Rozbalit vše Re: Kodovani znaku na /dev/ttyS0
zadny strach, necha se to pomoci hexdum prevest i ze souboru; parkrat precti kod a ten soubor sem priloz tak jak bude
15.12.2012 19:06 Dan
Rozbalit Rozbalit vše Re: Kodovani znaku na /dev/ttyS0
Příloha:
2x prilozeno, 2x odebrano, celkem ted 4 zaznamy, to jsem zvedavy :-)
15.12.2012 19:10 Dan
Rozbalit Rozbalit vše Re: Kodovani znaku na /dev/ttyS0
Vysledek (tedy to co bych mel precist) je toto: 15AF007C
15.12.2012 20:33 Radun
Rozbalit Rozbalit vše Re: Kodovani znaku na /dev/ttyS0
Nevim co data znamenaji, ale jestli tomu dobre rozumim, tak prvni cast s FFFF 3x na konci se posle po prilozeni a druha cast, pak po odejmuti. Zformatovany vystup vypada takto:

612a 0a00 0a31 ff00 ffff ffff ffff

34ff 2a0a 0061 310a 000a 9400 0a57

612a 0a00 0a31 ff00 ffff ffff ffff

34ff 2a0a 0061 310a 000a 9400 0a57

staci pouzit hexdump takhle:

cat /dev/ttyS0 | hexdump -e '7/2 "%04x "' -e '"\n"'

Ja jen misto /dev/ttyS0 pouzil tvuj soubor (melo by to snad fungovat stejne ).

15.12.2012 21:19 Dan
Rozbalit Rozbalit vše Re: Kodovani znaku na /dev/ttyS0
No je to presne obracene. Ty FF znamenaji ze neni nic prilozeno a to druhe by melo byt cislo toho kodu, tedy v tomto pripade 15af007c resp. 000015af007c coz je presne to co zobrazuje jak spinelterminal tak cutecom (ackoliv cutecom to ma take posunute o jedno pri kazdem cteni) viz. priloha. Pokousel jsem se z toho vaseho vysledku dostat ten spravny vysledek. Ale nepodarilo se. Ale v prvni rade je mi divna delka. Jak spineltereminal tak cutecom my vratila delsi vysledky jak je videt v prilohach vyse. Zformatovany vystup by dle meho mel vypadat presne jake je zde
15.12.2012 22:31 Radun
Rozbalit Rozbalit vše Re: Kodovani znaku na /dev/ttyS0
To jsou ale podivné věci. A co se stane když místo cat použiješ dd a místo hexdump xxd takhle:

dd if=/dev/ttyS0 count=50 bs=1 2> null | xxd
15.12.2012 22:54 Dan
Rozbalit Rozbalit vše Re: Kodovani znaku na /dev/ttyS0
Presne toto:
0000000: 2a61 000d 310a 00ff ffff ffff ffff ff34  *a..1..........4
0000010: 0d2a 6100 0d31 0a00 017c 00af 1500 0094  .*a..1...|......
0000020: 570d 2a61 000d 310a 00ff ffff ffff ffff  W.*a..1.........
0000030: ff34
Navic pote co podruhe prilozim kod tak me to vykopne zpatky do bashe. Jeste k tomu predeslemu zpusobu, kdyz nedam formatovat vystup pres hexdump tak mi vraci ty nesmysli s otaznikama, ale kdyz stridave prikladam a odebiram kod tak se to periodicky opakuje, coz je vporadku. Ale hexdump se neopakuje periodicky, resp. opakuje ale s tim posunem a navic tam jakoby neco chybi... rekl bych ze to bude nejake nastaveni toho -e "...." ale to jsem vubec nepochopit jak se nastavuje...
15.12.2012 23:14 Radun
Rozbalit Rozbalit vše Re: Kodovani znaku na /dev/ttyS0
pro zarovnani muzes pouzit u xxd:

xxd -ps -c 17

a melo by to vypadat podobne jako na tom obrazu, ale ta cisla, ktera maji odpovidat kodu jsou jina, coz je divne.

dd funguje tak, ze vse vytiskne az teprve po te co precte delku zadanou za count (muzes dat vetsi hodnotu) a pak konci; a ne jako cat. Pro neustale snimani se musi tak dat jeste do smycky, ale to bych zatim neresil, pokud to zobrazuje jine hodnoty nez ma. Jinak hexdump s parametrem -C funguje podobne, ale format mi s tim nefunguje. Zkus jeste xxd s parametry pro zarovnani a porovnej to jeste jednou, ale je to pro mne trochu zahada.
15.12.2012 23:31 Dan
Rozbalit Rozbalit vše Re: Kodovani znaku na /dev/ttyS0
No to vypada nadejne!
# dd if=/dev/ttyS0 count=50 bs=1 2> null | xxd -ps -c 17
2a61000d310a00ffffffffffffffff340d
2a61000d310a00017c00af15000094570d
2a61000d310a00ffffffffffffffff34
Kdyz zadam delku 17 tak:
# dd if=/dev/ttyS0 count=17 bs=1 2> null | xxd -ps -c 17
2a61000d310a00017c00af15000094570d
Takze super!

A toto mi to dokonce nacpe do souboru:
# dd if=/dev/ttyS0 count=17 bs=1 2> null | xxd -ps -c 17 > test
Takze ted bych to videl tak ze si napisu demona ktery bude kontrolovat soubor a pokud v nem najde retezec tak ho zpracuje a znovu nastartuje dd ... Co si o tom myslis? Sice moc nechapu co jsme prsne dnes odpoledne resili ale strasne moc ti dekuju!!!
15.12.2012 23:47 Radun
Rozbalit Rozbalit vše Re: Kodovani znaku na /dev/ttyS0
No, nejak tak by to mohlo bejt. Ted bys to mohl zkusit dat do nekonecne smycky:

$ while [ true ]; do dd if=/dev/ttyS0 count=17 bs=1 2> null | xxd -ps -c 17 > test ; done

a mohlo by to cist neustale jako v pripade cat; ukoncis to ctrl+c.
17.12.2012 20:26 Dan
Rozbalit Rozbalit vše Re: Kodovani znaku na /dev/ttyS0
Tak bohužel má radost netrvala dlouho. Po restartu PC to totiž nefunguje. Nechápu to ale vrací to opět nesmysly. Ovšem když nastartuju cutecom a jednou to přečtu přes cutecom a pak ho zavřu tak pak to funguje. Takže cutecom pravděpodobně nastaví něco co tomu pak napomáhá. Koukal jsem na nastavení stty před a po cutecom a je to uplně stejné, takže nevím co nastavuje :-(
15.12.2012 23:28 Radun
Rozbalit Rozbalit vše Re: Kodovani znaku na /dev/ttyS0
ale jo, sedi to!
15.12.2012 22:58 Dan
Rozbalit Rozbalit vše Re: Kodovani znaku na /dev/ttyS0
A jeste jeden priklad:
# cat /dev/ttyS0 | xxd
0000000: 2a61 000d 310a 0001 7c00 af15 0000 9457  *a..1...|......W
0000010: 0d2a 6100 0d31 0a00 ffff ffff ffff ffff  .*a..1..........
0000020: 340d 2a61 000d 310a 0001 7c00 af15 0000  4.*a..1...|.....
0000030: 9457 0d2a 6100 0d31 0a00 ffff ffff ffff  .W.*a..1........
0000040: ffff 340d 2a61 000d 310a 0001 7c00 af15  ..4.*a..1...|...
0000050: 0000 9457 0d2a 6100 0d31 0a00 ffff ffff  ...W.*a..1......
0000060: ffff ffff 340d 2a61 000d 310a 0001 7c00  ....4.*a..1...|.
0000070: af15 0000 9457 0d2a 6100 0d31 0a00 ffff  .....W.*a..1....
0000080: ffff ffff ffff 340d 2a61 000d 310a 0001  ......4.*a..1...
0000090: 7c00 af15 0000 9457 0d2a 6100 0d31 0a00  |......W.*a..1..
00000a0: ffff ffff ffff ffff 340d 2a61 000d 310a  ........4.*a..1.
00000b0: 0001 7c00 af15 0000 9457 0d2a 6100 0d31  ..|......W.*a..1
00000c0: 0a00 ffff ffff ffff ffff 340d 2a61 000d  ..........4.*a..
00000d0: 310a 0001 7c00 af15 0000 9457 0d2a 6100  1...|......W.*a.
00000e0: 0d31 0a00 ffff ffff ffff ffff 340d 2a61  .1..........4.*a
15.12.2012 12:45 ondro
Rozbalit Rozbalit vše Re: Kodovani znaku na /dev/ttyS0
tomu stalemu monitorovaniu portu sa nevyhnes. To nejde. Nejaky program musi monitorovat port a ak pridu nejake data, tak ich prijat a vykonat urcitu operaciu s nimi.

15.12.2012 13:03 Dan
Rozbalit Rozbalit vše Re: Kodovani znaku na /dev/ttyS0
No v současné době to je tak že když se k čtečce přiloží kód a je zapnutý třeba cutecom tak se zobrazí ten kod. Tak tento kod bych potřeboval poslat do nějakého scriptu. Jen nevím jak na to...
15.12.2012 13:06 chrono
Rozbalit Rozbalit vše Re: Kodovani znaku na /dev/ttyS0
cutecom funguje tak, že neustále kontroluje ten port. Takže skript by robil to isté a nepotreboval by k tomu Qt knižnice. :)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.