Sie sind nicht angemeldet.

Anzeigen

**Wir werden in den kommenden Tagen einen Umzug auf einen neuen Server durchführen. Im Rahmen dieser Maßnahme wird das Forum ca. 1 Stunde nicht erreichbar sein.** nslu2-info.de ist ein privates Projekt von mir, welches jeden Monat aus eigener Tasche finanziert wird. Mit einer freiwilligen Spende wird der Erhalt und der weitere Ausbau dieses Forums unterstützt. Um mich beim Erhalt des Forums zu unterstützen, kannst Du entweder via Flattr oder Paypal spenden. Ich bedanke mich schon jetzt bei allen Unterstützern.

Lieber Besucher, herzlich willkommen bei: Die NSLU2 Community****wenns ums speichern und streamen geht****. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

Donnerstag, 28. Januar 2010, 17:29

Verbindung der NSLU2 (mittels picocom, minicom o.ä.) über einen USB-RS232-Adapter mit einer seriellen Schnittstelle (RS232)

Hallo,

kann mir jemand bitte ein paar Tipps geben, wie ich mit meiner NSLU2 und picocom, minicom o.ä. eine Verbindung zur seriellen Schnittstelle meiner Heizung herstelle?

Die Verbidungsparameter lauten: 9600, 8N1. Aber bei z.B. picocom kommt nach "Terminal ready" nichts mehr. Was muss ich tun?

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
root@nslu ~ $ picocom --b 9600 /dev/ttyUSB0
picocom v1.4

port is    	: /dev/ttyUSB0
flowcontrol	: none
baudrate is	: 9600
parity is  	: none
databits are   : 8
escape is  	: C-a
noinit is  	: no
noreset is 	: no
nolock is  	: no
send_cmd is	: ascii_xfr -s -v -l10
receive_cmd is : rz -vv

Terminal ready

Ich weiß, dass das Senden des Hex-Codes 02 mit dem Hex-Code 10 als Antwort quittiert werden müsste.
Aber wie sende ich einen Hex-Code mittels picocom o.ä. Tools rüber?

Ich weiß, dass die Verkabelung unter Windows (mittels COM-Port und Software des Heizungsherstellers) mit meinem USB-RS232-Adapter funktioniert (pl2303 oder ftdi_sio als Alternativen). Aber das sollte auch von der NSLU2 aus klappen.

Die für einen der beiden Adapter nötigen Kernel-Module (ftdi_sio, pl2303) sind geladen:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
root@nslu ~ $ cat /proc/modules 
appletalk 30216 20 - Live 0xbf1a8000
nfsd 227964 17 - Live 0xbf16f000
auth_rpcgss 40356 1 nfsd, Live 0xbf164000
exportfs 4064 1 nfsd, Live 0xbf162000
nfs 264848 0 - Live 0xbf120000
lockd 68564 2 nfsd,nfs, Live 0xbf10e000
nfs_acl 3328 2 nfsd,nfs, Live 0xbf09b000
sunrpc 196248 13 nfsd,auth_rpcgss,nfs,lockd,nfs_acl, Live 0xbf0dd000
ext2 63752 1 - Live 0xbf0cc000
pl2303 16676 0 - Live 0xbf0c6000
evdev 8672 0 - Live 0xbf0c2000
ftdi_sio 47464 1 - Live 0xbf0b5000
usbserial 30860 4 pl2303,ftdi_sio, Live 0xbf0ac000
ixp4xx_eth 12280 0 - Live 0xbf0a8000
ixp4xx_npe 8000 2 ixp4xx_eth, Live 0xbf0a5000
firmware_class 7648 1 ixp4xx_npe, Live 0xbf0a2000
ixp4xx_qmgr 5272 6 ixp4xx_eth, Live 0xbf09f000
ixp4xx_beeper 2816 0 - Live 0xbf09d000
ohci_hcd 18276 0 - Live 0xbf095000
ext3 123688 3 - Live 0xbf075000
jbd 45460 1 ext3, Live 0xbf068000
mbcache 7968 2 ext2,ext3, Live 0xbf065000
sd_mod 22736 8 - Live 0xbf05e000
ehci_hcd 35212 0 - Live 0xbf054000
usb_storage 83559 5 - Live 0xbf03e000
usbcore 128828 7 pl2303,ftdi_sio,usbserial,ohci_hcd,ehci_hcd,usb_storage, Live 0xbf01d000
scsi_mod 111300 2 sd_mod,usb_storage, Live 0xbf000000


Das Device müsste /dev/ttyUSB0 sein:

Quellcode

1
2
3
4
5
root@nslu ~ $ dmesg | grep tty
[42949377.250000] serial8250.0: ttyS0 at MMIO 0xc8000000 (irq = 15) is a XScale
[42949377.250000] console [ttyS0] enabled
[42949377.590000] serial8250.0: ttyS1 at MMIO 0xc8001000 (irq = 13) is a XScale
[42949406.140000] usb 1-2.1: FTDI USB Serial Device converter now attached to ttyUSB0


