Linux виртуальный TTY

634
amy programmer

Я создал свой собственный 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 без рута ?

0

1 ответ на вопрос

1
dirkt

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

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

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