Долгосрочная связь между Arduino и компьютером

Я хочу сделать индикаторы для моего компьютера, чтобы указать такие вещи, как загрузка системы, использование IO и т. д., используя Arduino и NeoPixels. Я хотел бы просто подключить его к своему компьютеру и подключить к нему какое-то настраиваемое программное обеспечение и отправить ему нужные ему данные с моего компьютера.

В той части, с которой я столкнулся, выясняется, как подключить Arduino к компьютеру таким образом, который будет согласован в долгосрочной перспективе.

У меня возникли проблемы с переключением Arduino, который /dev /ttyAMC * port назначен, поэтому я искал опции, отличные от USB-серий. Единственный другой способ - это USB, поскольку в наши дни это единственный общий порт общего назначения.

Вот где моя проблема. Люди вроде бы не делают этого, или, по крайней мере, они не публикуют об этом.

Teensy может выступать в качестве USB HID, но необработанная функция HID hasn Почти тридцать лет обновлялся код хоста, основанный на устаревших библиотеках, и, похоже, он больше ориентирован на передачу Teensy на компьютер.

Похоже, что нет доступных USB-чипов интерфейса USB уровня.

Я нашел V-USB , который кажется как решение для моего проблемы, на самом деле кто-то даже использовал его для в основном, что я хочу сделать . Тем не менее, мне все равно нужно будет изучить библиотеку.


Итак, мой вопрос в том, что является рекомендуемым способом взаимодействия между компьютером и Arduino в долгосрочной перспективе? Действительно ли поддержка USB действительно необходима, или я просто переусердствовал всю вещь?

2 голоса | спросил theJack 28 Mayam18 2018, 02:37:07

1 ответ


3

Я думаю, что самый простой вариант - сохранить связь USB (ACM), чтобы вы не нужно делать ничего особенного на Arduino и пытаться выяснить способ идентифицировать правильное устройство на стороне компьютера.

В Linux для обеспечения согласованных имен устройств для определенных периферийных устройств обычно работа удева. Вы можете добавить свое собственное правило udev, чтобы создать символическую ссылку для вашего Arduino каждый раз, когда вы его подключаете. Затем пользовательское программное обеспечение всегда будет открывать /dev/neopixel-monitor, что быть символической ссылкой на надлежащее устройство /dev/ttyACMx.

Собственно, вам может не понадобиться писать собственное правило. Я взглянул на udev, установленные по умолчанию на моем Ubuntu 16.04, и нашли файл названный /lib/udev/rules.d/60-serial.rules предназначен для заполнения /dev/serial/by-path/ и /dev/serial/by-id/. Затем я подключил мой Arduino Uno R3 и увидел символическую ссылку /dev/serial/by-id/usb-Arduino__www.arduino.cc__0043_93140364233351E00101-if00 автоматически созданный, который теперь указывает на ../../ttyACM0. В это имя, 0043 - это идентификатор устройства USB Uno, и следующие буквенно-цифровая последовательность выглядит как серийный номер. if00 выглядит так: номер интерфейса, и может меняться (это не будет, см. комментарий Маженко). Имя ссылки должно быть хорошим способом однозначно идентифицировать тот конкретный Arduino.

ответил Edgar Bonet 28 Mayam18 2018, 11:17:45

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132