硬件环境:DB120-WG,arduino UNO R3,操作系统:openwrt
安装arduino上的USB转串口驱动:
opkg update
opkg install kmod-usb-core kmod-usb-ohci kmod-usb-serial kmod-usb-serial-ftdi kmod-usb2 kmod-usb-acm
其中kmod-usb-acm 是针对arduino UNO R3版本的,
安装完成后,会发现多出一个设备/dev/ttyACM0 ,这个就对应USB转串口生成的设备文件。(旧版本的UNO上会生成的设备为/dev/ttyUSB0)
另外openwrt默认的串口波特率是115200,这里为了方便设置波特率,需要安装一下stty工具,
opkg install coreutils-stty
设置波特率为9600的命令:
stty -F /dev/ttyACM0 raw speed 9600
这样就可以以9600波特率对串口进行读写操作(即发送接收)
读取(接收)操作:
cat /dev/ttyACM0
(注:这里也体现了Linux的强大之处,任何设备都作为一个文件来处理,类似一个摄像头设备如/dev/video0 ,若生成一个图片,则对它cat一下,命令:
cat /dev/video0 > /tmp/1.jpg )
发送信息:
echo "hello" > /dev/ttyACM0