Pyserial:无法配置端口:(22,'无效参数')

时间:2017-07-31 14:43:00

标签: python ubuntu virtual-machine pyserial beagleboneblack

在VirtualBox中的Ubuntu 16.04上,Beaglebone Black连接到USB端口,运行以下代码会返回错误:

android:layout_gravity="bottom|right"

错误:

import serial

ser = serial.Serial()
ser.port = '/dev/sdb'
ser.baudrate = 9600
ser.open()

我在终端中使用Could not configure port: (22, 'Invalid argument') 获取了BBB的路径。通常可以使用虚拟机中的SSH访问BBB。

导致错误的是什么,为什么Python不能打开端口?


修改

blkid的输出是:

blkid

其中/dev/sr0: UUID="2017-07-17-16-26-18-00" LABEL="VBOXADDITIONS_5.1.24_117012" TYPE="iso9660" /dev/sda1: UUID="58957263-a785-44f1-89a0-a66efd56623f" TYPE="ext4" PARTUUID="306fada4-01" /dev/sda5: UUID="2e8ad169-1527-4336-9169-e189688038cd" TYPE="swap" PARTUUID="306fada4-05" /dev/sdb: SEC_TYPE="msdos" LABEL="boot" UUID="0CD5-4AE7" TYPE="vfat" /dev/sdc1: LABEL="WATTO" UUID="BAF1-8FE6" TYPE="vfat" PARTUUID="1299f9fa-01" 是BBB的路径,/dev/sdb是USB记忆棒的路径。


/dev/sdc1返回:

ls -l /dev/sd*


brw-rw---- 1 root disk 8, 0 jul 31 11:14 /dev/sda brw-rw---- 1 root disk 8, 1 jul 31 11:14 /dev/sda1 brw-rw---- 1 root disk 8, 2 jul 31 11:14 /dev/sda2 brw-rw---- 1 root disk 8, 5 jul 31 11:14 /dev/sda5 brw-rw-rw- 1 666 disk 8, 16 jul 31 16:32 /dev/sdb brw------- 1 root root 8, 32 jul 31 16:52 /dev/sdc brw------- 1 root root 8, 33 jul 31 16:52 /dev/sdc1 返回:

lsblk

2 个答案:

答案 0 :(得分:2)

您可能有错误的设备名称:在这种情况下,请阅读最后的链接,VirtualBox可能会误解主机USB串行设备,因此分配了错误的设备(/ dev)名称。

“/ dev / sdb”可能是块设备,例如硬盘驱动器。

$ ls -l /dev/sd*
brw-rw---- 1 root disk 8, 0 Jul 31 13:59 /dev/sda
brw-rw---- 1 root disk 8, 1 Jul 31 13:59 /dev/sda1
brw-rw---- 1 root disk 8, 2 Jul 31 13:59 /dev/sda2
brw-rw---- 1 root disk 8, 5 Jul 31 13:59 /dev/sda5
^
Note 'b' for block device

串口将是“/ dev / ttyUSB0”

$ ls -l /dev/ttyUSB0
crw-rw---- 1 root dialout 188, 0 Jul 31 14:34 /dev/ttyUSB0
^
Note 'c' for character device

串口通常将组设置为'dialout' - 但这只是为了获取信息,这是设置为识别它是串口的一部分。

您可能还希望在VirtualBox下使用主机串行USB设备阅读此项目:https://techtooltip.wordpress.com/2008/09/12/using-host-serial-port-from-guest-in-virtual-box/

答案 1 :(得分:0)

Beaglebone似乎只通过USB连接显示其文件系统:/ dev / sdb 如果要通过串行连接连接到它,则需要USB到TTY转换器。 (例如PL2303HX,2 $ -10 $)。 您也可以按照本教程将PC连接到串口。

http://www.dummies.com/computers/beaglebone/how-to-connect-the-beaglebone-black-via-serial-over-usb/