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 04:44 | Pozvánky

    O víkendu probíhá na FIT VUT v Brně konference OpenAlt 2026 o otevřeném softwaru a datech, IT bezpečnosti, DIY a IoT. Na programu je spousta zajímavých přednášek. Pokud jste v Brně, stavte se. Vstup zdarma. Přednášky lze sledovat i online na VHSky a YouTube.

    Ladislav Hagara | Komentářů: 0
    dnes 02:11 | IT novinky

    Qualcomm uzavřel víceletou dohodu se SpaceX. Bude dodávat rádiové technologie, baseband jednotky a software pro plánovanou pozemní 5G síť Starlink Mobile. Výstavba má zahrnovat desítky tisíc základnových stanic v USA. Zahájení nasazování se očekává v roce 2027. Qualcomm dohodu označuje za svůj dosud největší 5G kontrakt.

    vencour | Komentářů: 1
    dnes 02:00 | IT novinky

    Google rozšířil Cloud Vulnerability Reward Program. Nově nabízí odměnu až 250 tisíc dolarů za vysoce závažné architektonické bezpečnostní chyby označované jako Root-in-Cloud.

    vencour | Komentářů: 1
    včera 12:22 | IT novinky

    V březnu byla oznámena spolupráce GrapheneOS s Motorolou. Nejnovější vlajka Motorola Signature 27 je první Motorola s oficiální podporou GrapheneOS. GrapheneOS (Wikpedie) je varianta Androidu zaměřující se na bezpečnost a soukromí.

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

    Omarchy (Wikipedie) je linuxová distribuce s dlaždicovým správcem oken Hyprland. Založena je na Arch Linuxu. Vydána byla v nové verzi 4.5.0. Nově také pro Apple Silicon, konkrétně pro M1/M2/M3/Neo MacBooky.

    Ladislav Hagara | Komentářů: 4
    včera 03:22 | Nová verze

    Byla vydána nová stabilní verze 8.3 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 156 s bezpečnostními opravami z Chromia 157. Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    5.11. 19:53 | Bezpečnostní upozornění
    V Xenu objevena zranitelnost. Chyba v mechanismu grant copy umožňuje škodlivému virtuálnímu stroji číst a přepisovat libovolnou paměť jiných VM včetně privilegované domény Dom0. Dotčené verze jsou Xen 4.6 a novější. V upstreamu jsou dostupné patche pro Xen 4.17 až 4.19 a vývojovou větev. Pro starší nepodporované verze 4.6–4.16 nejsou v XSA-523 přiloženy opravy.
    vencour | Komentářů: 2
    5.11. 16:55 | Nová verze

    Multimediální přehrávač mpv byl vydán ve verzi 0.42.0. Jde o větší balík změn po bezmála roce. Mimo jiné se lépe integruje s Waylandem nebo rozšiřuje podporu DVD/Blu-ray, např. umožňuje přehrávat rovnou obrazy médií (soubory iso).

    ʚĭɞ 🍉 | Komentářů: 0
    5.11. 12:22 | Nová verze

    Desktopové prostředí LXQt (Lightweight Qt Desktop Environment, Wikipedie) vzniklé sloučením projektů Razor-qt a LXDE bylo vydáno ve verzi 2.5.0. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    5.11. 12:11 | Nová verze

    Byla vydána (𝕏) nová verze 8.0 LTS open source monitorovacího systému Zabbix (Wikipedie). Přehled novinek v oznámení na webu, v poznámkách k vydání a v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (30%)
     (9%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2992 hlasů
     Komentářů: 35, poslední včera 23:27
    Rozcestník

    Dotaz: Cyklus While - čtení dat z /dev/ttyUSB

    Petr Maleček avatar 19.1.2014 20:02 Petr Maleček | skóre: 29 | Plzeň - Bolevec
    Cyklus While - čtení dat z /dev/ttyUSB
    Přečteno: 525×

    Ahoj, mám tu problém. Z USB teploměru získávám data o teplotě (ASCII), občas se stane, že teploměr na první dotaz neodpoví, tak bych chtěl, aby se v případě nulového výstupu dotaz na data zopakoval.

    Výstup z USB zařízení vypadá takto:

    *B1E1+019.7

    Kde *B1E1 se nemění, mění se až data za ním (znaménko a čísla).

    
    #!/bin/bash
    TEMPREAD=(`head -1 /dev/ttyUSB0`); # | cut -c6-11`);
    
            while [ $TEMPREAD == *"B1E1"* ]; do
                    echo $TEMPREAD;
            done
    
    
    

    Zatím jsem chtěl pouze nechat vypisovat vrácená data a aby se script ukončil v případě, že data nebudou k dispozici. Ovšem nechápu, proč se data nevypíšou ani jednou? Co mám v tom cyklu špatně?

    Díky :-)
    LinMuck, WinFuck :-P

    Řešení dotazu:


    Odpovědi

    19.1.2014 21:27 li737 | skóre: 6
    Rozbalit Rozbalit vše Re: Cyklus While - čtení dat z /dev/ttyUSB
    ze zařízení se čte jen jednou na začátku. Je potřeba dat to do cyklu.
    Petr Maleček avatar 19.1.2014 21:55 Petr Maleček | skóre: 29 | Plzeň - Bolevec
    Rozbalit Rozbalit vše Re: Cyklus While - čtení dat z /dev/ttyUSB
    Ano, i kdyby se četlo ze zařízení jen jednou, tak by snad jednou ten cyklus proběhl, ne? :-)
    LinMuck, WinFuck :-P
    19.1.2014 22:07 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: Cyklus While - čtení dat z /dev/ttyUSB
    Ano jednou se načte a proč by to mělo něco vypsat když to přečte třeba bflmps ?

    Či to přečte bílé znaky a podobně...
    19.1.2014 22:43 li737 | skóre: 6
    Rozbalit Rozbalit vše Re: Cyklus While - čtení dat z /dev/ttyUSB
    když nebude splněna podmínka tak cyklus neproběhne ani jednou. Jinak aby ta podmínka fungovala tak je potřeba zdvojit závorku [[
    Petr Maleček avatar 20.1.2014 01:19 Petr Maleček | skóre: 29 | Plzeň - Bolevec
    Rozbalit Rozbalit vše Re: Cyklus While - čtení dat z /dev/ttyUSB
    Tak chyba byla v té zdvojené závorce, což jsem úplně přehlédl. Díky, už mi to funguje :-)
    
    #!/bin/bash
    TEMPREAD=(`head -1 /dev/ttyUSB0`); # | cut -c6-11`);
    
            while [[ "$TEMPREAD" != *"B1E1"* ]]; do
                    # READ DATA AGAIN
                    TEMPREAD=(`head -1 /dev/ttyUSB0`);
                    # echo $TEMPREAD
            done
    
            # FORMAT OUTPUT
            TEMPREAD=(`echo $TEMPREAD | cut -c6-11`);
            # echo $TEMPREAD;
    
    # WRITE DATA TO SQL
    sqlite3 /root/meteo-temp1.sqlite "INSERT INTO 'meteo-temp1' ('datum', 'teplota') VALUES (DATETIME('now', 'localtime'), '$GETTEMP0');"
    
    LinMuck, WinFuck :-P
    Petr Maleček avatar 20.1.2014 01:21 Petr Maleček | skóre: 29 | Plzeň - Bolevec
    Rozbalit Rozbalit vše Re: Cyklus While - čtení dat z /dev/ttyUSB
    Pardon, místo $GETTEMP0 má být $TEMPREAD
    LinMuck, WinFuck :-P

    Založit nové vlákno • Nahoru

    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.