У меня есть программа python на моем Raspberry pi 3B +, которая обновляет Arduino mega2560 и Arduino Uno, используя Arduino-mk через команды bash.Каждый Arduino имеет свою собственную папку с кодом (.ino) и Makefile, который выглядит следующим образом:
ARDUINO_DIR = /usr/share/arduino
ARDUINO_PORT = /dev/ttyUSB0 (here is the problem)
USER_LIB_PATH = /home/pi/sketchbook/libraries
BOARD_TAG = mega2560 (Uno for the uno one)
include /usr/share/arduino/Arduino.mk
Когда я вызываю следующую команду:
os.system("(cd ~/sketchbook/mega; make upload clean)")
только с мегапри подключении через порт USB все работает и мега запрограммирован (то же самое только с Uno).но когда я пытаюсь выполнить оба:
os.system("(cd ~/sketchbook/mega; make upload clean)")
os.system("(cd ~/sketchbook/uno; make upload clean)")
arduino-mk не может запрограммировать Uno (несколько тайм-аутов).
Сначала вторая строка в Makefile была:
ARDUINO_PORT = /dev/ttyAMC0
но он не работал, поэтому я проверил в Интернете и обнаружил, что некоторые копии Arduino работают лучше с:
ARDUINO_PORT = /dev/ttyUSB0
Тогда это сработало, но я не смог получить никакого результата с ttyUSB1 upк ttyUSB3 (я надеялся, что он будет работать как COM-порты на Windows).
Я также заметил, что если я продолжу тестирование с ttyUSB0 и попробую с каждым физическим USB-портом и сработает, так что ttyUSB0 относится к четырем физическим портам, верно?
Пожалуйста, как я могу получить одно конкретное имя порта?Или есть другой способ заставить работать Arduino-mk?