在Ubuntu中使用open2300

在Ubuntu中使用open2300,ubuntu,serial-port,Ubuntu,Serial Port,我目前正在运行Ubuntu8.10,并且一直在尝试使用它从Lacrosse WS-2310气象站读取数据,并将数据报告给WUnderground服务器。这个程序编译得很好,但当我试着运行它时,它会做两件事之一:通常它会暂停大约4分钟,然后打印无法重置到屏幕上。但有时它只是永远挂着。我的电脑似乎无法与气象站通信 我在open2300.conf文件中将串行端口设置为/dev/ttyS0,并且还尝试了/dev/ttyS1、/dev/ttyS2等,得到了相同的结果。据我所知,关于Open2300如何与设

我目前正在运行Ubuntu8.10,并且一直在尝试使用它从Lacrosse WS-2310气象站读取数据,并将数据报告给WUnderground服务器。这个程序编译得很好,但当我试着运行它时,它会做两件事之一:通常它会暂停大约4分钟,然后打印无法重置到屏幕上。但有时它只是永远挂着。我的电脑似乎无法与气象站通信

我在open2300.conf文件中将串行端口设置为/dev/ttyS0,并且还尝试了/dev/ttyS1、/dev/ttyS2等,得到了相同的结果。据我所知,关于Open2300如何与设备通信,没有其他设置。我的串行端口被锁了吗

它可能像我的串行端口配置不正确这样简单,但我不知道如何检查或更改配置。任何帮助都将不胜感激

谢谢, 加文

编辑: 我尝试了一些测试,我发现在线和一切似乎都与我的串行端口工作

gawain@gawain:~$ ls -l /dev/ttyS*
crw-rw---- 1 root dialout 4, 64 2009-07-09 10:01 /dev/ttyS0
crw-rw---- 1 root dialout 4, 65 2009-07-09 08:56 /dev/ttyS1
crw-rw---- 1 root dialout 4, 66 2009-07-09 08:56 /dev/ttyS2
crw-rw---- 1 root dialout 4, 67 2009-07-09 08:56 /dev/ttyS3

gawain@gawain:~$ setserial -a /dev/ttyS0
/dev/ttyS0, Line 0, UART: 16550A, Port: 0x03f8, IRQ: 4
Baud_base: 115200, close_delay: 50, divisor: 0
closing_wait: 3000
Flags: spd_normal skip_test


gawain@gawain:~$ setserial -g /dev/ttyS*
/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4
/dev/ttyS1, UART: 8250, Port: 0xd028, IRQ: 18
/dev/ttyS2, UART: 8250, Port: 0xd040, IRQ: 18
/dev/ttyS3, UART: 8250, Port: 0xd050, IRQ: 18

gawain@gawain:~$ echo 12345 > /dev/ttyS0

gawain@gawain:~$ dmesg | tail -3
[  144.424259] ppdev0: unregistered pardevice
[  145.692199] ppdev0: registered pardevice
[  145.740052] ppdev0: unregistered pardevice

我还尝试将串行端口名更改为带有小写字母S的/dev/ttys0,在这种情况下,它给了我一个不同的错误,无法打开串行设备。这对我来说意味着它可以打开/dev/ttyS0,但是其他一些东西阻止它读取气象站。有什么想法吗?谢谢。

检查是否为配股:

使用sudo mysql230运行 将自己添加到拨号组 尝试使用sudo minicom来玩转你的端口,看看你是否有一些响应


这是我的2美分提示

从您所写的内容来看,似乎您的串行端口为115200波特,而WS230x0的神奇之处在于2400波特。测试一下

是的,有些时间通信持续时间很长,如果您使用RTFM,您会发现串行通信是ws2300的最低优先级任务,因此请使用不太像log2300这样的命令

WS2300使用奇怪的4线连接到串行端口,所以您可能会在pc上使用不太标准的串行端口,但这是胡乱猜测