Herzlichen Dank für Eure Hilfe!
Gruß, ao

NSLU2 (Debian/NSLU2 (armel) 5.0.3 Stable Release, 263.78 BogoMIPS)
Apple MacBook C2D (OS X 10.5, Ubuntu 8.04, Windows XP)

Anzeigen

warti

Forensupporter

Beiträge: 244

Verwendetes NAS-Device: NSLU2

Firmwareversion / your current Firmware: Debian

  • Nachricht senden

2

Donnerstag, 28. Januar 2010, 19:35

Hallo,

ich hab auch immer Probleme mit der seriellen Schnittstelle. Wenn gar keine Zeichen (auch kein "Zeichenbrei") übertragen werden liegt es oft daran, dass tx und rx vertauscht werden müssen.

Wobei ich nie verstanden haben, wann es nötig ist, ein Kabel zu "kreuzen". Es gibt mMn Serielle Verlängerungen (1:1) und Nullmodemkabel (gekreuzt). Wann welche nötig sind hängt von der Gegenstelle ab.

Viel Erfolg.
Werner

Anzeigen

3

Freitag, 29. Januar 2010, 07:13

Hallo Werner,

meine Verkabelung orientiert sich an dem, was hier beschrieben wird. Ich verwende also kein echtes serielles Kabel, sondern ein Kabel mit 3 Adern, das ich gemäß o.g. Link an eine 9-polige RS232-Schnittstelle gelötet habe. Die steckt auf dem RS232-USB-Adapter, und der hängt an der NSLU2. Statserial meldet zu den Pins folgendes:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
root@nslu / $ statserial /dev/ttyUSB0

Device: /dev/ttyUSB0

Signal  Pin  Pin  Direction  Status  Full
Name    (25) (9)  (computer)         Name
-----   ---  ---  ---------  ------  -----
FG       1    -      -           -   Frame Ground
TxD      2    3      out         -   Transmit Data
RxD      3    2      in          -   Receive  Data
RTS      4    7      out         1   Request To Send
CTS      5    8      in          0   Clear To Send
DSR      6    6      in          0   Data Set Ready
GND      7    5      -           -   Signal Ground
DCD      8    1      in          0   Data Carrier Detect
DTR     20    4      out         1   Data Terminal Ready
RI      22    9      in          0   Ring Indicator


Wenn ich die Verkabelung verändere, funktioniert die Verbindung aber unter Windows nicht mehr.

Quellcode

1
2
root@nslu ~ $ setserial -g /dev/ttyUSB0
/dev/ttyUSB0, UART: unknown, Port: 0x0000, IRQ: 0, Flags: low_latency

Kennst Du Dich denn mit einem Linux-Programm (picocom, minicom o.ä.) aus, mit dem man die serielle Schnittstelle anspricht/ abfragt?
Ich wüsste jetzt nicht einmal, was ich tun muss, damit das Tool die Initialisierung startet. Ich weiß nur, dass dazu der Hex-Code 02 gesendet werden muss (das erwartet die Heizung am anderen Ende), der dann mit dem Hex-Code 10 beantwortet werden soll. Aber wie ich einen Hex-Code schicke, habe ich auch nach intensivem Suchen leider nicht herausgefunden.
Gruß, ao

NSLU2 (Debian/NSLU2 (armel) 5.0.3 Stable Release, 263.78 BogoMIPS)
Apple MacBook C2D (OS X 10.5, Ubuntu 8.04, Windows XP)

Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von »ao« (29. Januar 2010, 07:51)


warti

Forensupporter

Beiträge: 244

Verwendetes NAS-Device: NSLU2

Firmwareversion / your current Firmware: Debian

  • Nachricht senden

4

Freitag, 29. Januar 2010, 08:10

Guten Morgen!

Zitat

... kein echtes serielles Kabel ...
Ich glaube drei Adern sind die minimale Ausprägung einer seriellen Schnittstelle (GND, TX, RX). Wenn es unter Windows mit dem selben USB-SER-Adapter funktioniert, sollte die Verkabelung korrekt sein.

Werte auf die serielle Schnittstelle kannst Du zum zB. so schicken:

Quellcode

1
echo 2 > /dev/ttyUSB0


Dies sollte eine "2" auf die Reise schicken... (2 Entspricht auch hex. einer 2)...

Mit Picocom/Minicom kenne ich mich nicht so gut aus, aber die Eingabe einer "2" (Taste "2" drücken) schickt mMn das Kommando an die Heizung.

MfG
Werner

Ähnliche Themen

Verwendete Tags

minicom, picocom, RS232, seriell, USB

Social Bookmarks