如何为每个Arduino获取独特的ID



我使用两个arduino nano,并希望更改其名称如/dev中列出,因为当前它们始终是ttyUSB<NUMBER>

如何获得唯一的序列号来创建UDEV规则?

我尝试通过udevadm获得它,但它返回了两个Arduinos的序列ID。

/var/log: udevadm info -a -n /dev/ttyUSB0 | grep '{serial}'
    ATTRS{serial}=="0000:00:14.0"

arduino nano基于没有内置USB控制器的Atmega328。板上的USB连接器连接到外部USB到TTL转换器IC。因此,您在PC侧看到的所有USB设备参数不属于Arduino本身,而是属于USB芯片。

这些芯片中的许多可以通过独特的序列号进行编程。另外,您可以将将Arduino板插入唯一标识符的PC端口号码。

您尝试过的udevadm命令在PC中显示了Arduino Board已插入的USB控制器的"串行",而不是Arduino Board上的USB芯片的序列。

udevadm info -n /dev/ttyUSB0 -q all。带有序列号的线看起来像E: ID_SERIAL_SHORT=12345678。如果该行丢失或确实包含所有董事会的相同数字 - 请使用此udev规则根据USB端口号分配唯一的别名:

ACTION=="add", KERNEL=="ttyUSB*", SYMLINK+="arduino/tty-%s{../busnum}-%s{../devpath}"

相关内容

  • 没有找到相关文章

最新更新