Как изменить Arduino Nano MODEL_ID
Я работаю над проектом, используя набор различных Arduino Nano, подключенных к Raspberry Pi через USB. Теперь мой вопрос: "Как я могу, с точки зрения Pi, дифференцировать все эти Arduino и связать их с соответствующим tty?"
В этом вопросе я нашел какую-то часть своего ответа. Отвечающий парень предлагает вручную изменить Arduino MODEL_ID
при компиляции и использовать его после работы для идентификации устройства. Проблема в том, что я не знаю, как этого добиться.
Я попытался отредактировать boards.txt
файл для добавления новой конфигурации платы с пользовательскими vid.x
и pid.x
(почему все эти 4 разных значения?) но после выбора моей платы и загрузки MODEL_ID остается прежним:
ID_MODEL_FROM_DATABASE=HL-340 USB-Serial adapter
ID_MODEL_ID=7523
Разве я не могу просто каким-то образом указать
макрос USB_PID в командной строке компилятора?
@Ulysse Darmet, 👍1
Обсуждение2 ответа
Лучший ответ:
Как изменить Arduino Nano MODEL_ID?
В Arduino Nano использовался специальный USB-последовательный адаптер (FTDI FT232RL). Вы можете изменить идентификатор, но для этого требуется специальный взлом. Пожалуйста, смотрите предоставленные ссылки.
Ваше здоровье!
Хорошо, тогда я вижу проблему. Спасибо! К сожалению, Arduino Nano, который у меня есть, - это китайские клоны, и поэтому они используют последовательный драйвер USB ch341, а не FTDI. Я продолжаю расследование..., @Ulysse Darmet
BW: Может ли ваш скетч на Arduino Nano идентифицировать себя, отправив идентификатор при запуске? Это должно быть уникально для каждой подключенной платы., @Mikael Patel
Я думаю, что это то, чем я собираюсь закончить. Потому что даже если бы я мог изменить идентификатор поставщика и продукта в EEPROM, это привело бы к беспорядку в драйверах, которые больше не смогут распознавать мои устройства. Я нашел [интересную ссылку](http://www.uugear.com/uugear-rpi-arduino-solution/) которые предлагают простой API, чтобы сделать это как можно проще :), @Ulysse Darmet
Наконец-то нашли решение =)
Вам не нужно менять ID поставщика или ID продукта: можно приписать постоянное имя devpath (где подключено устройство). Единственным недостатком использования devpath является то, что устройства всегда должны оставаться подключенными к одному и тому же физическому порту.
Ответ здесь:PersistentUSBDevices / Альтернативная фильтрация через Devpath
- Есть ли способ загрузить предварительно скомпилированный код в Arduino?
- Компиляция/загрузка скетча Arduino Nano/Uno и js из браузера
- avr-gcc -D игнорируется
- avrdude ser_open() can't set com-state
- Загрузка Arduino Nano дает ошибку: avrdude: stk500_recv(): programmer is not responding
- Какое максимальное энергопотребление Arduino Nano 3.0?
- Как навсегда изменить скорость передачи данных ESP8266 (12e)?
- Питание светодиодной ленты - Сколько ампер?
Этот вопрос касается Arduino Micro, который имеет ATmega32U4 с поддержкой USB. У вас есть ATmega328 с отдельным USB-чипом для последовательного подключения., @gre_gor