Yoga 900 ma akcelerometr, który powinien umożliwiać zachowanie automatycznego obracania.
Podczas instalacji https://github.com/hadess/iio-sensor-proxy (Linux *, LightDM) możliwe jest uruchomienie czujnika monitorującego.
➜ ~ monitor-sensor
Waiting for iio-sensor-proxy to appear
+++ iio-sensor-proxy appeared
=== Has accelerometer (orientation: undefined)
=== Has ambient light sensor (value: 0.000000, unit: lux)
Accelerometer orientation changed: normal
Light changed: 49.999999 (lux)
Light changed: 79.999998 (lux)
Accelerometer orientation changed: left-up
Accelerometer orientation changed: normal
Accelerometer orientation changed: left-up
Accelerometer orientation changed: bottom-up
Z iio-sensor-proxy
dane są udostępniane na dbusie. Ma formę:
signal time=1479631365.562013 sender=:1.15 -> destination=(null destination) serial=449861 path=/com/ubuntu/Upstart; interface=com.ubuntu.Upstart0_6; member=EventEmitted
string "dbus"
array [
string "SIGNAL=PropertiesChanged"
string "BUS=system"
string "INTERFACE=org.freedesktop.DBus.Properties"
string "OBJPATH=/net/hadess/SensorProxy"
string "SENDER=:1.4"
string "ARG0=net.hadess.SensorProxy"
]
Czy jest możliwe uruchomienie skryptu tylko się budzi na temat niektórych wydarzeń dbus? Najlepiej użyć pętli zdarzeń w demonie, który już istnieje, zamiast tworzyć własny skrypt Pythona lub program C. Coś jak dodanie pliku do
/etc/dbus.d/handlers/net/hadess/SensorProxy
byłoby naprawdę fajnie.Jeśli nie ucieknę
monitor-sensor
Nie wydaje mi się, że wiadomości pojawiają się na dbusie, chociażiio-sensor-proxy
jest rzeczywiście uruchomiony. Czy te wiadomości są wysyłane tylko wtedy, gdy ktoś ich słucha?
[*] Linux V 4.8.1-040801-generic # 201610071031 SMP piątek 7 października 14:34:10 UTC 2016 x86_64 x86_64 x86_64 GNU / Linux
PS: Według powertopa podczas używania monitor-sensor
:
14.7 mW 1.5 ms/s 8.8 Process dbus-monitor
Odpowiedź powinna opisywać kanoniczny sposób radzenia sobie z tym w systemie Linux i być najbardziej przyjaznym rozwiązaniem z punktu widzenia wykorzystania baterii.