Как отличить идентичные ардуино в Linux?

У меня есть два идентичных (но с разным программным обеспечением) Arduino, подключенных к Linux box. Их серийники идентичны

# udevadm info -a -n /dev/ttyUSB1 | grep '{serial}'
    ATTRS{serial}=="0000:00:1d.0"

# udevadm info -a -n /dev/ttyUSB0 | grep '{serial}'
    ATTRS{serial}=="0000:00:1d.0"

Могу ли я сделать так, чтобы эти ардуино как-то отличались программно?

, 👍1

Обсуждение

Какие у вас ардуиносы?, @Majenko

запросите некоторую информацию по серийному номеру, @Juraj

Если вам нужна одна и та же прошивка для обоих ардуино, вы можете сделать простое аппаратное решение: используйте перемычку и соедините и входной контакт, чтобы выбрать значение 0V или 5V в качестве входного сигнала., @Michel Keijzers


1 ответ


3

Вы не можете изменить информацию о USB программно. Тот факт, что вы ссылаетесь на /dev/ttyUSB*, Означает, что у вас есть аппаратные чипы USB-интерфейса (CH340, PL2302, FT232 и т. Д.), Которые вы не можете изменить из своего скетча (некоторые из них могут быть скорректированы с помощью инструментов, предоставленных производителем чипа, так что вы можете настроить его с помощью этого)..

Вместо этого ваш единственный вариант-иметь какой-то "отпечаток пальца", который программное обеспечение на вашем компьютере может запросить из вашей прошивки. Если вы придерживаетесь общего последовательного протокола для всех ваших прошивок, вы можете реализовать стандартную команду "Версия прошивки", которая ответит тем, какой код и версию вы установили.

Конечно, вам решать, как лучше всего реализовать такую систему.

,