/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
Sende dette via serielport
Fra : D


Dato : 31-01-07 23:11

Jeg har fået et LED display og vil gerne skrive direkte til den fra min
Linux/Fedora fremfor det specielle program på Windows. Jeg har fået protokol
definationen og kan se, at hvis jeg sender følgende, så burde den skrive
Hello på displayet.

0x00 0x00 0x00 0x00 0x00
0x01
"FF" (2 bytes)
"00" (2 bytes)
0x02
"A" (1 byte)
"Hello" (5 bytes)
0x03
"1234" (4 bytes)
0x04

Jeg tror jeg vil lave det således, at jeg vil lave en fil og streame denne
fil ud til displayet.

1) Her i testfasen, hvilket program skal jeg da bruge for at skrive direkte
ud til porten? Jeg køre Fedora i runlevel 3.

2) Hvis jeg vil lave sådan en fil, er det så bare at skrive præcist havd jeg
skriver ovenstående til denne fil:
0x00 0x00 0x01 F F 0 0 0x02 osv...
og så evt. lave en "cat fil > /dev/ttyS0"?



 
 
Michael Zedeler (01-02-2007)
Kommentar
Fra : Michael Zedeler


Dato : 01-02-07 09:15

D skrev:
> Jeg har fået et LED display og vil gerne skrive direkte til den fra min
> Linux/Fedora fremfor det specielle program på Windows. Jeg har fået protokol
> definationen og kan se, at hvis jeg sender følgende, så burde den skrive
> Hello på displayet.
>
> 0x00 0x00 0x00 0x00 0x00
> 0x01
> "FF" (2 bytes)
> "00" (2 bytes)
> 0x02
> "A" (1 byte)
> "Hello" (5 bytes)
> 0x03
> "1234" (4 bytes)
> 0x04
>
> Jeg tror jeg vil lave det således, at jeg vil lave en fil og streame denne
> fil ud til displayet.
>
> 1) Her i testfasen, hvilket program skal jeg da bruge for at skrive direkte
> ud til porten? Jeg køre Fedora i runlevel 3.
>
> 2) Hvis jeg vil lave sådan en fil, er det så bare at skrive præcist havd jeg
> skriver ovenstående til denne fil:
> 0x00 0x00 0x01 F F 0 0 0x02 osv...
> og så evt. lave en "cat fil > /dev/ttyS0"?

Jeg ville i hvert fald ikke tøve med at prøve...

Mvh. Michael.
--
Which is more dangerous? TV guided missiles or TV guided families?
I am less likely to answer usenet postings by anonymous authors.
Visit my home page at http://michael.zedeler.dk/

Peter Kai Jensen (01-02-2007)
Kommentar
Fra : Peter Kai Jensen


Dato : 01-02-07 12:37

D wrote:

> 2) Hvis jeg vil lave sådan en fil, er det så bare at skrive præcist havd jeg
> skriver ovenstående til denne fil:
> 0x00 0x00 0x01 F F 0 0 0x02 osv...
> og så evt. lave en "cat fil > /dev/ttyS0"?

I princippet, ja. Du skal dog måske sætte baudrate osv. op. Det kan du
f.eks. gøre med stty.

--
PeKaJe

Linux has a history of standing on the shoulders of giants, while Microsoft has
a history of trying to break giants' legs. The latter is quite less efficient.

dusted (09-02-2007)
Kommentar
Fra : dusted


Dato : 09-02-07 13:43

D wrote:
> Jeg har fået et LED display og vil gerne skrive direkte til den fra min
> Linux/Fedora fremfor det specielle program på Windows. Jeg har fået protokol
> definationen og kan se, at hvis jeg sender følgende, så burde den skrive
> Hello på displayet.
>
> 0x00 0x00 0x00 0x00 0x00
> 0x01
> "FF" (2 bytes)
> "00" (2 bytes)
> 0x02
> "A" (1 byte)
> "Hello" (5 bytes)
> 0x03
> "1234" (4 bytes)
> 0x04
>
> Jeg tror jeg vil lave det således, at jeg vil lave en fil og streame denne
> fil ud til displayet.
>
> 1) Her i testfasen, hvilket program skal jeg da bruge for at skrive direkte
> ud til porten? Jeg køre Fedora i runlevel 3.
>
> 2) Hvis jeg vil lave sådan en fil, er det så bare at skrive præcist havd jeg
> skriver ovenstående til denne fil:
> 0x00 0x00 0x01 F F 0 0 0x02 osv...
> og så evt. lave en "cat fil > /dev/ttyS0"?
>
>
Cat tingen vil ikke virke, da den vil sende værdierne for karakterene i
stedet for selve værdierne.

