Я создал свой собственный Long Range RF USB.

[USB-устройство] -> [Raspberry PI] -> [myTxApp] -> [RF-устройство *(не WiFi)] -> [RF-устройство] -> [Портативный компьютер] -> [myRxApp] -> [Виртуальное устройство]

Я протестировал его на USB-камере, и он отлично работает, и я могу получить доступ к веб-камере из любого графического интерфейса, например, VLC

# Tx
gst-launch-1.0 -q v4l2src ! ... ! fdsink sync=false | ./tx

# Rx
dpkg-reconfigure v4l2loopback-dkms
modprobe -v v4l2loopback
./rx | gst-launch-1.0 -q fdsrc ! ... ! v4l2sink sync=false
  • Теперь я хочу сделать то же самое с устройством Serial, таким как Arduino UNO, все работает идеально, и я могу отправлять и получать последовательные сообщения на терминале, но я не могу получить доступ к последовательным портам с помощью любого графического интерфейса, такого как Arduino IDE, я пытаюсь использовать виртуальный tty, такой как tty0tty и Socat, он работает только в терминале и Arduino IDE не обнаруживает виртуальный tty :(.

  • В Windows Com0com может создать виртуальный сериал работает отлично, и Arduino IDE обнаруживает виртуальный сериал :).

Для ясности: как заставить GUI, такой как Arduino IDE, обнаруживать виртуальный tty в Linux?

Решение: https://stackoverflow.com/questions/23867143/null-modem-emulator-com0com-for-linux IDE Arduino может определять виртуальные tty из Socat и tty0tty в Linux, просто откройте Arduino IDE как root

# Ubuntu
$ sudo arduino

# Debian
$ su
$ arduino

И теперь, есть ли способ заставить Arduino IDE обнаруживать виртуальный tty без рута ?

1 ответ1

1

1) Вы использовали socat как root? Если да, запустите socat от имени того же пользователя, который запускает arduino , и предоставьте правильные разрешения для этого пользователя всем другим устройствам, которые socat использует поверх PTY. Если вы не знаете, как это сделать, отредактируйте ваш вопрос в соответствии с командной строкой, которую вы использовали для socat .

2) Если (1) не работает, взгляните на разрешение PTY, созданное socat , и измените разрешения, чтобы у пользователя, arduino был доступ.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .