我想在openwrt路由器上传输一些串行数据,如下所述:http://www.cse.dmu.ac.uk/~sexton/ENGD2003/openwrt/arduino%20teensy%20openwrt.html。但是,我直接连接到路由器的串行端口而不是USB(在指南中),所以现在我不知道以下哪个是设备:
以下哪一项是路由器的串口?
bus mtd1 mtd5 null ttyATH0 ttyS15 ttyS9
console mtd1ro mtd5ro port ttyS0 ttyS2 urandom
full mtd2 mtdblock0 ppp ttyS1 ttyS3 watchdog
kmsg mtd2ro mtdblock1 ptmx ttyS10 ttyS4 zero
log mtd3 mtdblock2 pts ttyS11 ttyS5
mem mtd3ro mtdblock3 random ttyS12 ttyS6
mtd0 mtd4 mtdblock4 shm ttyS13 ttyS7
mtd0r
o mtd4ro mtdblock5 tty ttyS14 ttyS8
当我使用串行连接设备时,没有出现任何新内容,因此它必须是其中之一。有什么想法吗?
编辑:cat/proc/cmdline 的结果board=TL-WR703N console=ttyATH0,115200 rootfstype=squashfs,jffs2 noinitrd
据我了解,您正在尝试将Arduino板连接到路由器的控制台端口,该端口已焊接。设备名称为 /dev/ttyATH0
。
我会做以下测试。如果Arduino在启动时发送了一些东西,您可以通过stty
设置所需的波特率,然后执行cat /dev/ttyATH0
,看看是否出现启动消息。
如果Arduino等待命令,在发送数据之前,您将需要minicom
或screen
,以便您可以通过串行链路发送/接收数据。
可能的问题:此端口由内核(console=ttyATH0,115200
)和init进程(请参阅/etc/inittab
)拥有,这意味着即使可以使用该端口,内核消息也会干扰您的数据。
通常/dev/ttyS0
是第一个内置串行端口。