Я в настоящее время работаю над проектом электроники с микроконтроллером, который отправляет информацию по USB к компьютеру, где это читается из последовательного порта. Я могу считать данные с экраном и зарегистрировать его с stty. Проблема, которую я имею, который является последовательным портом (специальный файл?) не обнаруживается в/dev, пока устройство не загрузилось. Я вручную запускаю экран или stty, и я пропускаю важные сообщения запуска.
Существует ли способ ожидать последовательного порта, чтобы появиться, и затем сразу записать или просмотреть входящие данные?
Я Вы знаете Вас, буду ожидать, скажем, /dev/ttyUSB0
для появления можно использовать inotify систему для ожидания его для появления, затем сделать Вы управляете:
inotifywait -m -e create --format %f /dev |
while read file
do if [ "$file" = ttyUSB0 ]
then cat /dev/ttyUSB0
fi
done
Вышеупомянутая печать базовое имя каждого нового файла (или устройство) созданный в /dev
каталог, например, "ttyUSB0".
Создать уведомление так быстро, что udev еще не имел времени к chgrp устройство для группировки dialout. Для ожидания до, это сделано, необходимо также искать события изменения атрибута, как следует:
inotifywait -m -e create,attrib --format %f /dev |
while read file
do if [ "$file" = ttyUSB0 ]
then ls -l /dev/ttyUSB0
group=$(stat --format=%G /dev/ttyUSB0)
if [ "$group" = dialout ]
then cat /dev/ttyUSB0
fi
fi
done