Как я могу определить потребление энергии USB?

У меня есть сотовый телефон, чей порт для зарядки плохо подключен, и я хочу получать уведомление, если он отключен. Я хочу, чтобы это работало, даже если телефон выключен и не монтируется в качестве файловой системы, поэтому мне нужно обнаружить утечку энергии. Я буду использовать notify-send для отправки предупреждения из сценария.

Похоже, notify-send , но он не поддается синтаксическому анализу и не может быть легко сгенерирован. Я вижу, что можно обнаружить использование мощности USB в других операционных системах.

Я нашел некоторую информацию о других операционных системах устройствах USB, но те, которые я пробовал, смонтированных файловых систем. Я также нашел инструкции по включению и выключению USB-устройств.

3
задан 24 October 2017 в 20:59

2 ответа

Вот что я сделал, чтобы понять это. Во-первых, я написал сценарий для сравнения вывода из некоторых системных информационных команд:

#!/bin/sh write_logs(){ ls /dev/disk/by-uuid/ > uuids lsusb -v > lsusb-v lsusb -t > lsusb-t ls -alh /sys/bus/usb/devices/ | sed -E 's/.+ -> //' | tail -n+4 > sysbus } echo "Insert plug and press ENTER." mkdir a; cd a read VAR; write_logs echo "Remove plug and press ENTER." mkdir ../b; cd ../b read VAR; write_logs cd .. diff -r a b # Actually, I prefer meld, but this is portable.

Я не понял, что результат был каким-то другим, потому что для моей системы требуется несколько секунд, чтобы распознать подключено новое USB-устройство. Если вы запустите этот скрипт, подождите несколько секунд, прежде чем нажимать ENTER. Когда я это сделал, я понял, что результат для этих команд действительно изменился.

Для моего телефона я могу определить, подключен ли он к этому:

lsusb -v 2>/dev/null | grep 'Motorola PCS' >/dev/null \ && echo phone is plugged in

I может обнаружить, что что-то подключено к определенному порту с помощью этого:

ls -alh /sys/bus/usb/devices/ | grep pci0000:00/0000:00:1d.7/usb2/2-6 >/dev/null \ && echo Something is plugged into the left USB port.

Я нашел эти шаблоны grep, просто сравнив вывод с приведенным выше скриптом; вам может потребоваться изменить их для вашей собственной системы или вашего собственного телефона.

Мне все равно придется поиграть с тем, как активировать мою функцию обнаружения и периодически ее запускать, чтобы узнать, было ли устройство удалено ( вероятно, используя chron). Кроме того, я не понял, как определить, сколько энергии используется; это просто обнаруживает, что что-то связано или нет.

1
ответ дан 18 July 2018 в 04:38

Вот что я сделал, чтобы понять это. Во-первых, я написал сценарий для сравнения вывода из некоторых системных информационных команд:

#!/bin/sh write_logs(){ ls /dev/disk/by-uuid/ > uuids lsusb -v > lsusb-v lsusb -t > lsusb-t ls -alh /sys/bus/usb/devices/ | sed -E 's/.+ -> //' | tail -n+4 > sysbus } echo "Insert plug and press ENTER." mkdir a; cd a read VAR; write_logs echo "Remove plug and press ENTER." mkdir ../b; cd ../b read VAR; write_logs cd .. diff -r a b # Actually, I prefer meld, but this is portable.

Я не понял, что результат был каким-то другим, потому что для моей системы требуется несколько секунд, чтобы распознать подключено новое USB-устройство. Если вы запустите этот скрипт, подождите несколько секунд, прежде чем нажимать ENTER. Когда я это сделал, я понял, что результат для этих команд действительно изменился.

Для моего телефона я могу определить, подключен ли он к этому:

lsusb -v 2>/dev/null | grep 'Motorola PCS' >/dev/null \ && echo phone is plugged in

I может обнаружить, что что-то подключено к определенному порту с помощью этого:

ls -alh /sys/bus/usb/devices/ | grep pci0000:00/0000:00:1d.7/usb2/2-6 >/dev/null \ && echo Something is plugged into the left USB port.

Я нашел эти шаблоны grep, просто сравнив вывод с приведенным выше скриптом; вам может потребоваться изменить их для вашей собственной системы или вашего собственного телефона.

Мне все равно придется поиграть с тем, как активировать мою функцию обнаружения и периодически ее запускать, чтобы узнать, было ли устройство удалено ( вероятно, используя chron). Кроме того, я не понял, как определить, сколько энергии используется; это просто обнаруживает, что что-то связано или нет.

1
ответ дан 24 July 2018 в 18:08

Другие вопросы по тегам:

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