Jeg har noget C kode liggende på min bærbar som kan gøre det du vil ha,
det er faktisk så simpelt som:

FILE *fil;

fil=fopen("/dev/ttyS0",ro);

write(fil, 0x00);
write(fil, 0x00);
write(fil, 0x01);
write(fil, 0x0F);
osv :)

Kan ikke helt huske det, men det er noget i den retning :)
Har du checket at LCD4Linux ikke understøtter dit display ?

Mvh
Jimmy

Mogens Kjaer (09-02-2007)
Kommentar
Fra : Mogens Kjaer


Dato : 09-02-07 13:55

dusted wrote:
> D wrote:
>> Jeg har fået et LED display og vil gerne skrive direkte til den fra
>> min Linux/Fedora fremfor det specielle program på Windows. Jeg har
>> fået protokol definationen og kan se, at hvis jeg sender følgende, så
>> burde den skrive Hello på displayet.
>>
>> 0x00 0x00 0x00 0x00 0x00
>> 0x01
>> "FF" (2 bytes)
>> "00" (2 bytes)
>> 0x02
>> "A" (1 byte)
>> "Hello" (5 bytes)
>> 0x03
>> "1234" (4 bytes)
>> 0x04
....
>> og så evt. lave en "cat fil > /dev/ttyS0"?
>>
>>
> Cat tingen vil ikke virke, da den vil sende værdierne for karakterene i
> stedet for selve værdierne.

Man kunne jo prøve:

/bin/echo -n -e
\\0000\\0000\\0000\\0000\\0001FF00\\0002AHello\\00031234\\0004 >/dev/ttyS0

(det er på én linie).

Der er valgt /bin/echo i stedet for shell'en indbyggede echo,
da der kan være forskel på hvordan de forskellige shells echo
fortolker escape sekvenser.

\\0xxx

giver tegnet med oktalværdien xxx, så der skal regnes om fra hex
til oktal.

Mogens

--
Mogens Kjaer, Carlsberg A/S, Computer Department
Gamle Carlsberg Vej 10, DK-2500 Valby, Denmark
Phone: +45 33 27 53 25, Fax: +45 33 27 47 08
Email: mk@crc.dk Homepage: http://www.crc.dk

Den (09-02-2007)
Kommentar
Fra : Den


Dato : 09-02-07 18:48

> Man kunne jo prøve:
>
> /bin/echo -n -e
> \\0000\\0000\\0000\\0000\\0001FF00\\0002AHello\\00031234\\0004 >/dev/ttyS0

Tak, dette virker helt perfekt

Jeg har også fået en netværks adaptor til den. Manualen foreskriver ikke
hvordan man connecter til den (ingen speciel netværks protokol), så jeg
antager, at det bare er at smide samme strøm af karaktére over til en IP
adresse istedet... men hvordan kan jeg gøre det?



Kent Friis (09-02-2007)
Kommentar
Fra : Kent Friis


Dato : 09-02-07 19:29

Den Fri, 9 Feb 2007 18:47:37 +0100 skrev Den:
>> Man kunne jo prøve:
>>
>> /bin/echo -n -e
>> \\0000\\0000\\0000\\0000\\0001FF00\\0002AHello\\00031234\\0004 >/dev/ttyS0
>
> Tak, dette virker helt perfekt
>
> Jeg har også fået en netværks adaptor til den. Manualen foreskriver ikke
> hvordan man connecter til den (ingen speciel netværks protokol), så jeg
> antager, at det bare er at smide samme strøm af karaktére over til en IP
> adresse istedet... men hvordan kan jeg gøre det?

netcat

Mvh
Kent
--
"So there I was surrounded by all these scary creatures
They were even scarier than what Microsoft call features"
- C64Mafia: Forbidden Forest (Don't Go Walking Slow).

Den (09-02-2007)
Kommentar
Fra : Den


Dato : 09-02-07 20:00

>> Jeg har også fået en netværks adaptor til den. Manualen foreskriver ikke
>> hvordan man connecter til den (ingen speciel netværks protokol), så jeg
>> antager, at det bare er at smide samme strøm af karaktére over til en IP
>> adresse istedet... men hvordan kan jeg gøre det?
>
> netcat

Den findes ikke umiddelbart til Fedora. Jeg kunne selvfølgelig installere
den manuelt men den er sidst opdateret for 3 år siden, så noget siger mig at
der må være kommet noget andet? (som måske endda findes til Fedora)



Peter Andersen (09-02-2007)
Kommentar
Fra : Peter Andersen


Dato : 09-02-07 21:03

On Fri, 09 Feb 2007 20:00:08 +0100, Den wrote:

>>> Jeg har også fået en netværks adaptor til den. Manualen foreskriver ikke
>>> hvordan man connecter til den (ingen speciel netværks protokol), så jeg
>>> antager, at det bare er at smide samme strøm af karaktére over til en IP
>>> adresse istedet... men hvordan kan jeg gøre det?
>>
>> netcat
>
> Den findes ikke umiddelbart til Fedora. Jeg kunne selvfølgelig installere
> den manuelt men den er sidst opdateret for 3 år siden, så noget siger mig at
> der må være kommet noget andet? (som måske endda findes til Fedora)

Det tror jeg ikke.
Netcat er nok et af de programmer som jeg vil kalde "perfekt"
Det er utroligt hvad man kan med dette og et ethernet. :)
Så mit råd er at installere det manuelt.

--
/ Peter Andersen
/ Skanderborg


Den (09-02-2007)
Kommentar
Fra : Den


Dato : 09-02-07 21:19

>> Den findes ikke umiddelbart til Fedora. Jeg kunne selvfølgelig installere
>> den manuelt men den er sidst opdateret for 3 år siden, så noget siger mig
>> at
>> der må være kommet noget andet? (som måske endda findes til Fedora)
>
> Det tror jeg ikke.
> Netcat er nok et af de programmer som jeg vil kalde "perfekt"
> Det er utroligt hvad man kan med dette og et ethernet. :)
> Så mit råd er at installere det manuelt.

Ok, tak - så får den chancen



Den (09-02-2007)
Kommentar
Fra : Den


Dato : 09-02-07 23:38

>> Den findes ikke umiddelbart til Fedora. Jeg kunne selvfølgelig installere
>> den manuelt men den er sidst opdateret for 3 år siden, så noget siger mig
>> at
>> der må være kommet noget andet? (som måske endda findes til Fedora)

Nå, den snød mig. Den hedder jo "nc" og ikke "netcat" - ulogisk, men den
findes allerede på Fedora:

[root@srv ~]# rpm -ivh netcat-0.7.1-1.i386.rpm
warning: netcat-0.7.1-1.i386.rpm: Header V3 DSA signature: NOKEY, key ID
b2d79fc1
Preparing... ###########################################
[100%]
file /usr/bin/nc from install of netcat-0.7.1-1 conflicts with file
from package nc-1.84-10.fc6



Kent Friis (09-02-2007)
Kommentar
Fra : Kent Friis


Dato : 09-02-07 23:43

Den Fri, 9 Feb 2007 23:37:36 +0100 skrev Den:
>>> Den findes ikke umiddelbart til Fedora. Jeg kunne selvfølgelig installere
>>> den manuelt men den er sidst opdateret for 3 år siden, så noget siger mig
>>> at
>>> der må være kommet noget andet? (som måske endda findes til Fedora)
>
> Nå, den snød mig. Den hedder jo "nc" og ikke "netcat" - ulogisk, men den
> findes allerede på Fedora:
>
> [root@srv ~]# rpm -ivh netcat-0.7.1-1.i386.rpm
> warning: netcat-0.7.1-1.i386.rpm: Header V3 DSA signature: NOKEY, key ID
> b2d79fc1
> Preparing... ###########################################
> [100%]
> file /usr/bin/nc from install of netcat-0.7.1-1 conflicts with file
> from package nc-1.84-10.fc6

På nogle systemer er den forkortet til nc, men det officielle navn
er mig bekendt netcat.

