
Я создал свой собственныйДлинный диапазон радиочастот USB.
[USB-устройство] -> [Raspberry PI] -> [myTxApp] -> [RF-устройство *(не WiFi)] -> [RF-устройство] -> [Ноутбук] -> [myRxApp] -> [Виртуальное устройство]
Я проверил это наUSB-веб-камера, и он работает отлично, и я могу получить доступ к веб-камере из любого графического интерфейса, напримерВЛК
# 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
Теперь я хочу сделать то же самое сСерийныйустройство какАрдуино УНО, все работает отлично, и я могу отправлять и получать серийный номерТерминал, но я не могу получить доступ к последовательному порту с помощью любого графического интерфейса, напримерArduino-IDE-среда разработки, я пробую использовать виртуальный tty какtty0ttyиСокат, он работает только в терминале иArduino-IDE-среда разработкине обнаруживает виртуальный tty :( .
В окнахcom0comможет создавать виртуальные серийные работы, совершенные иArduino-IDE-среда разработкиобнаружить виртуальный серийный номер :) .
Для ясности: как сделать GUI похожимArduino-IDE-среда разработкиобнаружитьвиртуальный терминалнаЛинукс?
Решение: https://stackoverflow.com/questions/23867143/null-modem-emulator-com0com-for-linux Arduino-IDE-среда разработкиможет обнаружитьвиртуальный терминалотСокатиtty0ttyв Linux просто откройтеArduino-IDE-среда разработкикак корень
# Ubuntu
$ sudo arduino
# Debian
$ su
$ arduino
И теперь, есть ли способделать Arduino-IDE-среда разработки обнаружить виртуальный терминал без корень?
решение1
1) Вы использовали socat
root? Если да, запустите socat
как тот же пользователь, который запускает arduino
, и дайте этому пользователю правильные разрешения на все, что другие устройства socat
используют поверх PTY. Если вы не знаете, как это сделать, пожалуйста, отредактируйте свой вопрос, указав точную командную строку, которую вы использовали для socat
.
2) Если (1) не работает, проверьте разрешения PTY, созданного socat
, и измените разрешения так, чтобы у пользователя, запускающего PTY, arduino
был доступ.