6.4 Мониторинг батареи ноутбука
Если ваш робот содержит ноутбук на борту, то вы можете следить за состоянием батареи ноутбука и публиковать результат в массиве /diagnostics. Затем мы можем использовать эту информацию, чтобы узнать, когда аккумулятор находится в неисправном состоянии или компьютер нуждается в подзарядке.
К счастью для нас, люди в Willow Garage давным-давно создали узел для мониторинга батареи ноутбука Turtlebot с помощью системного файла /proc/acpi/battery/BAT1. Мы включили измененную версию этого сценария под названием laptop_battery.py и его можно найти в подкаталоге rbx2_bring up/nodes.
Если вы работаете на ноутбуке, когда читаете это, вы можете протестировать сценарий следующим образом:
Файл запуска определяет скорость публикации диагностических данных (по умолчанию 1 Гц) и путь apci_path к файлу батареи (по умолчанию /proc/acpi/battery/BAT1). Предполагая, что файл запуска работает без ошибок, взгляните на данные, опубликованные в разделе /diagnostics:
Вывод на экран должен выглядеть примерно так:
Как вы можете видеть, узел батареи ноутбука публикует исходные значения напряжения, заряда и емкости в виде пар «ключ-значение». То, что не очевидно, пока вы внимательно не посмотрите на сценарий laptop_battery.py,который заключается в том, что общий уровень диагностики всегда будет равен 0 (т. е. ОК) до тех пор, пока батарея обнаружена и ее состояние было своевременно обновлено. Другими словами, опубликованный здесь статус не связан с зарядом батареи—он только отражает, присутствует ли батарея или нет, и может быть отслежен. Новый сценарий, подробно описанный в следующем разделе, опубликует диагностическое сообщение, основанное на самой зарядке.
Last updated