Я пытаюсь читать и записывать данные с двух USB, которые подключены к отдельным Arduinos, и они собирают разные измерения.
У меня возникают трудности даже при чтении из одного последовательного потока в Ubuntu.
У меня Ubuntu установлен через Oracle VM Virtualbox. Раньше я использовал Cygwin и просто переходил в папку, в которой хотел сохранить свой текстовый файл, и писал:
tee </dev/ttyS1 test.txt
для мониторинга и записи потока данных.
Если я напишу ту же команду в произвольной папке в Ubuntu, я получу разрешение, даже если добавлю sudo впереди.
Как я могу контролировать и записывать один последовательный поток. Как я могу отслеживать и записывать несколько последовательных потоков?
Убедитесь, что у вас есть правильное имя для вашего последовательного USB
При отключенном устройстве введите
ls -la /dev/tty*
Теперь подключите устройство и введите
ls -la /dev/tty*
Должно появиться другое устройство. Если это так, то это новое устройство
, вы можете увидеть что-то вроде
crw-rw---- root dialout 166, 0 Sept 19 12:30 ttyACM0
Если вы это сделаете, устройство будет распознано. Обратите внимание, что в приведенном выше примере его ttyACM0 yours может отличаться.
Обратите внимание на группу в этом случае dialout Если вы не являетесь участником этой группы, добавьте себя
sudo useradd dialout $USER
Теперь вы сможете использовать последовательный порт, используя имя, которое вы нашел выше, который в моем случае был ttyACM0
Проблема в том, что перенаправления не работают так, как вы предполагаете. Это прекрасно работает:
sudo sh -c "tee </dev/ttyS1 test.txt"
Или вы можете войти как root:
sudo -i
tee </dev/ttyS1 test.txt