Mvh
Kent
--
"So there I was surrounded by all these scary creatures
They were even scarier than what Microsoft call features"
- C64Mafia: Forbidden Forest (Don't Go Walking Slow).

Den (11-02-2007)
Kommentar
Fra : Den


Dato : 11-02-07 23:02

>> Den findes ikke umiddelbart til Fedora. Jeg kunne selvfølgelig installere
>> den manuelt men den er sidst opdateret for 3 år siden, så noget siger mig
>> at
>> der må være kommet noget andet? (som måske endda findes til Fedora)
>
> Det tror jeg ikke.
> Netcat er nok et af de programmer som jeg vil kalde "perfekt"
> Det er utroligt hvad man kan med dette og et ethernet. :)
> Så mit råd er at installere det manuelt.

Er det bare mig der ikke forstår det, eller kan netcat ikke sættes op til at
lytte fra en given source port?
Hvis jeg angiver "nc -l -p 10001", fejler den men jeg har brug for at lytte
på den trafik som kommer fra port 10001. Destination port kendes ikke.



Benny Amorsen (12-02-2007)
Kommentar
Fra : Benny Amorsen


Dato : 12-02-07 07:41

>>>>> "D" == Den <den_nospam_X123@gmail.com> writes:

D> Er det bare mig der ikke forstår det, eller kan netcat ikke sættes
D> op til at lytte fra en given source port? Hvis jeg angiver "nc -l
D> -p 10001", fejler den men jeg har brug for at lytte på den trafik
D> som kommer fra port 10001. Destination port kendes ikke.

Det kan man ikke i Unix. Prøv med tcpdump, hvis du bare vil se
trafikken.


/Benny


Den (12-02-2007)
Kommentar
Fra : Den


Dato : 12-02-07 21:59

> D> Er det bare mig der ikke forstår det, eller kan netcat ikke sættes
> D> op til at lytte fra en given source port? Hvis jeg angiver "nc -l
> D> -p 10001", fejler den men jeg har brug for at lytte på den trafik
> D> som kommer fra port 10001. Destination port kendes ikke.
>
> Det kan man ikke i Unix. Prøv med tcpdump, hvis du bare vil se
> trafikken.

Det lyder mere som en begrænsning i programmet/netcat og ikke i Unix. Jeg
har brug for at kunne se selve data pakken, da displayet returnere en kode,
OK eller ikke-OK.
tcpdump kan jeg godt få til at dumpe trafikken men den dumper også alle
headers m.v. og jeg har kun brug for datapakken.



Kent Friis (12-02-2007)
Kommentar
Fra : Kent Friis


Dato : 12-02-07 22:02

Den Mon, 12 Feb 2007 21:59:11 +0100 skrev Den:
>> D> Er det bare mig der ikke forstår det, eller kan netcat ikke sættes
>> D> op til at lytte fra en given source port? Hvis jeg angiver "nc -l
>> D> -p 10001", fejler den men jeg har brug for at lytte på den trafik
>> D> som kommer fra port 10001. Destination port kendes ikke.
>>
>> Det kan man ikke i Unix. Prøv med tcpdump, hvis du bare vil se
>> trafikken.
>
> Det lyder mere som en begrænsning i programmet/netcat og ikke i Unix.

Det er en begrænsning i alle normale TCP/IP implementationer.

> Jeg
> har brug for at kunne se selve data pakken, da displayet returnere en kode,
> OK eller ikke-OK.

Sender displayet ikke tilbage til den samme port som du har sendt til
displayet fra?

Mvh
Kent
--
"So there I was surrounded by all these scary creatures
They were even scarier than what Microsoft call features"
- C64Mafia: Forbidden Forest (Don't Go Walking Slow).

Den (10-02-2007)
Kommentar
Fra : Den


Dato : 10-02-07 00:26

>>> /bin/echo -n -e
>>> \\0000\\0000\\0000\\0000\\0001FF00\\0002AHello\\00031234\\0004
>>> >/dev/ttyS0
>>
>> Jeg har også fået en netværks adaptor til den. Manualen foreskriver ikke
>> hvordan man connecter til den (ingen speciel netværks protokol), så jeg
>> antager, at det bare er at smide samme strøm af karaktére over til en IP
>> adresse istedet... men hvordan kan jeg gøre det?
>
> netcat

Igen et guldkorn - det virker også helt perfekt, tak

[root@srv ~]# /bin/echo -n -e
\\0000\\0000\\0000\\0000\\0000\\0001FF00\\0002AAA227F010012000001Det
virker\\00030000\\0004 | nc 192.168.1.186 10001



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408925
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste