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í
×

dnes 00:33 | IT novinky

Josef Průša představil na Maker Faire v New Yorku svou novou 3D tiskárnu Original Prusa i3 MK3. Z novinek (YouTube) lze zdůraznit senzor filamentu, výměnnou magnetickou podložku, rychlejší tisk nebo rozpoznání uskočené vrstvy, výpadku napájení a výpadku filamentu (YouTube).

Ladislav Hagara | Komentářů: 2
včera 17:22 | Komunita

Martin Flöser představil na svém blogu projekt XFree KWin. Cílem projektu je rozběhnout správce oken KWin na Waylandu bez XWaylandu [reddit].

Ladislav Hagara | Komentářů: 3
včera 16:55 | Komunita

Do pátku 29. září probíhá v Praze v hotelu Hilton konference SUSECON 2017 pořádaná společností SUSE. Dění na konferenci lze sledovat na Twitteru. Nils Brauckmann, CEO společnosti SUSE, vítá účastníky konference na YouTube.

Ladislav Hagara | Komentářů: 2
včera 07:00 | Komunita

Příspěvek na blogu společnosti Yubico informuje o začlenění podpory bezpečnostních klíčů FIDO U2F do Firefoxu Nightly. Dosud bylo možné dvoufázové ověření pomocí FIDO U2F ve Firefoxu zajistit pouze pomocí doplňku.

Ladislav Hagara | Komentářů: 3
včera 06:00 | Humor

Adobe PSIRT (Adobe Product Security Incident Response Team) neúmyslně zveřejnil (archive) na svém blogu svůj soukromý OpenPGP klíč. Klíč byl revokován a vygenerován nový. Nelze nezmínit xkcd 1553 - Veřejný klíč.

Ladislav Hagara | Komentářů: 1
24.9. 20:00 | Nová verze

Byla vydána (cgit) verze 0.99 svobodného nelineárního video editoru Pitivi. Jedná se o release candidate verze 1.0. Přehled úkolů, které je nutno ještě dodělat, na Phabricatoru. Pitivi je k dispozici také ve formátu Flatpak.

Ladislav Hagara | Komentářů: 0
24.9. 17:11 | Komunita

Microsoft s Canonicalem představili linuxové jádro Ubuntu optimalizováno pro cloudové služby Microsoft Azure (linux-azure). Jako výchozí je toto menší a výkonnější jádro použito již v Ubuntu Cloud Images for Ubuntu 16.04 LTS. Canonical zatím nenabízí patchování tohoto jádra za běhu systému (Canonical Livepatch Service).

Ladislav Hagara | Komentářů: 1
24.9. 14:55 | Komunita

Facebook oznámil, že přelicencuje open source projekty React, Jest, Flow a Immutable.js ze své vlastní kontroverzní licence BSD+Patents na licenci MIT. Stane se tak tento týden s vydáním Reactu 16. Jedním z důvodů přelicencování bylo oznámení nadace Apache, že software pod Facebook BSD+Patents licencí nesmí být součástí produktů pod touto nadací [Hacker News].

Ladislav Hagara | Komentářů: 0
23.9. 21:44 | Nová verze

Po půl roce od vydání verze 9.0 byla vydána verze 10.0 open source alternativy GitHubu, tj. softwarového nástroje s webovým rozhraním umožňujícího spolupráci na zdrojových kódech, GitLab (Wikipedie). Představení nových vlastností v příspěvku na blogu a na YouTube.

Ladislav Hagara | Komentářů: 1
22.9. 18:11 | Nová verze

Společnost Oracle oficiálně oznámila vydání Java SE 9 (JDK 9), Java Platform Enterprise Edition 8 (Java EE 8) a Java EE 8 Software Development Kit (SDK). Java SE 9 přináší více než 150 nových vlastností.

Ladislav Hagara | Komentářů: 0
Těžíte nějakou kryptoměnu?
 (5%)
 (3%)
 (17%)
 (75%)
