Ausgabe mit "od -x" nach 4 Zeichen speichern

  • i#hallo@community,


    ich lasse mir via "od -x < /dev/ttyUSB0" von meinem seriellen gerät (hängt am mit adapter usb am Pi3) einige Daten zurück geben. ich erhalte die daten in hexadezimaler form. die rückgabe am terminal mittels "od -x" sieht so aus:

    Code
    20 f6 60 8a aa 50 a5 34 5d d7 2c cc cf f4 44 50 22 12 2f ff ... ...


    ich möchte, sobald im terminal die ersten 2 paare erschienen sind (hier also "20 f6"), diese 2 paare in eine txt speichern. der rest davon ist unwichtig. das "od -x" kann dann abgebrochen werden. im terminal anzeigen geht mittels "od -x < /dev/ttyUSB0". leider funktioniert das umleiten in eine txt nicht direkt :helpnew:


    so wird gesendet:

    Code
    echo -en '\x20\xf6\x60\x8a' > /dev/ttyUSB0



    im zweiten terminalfenster bekomme ich mit "od -x < /dev/ttyUSB0" alles zurück. meine frage ist, ob ich beim senden anstatt nur an ttyUSB0 zu senden ich mir auch gleich die ersten 2 paare der antwort in eine txt speichern kann

  • ok, od -N 2 -x funzt perfekt. noch eine frage:


    ich sende über php mittels shell_exec folgenden code
    [code=php]$out = shell_exec(" '/bin/bash -c echo -en '\x12\x06\x23' > /dev/ttyUSB0' ")
    [/php]
    wie bekomme ich statt dem "echo -en" das "od -N 2 -x" da rein gebastelt, so dass in "$out" eben meine 2 zeichen stehen?