Чтение с нескольких последовательных портов в Ubuntu

Я пытаюсь читать и записывать данные с двух USB, которые подключены к отдельным Arduinos, и они собирают разные измерения.

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

У меня Ubuntu установлен через Oracle VM Virtualbox. Раньше я использовал Cygwin и просто переходил в папку, в которой хотел сохранить свой текстовый файл, и писал:

tee </dev/ttyS1 test.txt

для мониторинга и записи потока данных.

Если я напишу ту же команду в произвольной папке в Ubuntu, я получу разрешение, даже если добавлю sudo впереди.

Как я могу контролировать и записывать один последовательный поток. Как я могу отслеживать и записывать несколько последовательных потоков?

3
задан 18 September 2013 в 05:09

2 ответа

Убедитесь, что у вас есть правильное имя для вашего последовательного 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

0
ответ дан 18 September 2013 в 05:09

Проблема в том, что перенаправления не работают так, как вы предполагаете. Это прекрасно работает:

sudo sh -c "tee </dev/ttyS1 test.txt"

Или вы можете войти как root:

sudo -i
tee </dev/ttyS1 test.txt
0
ответ дан 18 September 2013 в 05:09

Другие вопросы по тегам:

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