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 22:22 | Bezpečnostní upozornění

    Dellu byla odcizena databáze zákazníků (jméno, adresa, seznam zakoupených produktů) [Customer Care, Bleeping Computer].

    Ladislav Hagara | Komentářů: 2
    včera 21:11 | Zajímavý článek

    V lednu byl otevřen editor kódů Zed od autorů editoru Atom a Tree-sitter. Tenkrát běžel pouze na macOS. Byl napevno svázán s Metalem. Situace se ale postupně mění. V aktuálním příspěvku Kdy Zed na Linuxu? na blogu Zedu vývojáři popisují aktuální stav. Blíží se alfa verze.

    Ladislav Hagara | Komentářů: 5
    včera 14:33 | Pozvánky

    O víkendu 11. a 12. května lze navštívit Maker Faire Prague, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.

    Ladislav Hagara | Komentářů: 0
    8.5. 21:55 | Nová verze

    Byl vydán Fedora Asahi Remix 40, tj. linuxová distribuce pro Apple Silicon vycházející z Fedora Linuxu 40.

    Ladislav Hagara | Komentářů: 21
    8.5. 20:22 | IT novinky

    Představena byla služba Raspberry Pi Connect usnadňující vzdálený grafický přístup k vašim Raspberry Pi z webového prohlížeče. Odkudkoli. Zdarma. Zatím v beta verzi. Detaily v dokumentaci.

    Ladislav Hagara | Komentářů: 5
    8.5. 12:55 | Nová verze

    Byla vydána verze R14.1.2 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5). Přehled novinek v poznámkách k vydání, podrobnosti v seznamu změn.

    JZD | Komentářů: 0
    7.5. 18:55 | IT novinky

    Dnešním dnem lze již také v Česku nakupovat na Google Store (telefony a sluchátka Google Pixel).

    Ladislav Hagara | Komentářů: 10
    7.5. 18:33 | IT novinky

    Apple představil (keynote) iPad Pro s čipem Apple M4, předělaný iPad Air ve dvou velikostech a nový Apple Pencil Pro.

    Ladislav Hagara | Komentářů: 4
    7.5. 17:11 | Nová verze

    Richard Biener oznámil vydání verze 14.1 (14.1.0) kolekce kompilátorů pro různé programovací jazyky GCC (GNU Compiler Collection). Jedná se o první stabilní verzi řady 14. Přehled změn, nových vlastností a oprav a aktualizovaná dokumentace na stránkách projektu. Některé zdrojové kódy, které bylo možné přeložit s předchozími verzemi GCC, bude nutné upravit.

    Ladislav Hagara | Komentářů: 0
    7.5. 13:44 | Komunita

    Free Software Foundation zveřejnila ocenění Free Software Awards za rok 2023. Vybráni byli Bruno Haible za dlouhodobé příspěvky a správu knihovny Gnulib, nováček Nick Logozzo za front-end Parabolic pro yt-dlp a tým Mission logiciels libres francouzského státu za nasazování svobodného softwaru do praxe.

    Fluttershy, yay! | Komentářů: 0
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (63%)
     (8%)
     (13%)
     (16%)
    Celkem 146 hlasů
     Komentářů: 10, poslední 8.5. 17:35
    Rozcestník

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

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

    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: 28 | 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: 28 | 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: 28 | 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á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.