Celkem 576 hlasů
 Komentářů: 23, poslední 24.9. 18:12
    Rozcestník

    Dotaz: Komunikace po RS232 - PySerial ano, BASH nikoliv, kde je chyba?

    Toman avatar 7.4.2009 15:09 Toman | skóre: 29 | blog: Tomanův blog | Kostelec nad Orlicí
    Komunikace po RS232 - PySerial ano, BASH nikoliv, kde je chyba?
    Přečteno: 1072×

    Čtu ze čtečky RFID první čtyři byte, které jsou ID přiložené karty. Sice jsem musel nejprve do EEPROM poslat nějaké nastavovací byte, aby se to ID odesílalo samo po TX ihned jakmile se objeví karta v dosahu antény, ale problém mám jiný.

    Pokud použiji pyserial (viz výpis dále), je vše v pořádku:

    #!/usr/bin/python 
    
    import serial, string
    
    ser = serial.Serial(0)
    print ser.portstr
    
    if ser.getCTS() == False:
    	print "Changing EEPROM"
    	# Set output pin to Tx
    	ser.write(chr(0x50)+chr(0x09)+chr(0x01))
    	# Set 1s beep
    	ser.write(chr(0x50)+chr(0x07)+chr(0x18))
    	# Set ASCII output format
    	ser.write(chr(0x50)+chr(0x10)+chr(0x01))
    
    while 1:
    	# Read for bytes ID
    	output = ser.read(4)
    	print "Mifare ID: ", mifare(output)
    
    ser.close()
    quit()
    

    Snažím-li se ale přímo v BASHi číst např. přes cat /dev/ttyS1 nebo takto (viz výpis), nic se neděje:

    #!/bin/bash
    
    while [ 1 ]; do
    	read CARD_ID < /dev/ttyS0
    	echo $CARD_ID
    done
    

    Jak mám to, co se mi podařilo v Pythonu, zajistit v BASHi? Jsem omezen pouze na použití BASHe. Data na seriovém portu, ty čtyři byte ID karty, jsou v HEX, má-li to mít nějaký vliv na konstrukci skriptu.

    Předem moc díky, už nevím jak to udělat.

    Odpovědi

    ava avatar 7.4.2009 16:47 ava | skóre: 10
    Rozbalit Rozbalit vše Re: Komunikace po RS232 - PySerial ano, BASH nikoliv, kde je chyba?
    No, moc konkretni nebudu, ale obecne je nejprve nutne si korektne nastavit vlastnosti serioveho spojeni, tj. pocet bitu/startbitu/stopbitu, paritu, typ handshake, prenosovou rychlost (to jsou ty nejpodstatnejsi udaje). Je dost mozne ze nic nectes protoze je port spatne nastaveny.

    To se linuxu dela prikazem setserial (debiani balicek setserial). Pokud je to spravne nastavene a karta ti skutecne neco posila, cat /dev/ttyS0 by mel vypisovat co ti posila..
    Press any key to continue, or any other key to cancel
    Toman avatar 7.4.2009 17:34 Toman | skóre: 29 | blog: Tomanův blog | Kostelec nad Orlicí
    Rozbalit Rozbalit vše Re: Komunikace po RS232 - PySerial ano, BASH nikoliv, kde je chyba?

    Dělám to na jednom embbed zařízení, setserial tam není, pouze stty, ale to by mohlo stačit, ne? V návodu k zařízení je 9600baud, 8bits, 1stop, no parity - předpokládám, že řízené je tedy off. Bude stačit, pokud udělám toto (předtím, než spustím nekonečnou while smyčku)?

    stty 9600 cs8 -parenb -crtsdts -cstopb -echo -F /dev/ttyS0
    ava avatar 8.4.2009 08:35 ava | skóre: 10
    Rozbalit Rozbalit vše Re: Komunikace po RS232 - PySerial ano, BASH nikoliv, kde je chyba?
    misto -crtsdts ma byt -crtscts (preklep), pro jistotu tam jeste prikydni raw, ale jinak to vypada v pohode..
    Press any key to continue, or any other key to cancel
    Toman avatar 8.4.2009 08:52 Toman | skóre: 29 | blog: Tomanův blog | Kostelec nad Orlicí
    Rozbalit Rozbalit vše Re: Komunikace po RS232 - PySerial ano, BASH nikoliv, kde je chyba?
    Ano, na překlep mne již upozornila konzole, ale stejně to nepomohlo...
    7.4.2009 22:28 pc2005 | skóre: 34 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Komunikace po RS232 - PySerial ano, BASH nikoliv, kde je chyba?
    Příkaz read před načtením do proměnné ještě čeká na konec řádku, takže pozor na to (jde i přímo říct readu kolik bajtů má načíst).
    Chuck Norris řekl babičce, že si dá jen 3 knedlíky. A dostal 3 knedlíky. | 帮帮我,我被锁在中国房
    Toman avatar 8.4.2009 08:34 Toman | skóre: 29 | blog: Tomanův blog | Kostelec nad Orlicí
    Rozbalit Rozbalit vše Re: Komunikace po RS232 - PySerial ano, BASH nikoliv, kde je chyba?
    Ta distribuce nepodporuje read -n :-) Napadlo mne ještě to zkusit přes dd.
    Toman avatar 10.4.2009 16:24 Toman | skóre: 29 | blog: Tomanův blog | Kostelec nad Orlicí
    Rozbalit Rozbalit vše Re: Komunikace po RS232 - PySerial ano, BASH nikoliv, kde je chyba?

    Řešení:

    #!/bin/bash
    
    # Nastaveni prenosu dat
    stty -F /dev/ttyS1 raw speed 9600
    
    # Smycka
    while [ 1 ]; do
    	READ=`dd if=/dev/ttyS1 count=1`
    	echo $READ
    done

    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.