4 Wege, wie Python mein Android-Telefon in den ultimativen Homelab-Begleiter verwandelt hat
Homelabs sind für viele von uns ein spaßiges und lohnendes Hobby, aber man muss nicht immer Hunderte oder Tausende von Dollar in das eigene Setup investieren. Ich versuche, es eher als eine Art Sandbox zu sehen, in der ich Dinge herstelle, lerne und mit Hardware und Software experimentiere.
Manchmal kann man genauso gut mit dem Smartphone, das man jeden Tag benutzt (oder einem zusätzlichen Android-Gerät, das man herumliegen hat), experimentieren, kreieren und lernen. Eines meiner Hauptziele für dieses Jahr (2026) war es, eine neue Programmiersprache zu lernen. Vibe-Coding ist nichts für mich, danke.
Obwohl ich mich gut mit HTML5 und CSS auskenne, habe ich mich noch nie wirklich in die aufregende Welt von Python vertieft. Also habe ich angefangen, die Sprache mithilfe einer Mischung aus W3 Schools Tutorials, einigen verstaubten alten Büchern und Einzelunterricht mit einem Freund, der die Sprache gut kennt, zu lernen. Mit dem, was ich bisher gelernt habe, kombiniert mit meinen neu gewonnenen Termux-Kenntnissen, konnte ich eine schicke kleine Version meines Heimlabors unterwegs erstellen, mit einigen sehr einfachen, aber nützlichen Python-Skripten.
Hier sind ein paar Projekte, an denen ich in letzter Zeit gearbeitet habe, um mein Samsung Z Fold 5 in einen kleinen Python-Spielplatz zu verwandeln.
Ich habe einen lokalen Webserver erstellt
Die beste Methode, Dateien kabellos zu übertragen
Wenn es zwei Dinge gibt, die ich liebe, dann sind es Self-Hosting und optimiertes Kabelmanagement. Mit einem lokal gehosteten Webserver bekomme ich beides. Ich mache eine übermäßige Menge an Fotos und nehme gelegentlich Videos mit meinem Handy auf. Um sie zur Verarbeitung, Bearbeitung, Sicherung und Speicherung auf meinen Computer zu übertragen, war es normalerweise nötig, den (zugegebenermaßen sehr geringfügigen) Aufwand auf sich zu nehmen, ein USB-C-Kabel anzuschließen und die Erlaubnis zur Dateiübertragung über USB zu geben.
Entweder das, oder ich könnte es per E-Mail teilen, auf Google Drive hochladen, in Dropbox legen oder WeTransfer benutzen. Alle sind solide Optionen, und es gibt hier eigentlich kein Problem, das eine Lösung benötigt. Ich wollte nur einen Vorwand, um einen lokalen Webserver mit Python einzurichten.
Wie ich den Server mit http.server einrichte
Es ist so einfach, wie einen Port auszuwählen und einen einzigen Befehl auszuführen
Das Einrichten meines Servers war sehr einfach. Ich musste die IP-Adresse meines Telefons finden, die in den Einstellungen zu finden war. Aber man könnte auch diesen Befehl in Termux verwenden, um sie zu finden:
Da ich an meinem Samsung arbeite, habe ich einen speziellen Ordner im Speicher für meine Experimente.
- In Termux habe ich
python -m http.server 9090verwendet, um einen Server zu starten. Ich habe den Port 9090 gewählt. - Danach richtete ich meinen Browser auf ein neues Fenster und tippte:
http://, [die IP-Adresse meines Telefons]:9090. - Dies brachte mich zu einer Seite, die alle meine Ordner enthält.
- Ich habe eine Weile navigiert, einige der größeren Dateien heruntergeladen, die ich im Laufe der Jahre gespeichert hatte, und mich dann getrennt.
Python hat ein Modul eingebaut, das einen TCP-Server implementiert, sodass es beim Ausführen auf Anfragen an bestimmten Ports hört. Zu einem späteren Zeitpunkt kann ich einen dedizierten Server mit Python bauen und meinen lokalen Server für schnelle und einfache Dateiübertragungen nutzen. Ich habe es häufig benutzt und werde es auch in absehbarer Zukunft weiterhin tun.
Ich habe die Musiksammlung automatisiert organisiert
Ich habe im Grunde einen digitalen Verwalter für meine Musikdateien erstellt
Das nächste Python-Projekt, das ich ausprobierte, war die Erstellung eines einfachen Skripts, um mir zu helfen, alle Live-Shows zu organisieren, die ich weiterhin vom Internet Archive herunterlade. Zunächst benötigte ich ein OS-Modul und das Shutil-Modul. Sie sind Standardbibliotheken für die Interaktion mit dem Betriebssystem und Dateioperationen, daher werden sie höchstwahrscheinlich als erste Module von den meisten Leuten direkt zu Python hinzugefügt.
In Termux habe ich eine Datei namens 'organizer.py' erstellt und mich an die Arbeit gemacht. Im Skript selbst habe ich Befehle zum Importieren von OS und Shutil aufgelistet, gefolgt von meinem Pfad, habe einen Quell- und Zielort definiert. Es ist einfach ein String, der Shutil sagt, dass es am Ende eines Dateinamens nachsehen soll, und wenn er auf .mp3 endet, wird das Dienstprogramm die Datei automatisch in meinen 'tunes'-Ordner verschieben.
Am Ende habe ich shutil.move(source_path, target_path) verwendet, um alles von meinem Downloads-Ordner in meinen neu erstellten Tunes-Ordner zu verschieben. Das Skript funktioniert einwandfrei. Da ich mehr Kontrolle darüber habe, was hier passiert, ist es, als hätte ich einen persönlichen Verwalter, der meine Musikdateien verwaltet.
Sockelprüfungen
Ein einfaches Skript lässt mich sehen, was meine lokalen Sockets tun
Für den Großteil dieses Projekts habe ich beschlossen, den Umfang relativ klein zu halten und mich auf praktische Dinge zu konzentrieren. Ein Skript, das eine Socket-Überprüfung durchführt, ergab also durchaus Sinn. Nun werde ich nicht auf die Feinheiten von Sockets und deren Funktionsweise eingehen, da Python einige sehr gute Dokumentationen zu diesem Thema erstellt hat. Manchmal muss man es einfach unkompliziert halten.
Ich wollte eine schnelle Möglichkeit haben, um zu sehen, ob einer meiner Netzwerkports offen war, insbesondere die Ports für meine FreshRSS- und Jellyfin-Server. Also habe ich Python's socket-Modul mit connect_ex() verwendet, um zu überprüfen, ob die Ports offen waren.
Es stellte sich heraus, dass der Port für meinen RSS-Feed und Server noch geschlossen war, sodass sie keinen Datenverkehr empfingen. Genau so mag ich meine selbstgehosteten Sachen aus Sicherheitsgründen.
Der http.server von Python ist standardmäßig schreibgeschützt, daher müssen Sie andere Werkzeuge (wie zum Beispiel Flask) verwenden. Wenn Sie von anderen Geräten darauf zugreifen möchten, verwenden Sie python -m http.server --bind 0.0.0.0.
Einfache Systemüberwachung
Die Verfolgung von Prozessen ist einfacher
Für dieses kleine schnelle Experiment habe ich die Termux-API verwendet, die ich bereits installiert hatte und mit der ich gespielt habe, um verschiedene Telefonfunktionen von der Kommandozeile aus zu überprüfen. Mir gefiel die Idee, ein Skript zu haben, das mich automatisch über den Batteriestatus informiert, also habe ich eines eingerichtet, das den Befehl termux-battery-status als Unterprozess in Python verwendet. Ich nutze die Adaptive-Battery-Einstellung und überwache gerne intensiv mein Laden, Entladen und die Nutzung.
In meiner Skriptdatei habe ich genau angegeben, wie ich wollte, dass die Daten mit dem print()-Befehl für jeden Parameter ausgegeben werden, die ziemlich grundlegend waren:
- Batteriestand
- Status
- Temperatur
Nachdem ich das Skript mit python status.py ausgeführt hatte, erhielt ich eine sehr schnelle Information über die Batterie. Ziemlich cool. Ich mag dieses Skript, weil ich wichtige Informationen überprüfen kann, ohne eine separate App öffnen zu müssen. Ich plane, bald ähnliche Skripte für andere Diagnosen einzurichten.
Android fühlt sich manchmal wie eine befestigte Festung an, aber Python und Termux machen es zugänglicher
Als ich das erste Mal Python im Terminal gestartet habe, ließ ich es Frank Zappa Texte ausdrucken. Da ich dieses Jahr die Programmiersprache lerne, hatte ich eine fantastische Gelegenheit, den Umfang dessen, was ich tun kann, zu erweitern, und ich freue mich darauf, andere Skripte auszuprobieren, wie zum Beispiel automatisierte Downloads einzurichten.
Diese Projekte waren alle hilfreiche und unterhaltsame Experimente. Python macht mein Heimlabor-Hobby einfach viel mehr Spaß, und ich kann es kaum erwarten zu sehen, was ich in Zukunft tun kann, während ich mehr lerne, mein Wissen erweitere und das nächste verrückte „einfach weil ich es kann“-Projekt auf meinem Handy mache.










