Kirjoittaja Aihe: Datan lukeminen TCP-portin kautta ?  (Luettu 3286 kertaa)

Mistofelees

  • Käyttäjä
  • Viestejä: 656
    • Profiili
Datan lukeminen TCP-portin kautta ?
« : 26.07.22 - klo:15.37 »
Laite (GT06 GPS tracker) lähettää binääristä dataa 30 sek välein n. 40 tavua kerrallaan.
Tämä data pitäisi saada kaapattua talteen ja muokattua seuraavan ohjelman käyttöön.
Saan datan tiedostoon loitsulla
Koodia: [Valitse]
[b]nc -kl 9998 |od -An -tu1 > /tmp/tracker.tmp[/b]
Nyt pitäisi vielä saada tuolle kaapatulle datalle tehtyä pari muokkausta ennenkuin seuraava ryöppy tulee.
- Ilmeisesti komentoriville ei pysty pipe:n perään lisäämään erillistä komentoa ? Ainakaan itse en onnistunut.
- Tein putken päähän bash scriptin, jossa on pari riviä. Tulkki ei kuitenkaan suostu suorittamaan, kuin ensimmäisen näistä riveistä
Koodia: [Valitse]
[b] #!/bin/bash
od -An -tu1 $1
echo "Hello"[/b]

Tuokin on outoa, että vaikka ohjaan datan tulostumaan tiedostoon '>', kirjoitus ei ala puhtaalta pöydältä, vaan ikäänkuin olisin käyttänyt '>>'.

Onko ajatuksia ?

Mistofelees

  • Käyttäjä
  • Viestejä: 656
    • Profiili
Vs: Datan lukeminen TCP-portin kautta ?
« Vastaus #1 : 27.07.22 - klo:02.19 »
Kyllästyin taistelemaan tuon kanssa ja kirjoitin php:llä scriptin, joka hoitaa homman nilkuttaen.
Scripti ei vielä osaa GT06:n kaipaamaa kättelyä, joten se kaataa yhteyden muutaman minuutin välein, jolloin myös ohjelma kaatuu.
Data kyllä tulee oikeassa muodossa ja tarkkuus on tarkastettu.

Kaikkea ei ehdi päivässä, kun pitää muutakin touhuta..

jarmala

  • Käyttäjä
  • Viestejä: 789
    • Profiili
Vs: Datan lukeminen TCP-portin kautta ?
« Vastaus #2 : 27.07.22 - klo:02.40 »
Nyt pitäisi vielä saada tuolle kaapatulle datalle tehtyä pari muokkausta ennenkuin seuraava ryöppy tulee.

Eikö niitä muokkauksia voisi tehdä siinä samassa putkessa, joka kaappaa sen datan talteen?

Jollain erillisellä skriptillä saa toki käsiteltyä _koko_ kaapatun tiedoston, mutta ei kai mitenkään sitä mukaa, kun sitä tallennetaan.
Ubuntu 18.04 LTS, Gnome Flashback Metacity, Xeon E3-1245 V2, 8 GB
Ubuntu 22.04 LTS, KDE Plasma, Celeron N5105, 8 GB

_Pete_

  • Käyttäjä
  • Viestejä: 1845
  • Fufufuuffuuu
    • Profiili
Vs: Datan lukeminen TCP-portin kautta ?
« Vastaus #3 : 28.07.22 - klo:00.33 »
tuo että ohjaat tulostuksen > kautta muualle kuin stdout tarkoittaa sitä että ei ole mitään putkitettavaa seuraavalle ohjelmalle.

Jos haluaisi putkitta niin pitää poistaa > ohjaus tiedostoon ja sen sijan olla putkitus | muualle.


mniem

  • Käyttäjä
  • Viestejä: 51
    • Profiili
Vs: Datan lukeminen TCP-portin kautta ?
« Vastaus #4 : 28.07.22 - klo:01.25 »
Mikä tuntuu työläältä Bash:lla on yleensä simppeliä Pythonilla. Esim. tässä on käytetty Pythonia TCP-liikenteen lukemiseen: https://stackoverflow.com/questions/41522439/python-trying-to-read-data-from-tcp-ip-port-on-windows-but-assignment-is-wron

Mistofelees

  • Käyttäjä
  • Viestejä: 656
    • Profiili
Vs: Datan lukeminen TCP-portin kautta ?
« Vastaus #5 : 30.07.22 - klo:00.53 »
En haluaisi siirtyä php:stä Pythoniin kesken projektia.
Sitäpaitsi inhoan Pythonia, koska siinä ei voi käyttää sulkuja ohjelman osien niputtamiseen. Pilattu hyvä ohjelmointikieli ylläpitäjän itsepäisyydellä.

mniem

  • Käyttäjä
  • Viestejä: 51
    • Profiili
Vs: Datan lukeminen TCP-portin kautta ?
« Vastaus #6 : 30.07.22 - klo:00.57 »
En haluaisi siirtyä php:stä Pythoniin kesken projektia.
Sitäpaitsi inhoan Pythonia, koska siinä ei voi käyttää sulkuja ohjelman osien niputtamiseen. Pilattu hyvä ohjelmointikieli ylläpitäjän itsepäisyydellä.
Python silti tällä hetkellä yksi käytönnöllisimmistä kielistä ja kehityy vain  :)

Mistofelees

  • Käyttäjä
  • Viestejä: 656
    • Profiili
Vs: Datan lukeminen TCP-portin kautta ?
« Vastaus #7 : 30.07.22 - klo:23.56 »
Lainaus
Python silti tällä hetkellä yksi käytönnöllisimmistä kielistä ja kehityy vain  :)
Olen tämän myös todennut käytännössä, mutta silti kaipaan noita sulkuja.
Tämä olisi aivan erilaista, jos työskentelisi vain yhdellä koneella ja isolla ruudulla
Kun hyppii koneelta toiselle ja vaihtaa editoria, tulee helposti  sekaannuksia.
Eräät editorit jopa poistavat oma-alotteisesti white-spaceja.
Olisivatpa sulut edes sallittuja, vaikkeivat olisikaan pakollisia.
« Viimeksi muokattu: 31.07.22 - klo:00.06 kirjoittanut Mistofelees »