abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 17:11 | Nová verze

    Byl vydán Nextcloud Hub 8. Představení novinek tohoto open source cloudového řešení také na YouTube. Vypíchnout lze Nextcloud AI Assistant 2.0.

    Ladislav Hagara | Komentářů: 0
    včera 13:33 | Nová verze

    Vyšlo Pharo 12.0, programovací jazyk a vývojové prostředí s řadou pokročilých vlastností. Krom tradiční nadílky oprav přináší nový systém správy ladících bodů, nový způsob definice tříd, prostor pro objekty, které nemusí procházet GC a mnoho dalšího.

    Pavel Křivánek | Komentářů: 5
    včera 04:55 | Zajímavý software

    Microsoft zveřejnil na GitHubu zdrojové kódy MS-DOSu 4.0 pod licencí MIT. Ve stejném repozitáři se nacházejí i před lety zveřejněné zdrojové k kódy MS-DOSu 1.25 a 2.0.

    Ladislav Hagara | Komentářů: 33
    25.4. 17:33 | Nová verze

    Canonical vydal (email, blog, YouTube) Ubuntu 24.04 LTS Noble Numbat. Přehled novinek v poznámkách k vydání a také příspěvcích na blogu: novinky v desktopu a novinky v bezpečnosti. Vydány byly také oficiální deriváty Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio, Ubuntu Unity a Xubuntu. Jedná se o 10. LTS verzi.

    Ladislav Hagara | Komentářů: 13
    25.4. 14:22 | Komunita

    Na YouTube je k dispozici videozáznam z včerejšího Czech Open Source Policy Forum 2024.

    Ladislav Hagara | Komentářů: 2
    25.4. 13:22 | Nová verze

    Fossil (Wikipedie) byl vydán ve verzi 2.24. Jedná se o distribuovaný systém správy verzí propojený se správou chyb, wiki stránek a blogů s integrovaným webovým rozhraním. Vše běží z jednoho jediného spustitelného souboru a uloženo je v SQLite databázi.

    Ladislav Hagara | Komentářů: 0
    25.4. 12:44 | Nová verze

    Byla vydána nová stabilní verze 6.7 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 124. Přehled novinek i s náhledy v příspěvku na blogu. Vypíchnout lze Spořič paměti (Memory Saver) automaticky hibernující karty, které nebyly nějakou dobu používány nebo vylepšené Odběry (Feed Reader).

    Ladislav Hagara | Komentářů: 0
    25.4. 04:55 | Nová verze

    OpenJS Foundation, oficiální projekt konsorcia Linux Foundation, oznámila vydání verze 22 otevřeného multiplatformního prostředí pro vývoj a běh síťových aplikací napsaných v JavaScriptu Node.js (Wikipedie). V říjnu se verze 22 stane novou aktivní LTS verzí. Podpora je plánována do dubna 2027.

    Ladislav Hagara | Komentářů: 0
    25.4. 04:22 | Nová verze

    Byla vydána verze 8.2 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a v informačním videu. Zdůrazněn je průvodce migrací hostů z VMware ESXi do Proxmoxu.

    Ladislav Hagara | Komentářů: 0
    25.4. 04:11 | Nová verze

    R (Wikipedie), programovací jazyk a prostředí určené pro statistickou analýzu dat a jejich grafické zobrazení, bylo vydáno ve verzi 4.4.0. Její kódové jméno je Puppy Cup.

    Ladislav Hagara | Komentářů: 0
    KDE Plasma 6
     (74%)
     (9%)
     (2%)
     (16%)
    Celkem 806 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    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: 1133×

    Č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: 38 | 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).
    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.