@ibnsan
studying vue, js, php, go, laravel, unity

Как правильно мониторить подключение по usb в raspbian?

Добрый день!
Я с bash и linux в целом не очень хорошо пока разбираюсь.
Мне нужно как то понимать что сейчас к raspberry pi 3b+ подключилось новое устройство по usb (смартфон). После чего подключится к нему по adb драйверу.

Для этого я нашел вариант в вечном цикле проверять сколько сейчас устройств всего подключено по usb (lsusb | wc -l), и если это количество больше 4-х (то есть в простое указано 4 устрова usb в разбери, когда подключаю какое то еще появляется +1) запускать дальнейшие действия с этим смартфоном.

Вопрос в том, есть ли более "правильные" или эффективные варианты?
Встречал еще вариант через "udev" - но нет ли там какого то таймаута на выполнение запущенной задачи?
  • Вопрос задан
  • 81 просмотр
Решения вопроса 1
saboteur_kiev
@saboteur_kiev Куратор тега Linux
software engineer
В директории /etc/udev/rules.d добавляешь файл, например
/etc/udev/rules.d/mydevice.rules:

В него добавляешь строчку
ATTRS{idVendor}=="152d", ATTRS{idProduct}=="2329", RUN+="/path/.sh"

Потом пишешь собственно скрипт /path/mydevice.sh
#! /bin/sh
    env >>/path/mydevice.log
    file "/sys${DEVPATH}" >>/path/mydevice.log

    if [ "${ACTION}" = add -a -d "/sys${DEVPATH}" ]; then
    echo "add ${DEVPATH}" >>/path/mydevice.log
    fi

    lsusb >> /path/mydevice.log
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@unseriously
Скорее всего ваш способ самый простой. Есть еще похожие утилиты: lsblk и usb-devices
а вообще вот: https://linuxhint.com/list-usb-devices-linux/
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы