Um in Linux etwas in den "Autostart" zu befördern (und damit dem "vergessen" der v4l2-Anpassungen nach dem Reboot vorzubeugen) gibt es verschiedenste Methoden (Cronjobs etc.): https://askubuntu.com/question…-run-a-script-at-start-up
Ich persönlich habe einfach in "/etc/rc.local" auf mein "/etc/init.d/starter.sh" Skript verwiesen:
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
/etc/init.d/starter.sh
# Print the IP address
_IP=$(hostname -I) true
if [ "$_IP" ]; then
printf "My IP address is %s\n" "$_IP"
fi
exit 0
Das starter.sh Skript sieht aus wie folgt:
v4l2-ctl --set-ctrl=brightness=135
v4l2-ctl --set-ctrl=saturation=171
Ich verwende https://mobaxterm.mobatek.net/download-home-edition.html für den Zugriff auf die Shell. Hier kann man sogar per Drag & Drop in einem Dateibrowser Dateien transferieren. Alles andere sind Linux basics (z.b. der "vi"-Befehl, um Textdateien manuell per Shell anzupassen, sollte Mobax Rechteprobleme beim Dateitransfer haben).
Wenn Du Hyperion.ng wie in meinem verlinkten Youtube-Video installiert hast, dann stellst du die Bildverkleinerung in der Weboberfläche (http://ip:8090) ein:
Vorher solltest du Hyperion.ng noch als Dienst registrieren, damit auch dieser automatisch startet (und natürlich, um den Webserver zu starten). Hierfür kann man unter "usr/lib/systemd/system/" eine "hyperion.service" Datei anlegen mit folgendem Inhalt:
[Unit]
Description=Hyperion ambient light systemd service for user %i
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/home
ExecStart=hyperiond
TimeoutStopSec=5
KillMode=mixed
Restart=on-failure
RestartSec=2
[Install]
WantedBy=multi-user.target
Für die Registierung des Dienstes genügt der Befehl "sudo systemctl enable hyperion.service" (hier gibts mehr Details zu Diensten unter Linux: https://www.modius-techblog.de…ystemd-richtig-verwenden/). Die Ausgabe ist dann "Created symlink /etc/systemd/system/multi-user.target.wants/hyperion.service → /usr/lib/systemd/system/hyperion.service.".
Alle Angaben beziehen sich auf das neuste Raspbian Image. Es gibt sicher elegantere Wege, aber der funktionierte zumindest auf Anhieb. Sobald Hyperion.ng veröffentlich wird, wird es sicher auch bei der Installation direkt eine Installation des Dienstes geben.
Anbei die 3 Dateien: