4 Möglichkeiten, wie Python mein Android-Handy zum ultimativen Homelab-Begleiter gemacht hat

Indeks
  1. Ich habe einen lokalen Webserver erstellt
    1. Die beste Möglichkeit, Dateien drahtlos zu übertragen
  2. Wie ich den Server mit http.server eingerichtet habe
    1. Es ist so einfach, wie einen Port auszuwählen und einen einzigen Befehl auszuführen
  3. Ich habe die Musikorganisation automatisiert
    1. Ich habe praktisch einen digitalen Verwalter für meine Musikdateien gemacht
  4. Socket-Checks
    1. Ein einfaches Skript lässt mich sehen.
    2. Was meine lokalen Sockets tun
  5. Einfache Systemüberwachung
    1. Prozessverfolgung ist einfacher
    2. Android fühlt sich manchmal wie eine bewachte Festung an, aber Python und Termux machen es zugänglicher

Dieser Text beschreibt, wie man ein Android-Gerät mit Python in ein kreatives Heimlabor verwandelt, einschließlich Projekten wie einem lokalen Webserver und Automatisierungsskripten.

Homelabs sind ein unterhaltsames, lohnenswertes Hobby für viele von uns, aber man muss nicht immer Hunderte oder Tausende von Dollar in sein Setup investieren. Ich betrachte es eher als eine Sandbox, in der ich Dinge erschaffe, lerne und mit Hardware sowie Software experimentiere.

Manchmal kann man ebenso gut mit dem Smartphone, das man täglich nutzt (oder einem zusätzlichen Android-Gerät, das herumliegt), experimentieren, kreativ sein und lernen. Ein weiteres Ziel für dieses Jahr (2026) war es, eine neue Programmiersprache zu lernen. Kein vibrierendes Coding für mich, danke.

Obwohl ich gut mit HTML5 und CSS vertraut bin, habe ich mich nie wirklich in die aufregende Welt von Python eingearbeitet. Also begann ich, die Sprache zu lernen, indem ich eine Mischung aus W3 Schools-Tutorials, ein paar verstaubten alten Büchern und eins-zu-eins-Lernen mit einem Freund, der die Sprache gut kennt, nutzte. Mit dem, was ich bisher gelernt habe, kombiniert mit meinen neuen Termux-Fähigkeiten, konnte ich eine praktische kleine Version meines Heimlabors mobil erstellen, mit einigen sehr einfachen, aber nützlichen Python-Skripten.

Hier sind einige Projekte, an denen ich kürzlich gearbeitet habe, um mein Samsung Z Fold 5 in einen Mini-Python-Spielplatz zu verwandeln.

Ich habe einen lokalen Webserver erstellt

Die beste Möglichkeit, Dateien drahtlos zu übertragen

Wenn es zwei Dinge gibt, die ich liebe, sind es Self-Hosting und optimierte Kabelverwaltung. Mit einem lokal gehosteten Webserver erhalte ich beides. Ich mache eine übermäßige Anzahl an Fotos und drehe gelegentlich Videos mit meinem Telefon. Die Übertragung auf meinen Computer zur Verarbeitung, Bearbeitung, Sicherung und Speicherung erforderte normalerweise das (zugegebenermaßen sehr geringe) Umstands, ein USB-C-Kabel anzuschließen und ihm die Erlaubnis zu geben, Dateien über USB zu übertragen.

Entweder das, oder ich könnte es per E-Mail teilen, auf Google Drive hochladen, in Dropbox speichern oder WeTransfer verwenden. Alle sind solide Optionen, und es gibt hier wirklich kein Problem, das eine Lösung benötigt. Ich wollte nur einen Vorwand, um mit Python einen lokalen Webserver einzurichten.

Wie ich den Server mit http.server eingerichtet habe

Es ist so einfach, wie einen Port auszuwählen und einen einzigen Befehl auszuführen

Die Einrichtung meines Servers war sehr einfach. Ich musste die IP-Adresse meines Telefons finden, die sich in den Einstellungen befindet. Aber du könntest auch diesen Befehl in Termux verwenden, um sie zu finden:

Da ich auf meinem Samsung arbeite, habe ich einen speziellen Ordner im Speicher für meine Experimente.

  1. In Termux habe ich python -m http.server 9090 verwendet, um einen Server zu starten. Ich wählte Port 9090.
  2. Danach öffnete ich ein neues Fenster in meinem Browser und gab ein: http://[IP-Adresse meines Handys]:9090.
  3. Dies führte mich zu einer Seite mit all meinen Ordnern.
  4. Ich navigierte ein wenig, lud einige der größeren Dateien herunter, die ich über die Jahre gespeichert hatte, und trennte die Verbindung.

Python hat ein Modul integriert, das einen TCP-Server implementiert, sodass es beim Ausführen auf Anfragen an bestimmten Ports lauscht. Zu einem späteren Zeitpunkt kann ich einen dedizierten Server mit Python erstellen und meinen lokalen Server für schnelle und einfache Dateiübertragungen nutzen. Ich benutze es oft und werde dies in absehbarer Zukunft weiterhin tun.

Ich habe die Musikorganisation automatisiert

Ich habe praktisch einen digitalen Verwalter für meine Musikdateien gemacht

Das nächste Python-Projekt, das ich ausprobiert habe, war es, ein einfaches Skript zu erstellen, das mir hilft, all die Live-Shows zu organisieren, die ich immer wieder von der Internet Archive herunterlade. Zunächst benötigte ich ein OS-Modul und das Shutil-Modul. Das sind Standardbibliotheken für den Betriebssystemkontakt und Dateioperationen, daher sind sie höchstwahrscheinlich die ersten Module, die die meisten Leute direkt in Python hinzufügen.

In Termux erstellte ich eine Datei mit dem Namen 'organizer.py' und machte mich an die Arbeit. Im Skript selbst listete ich die Befehle zum Importieren von OS und Shutil auf, gefolgt von meinem Pfad, definierte ein Quell- und Ausgabeverzeichnis. Es ist nur ein String, der Shutil anweist, das Ende eines Dateinamens zu betrachten, und wenn es mit .mp3 endet, wird das Dienstprogramm es automatisch in meinen 'tunes'-Ordner verschieben.

Am Ende verwendete ich shutil.move(source_path, target_path), 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.

Socket-Checks

Ein einfaches Skript lässt mich sehen.

Was meine lokalen Sockets tun

Für die meisten Teile dieses Projekts habe ich entschieden, den Umfang recht klein zu halten und mich auf praktische Dinge zu konzentrieren. Ein Skript, das einen Socket-Check durchführt, machte daher viel Sinn. Ich werde nicht auf die feinen Punkte von Sockets und deren Funktionsweise eingehen, da Python einige sehr schöne Dokumentationen zu dem Thema verfasst hat. Manchmal muss man es einfach einfach halten.

Ich wollte eine schnelle Möglichkeit haben, um zu sehen, ob einer meiner Netzwerkports offen war, speziell die Ports für meine FreshRSS- und Jellyfin-Server. Daher habe ich das socket-Modul von Python mit connect_ex() verwendet, um zu überprüfen, ob die Ports geöffnet sind.

Es stellte sich heraus, dass der Port für meinen RSS-Feed und Server noch geschlossen war, also hörten sie nicht auf Traffic. So mag ich das bei meinen selbstgehosteten Dingen aus Sicherheitsgründen.

Der http.server von Python ist schreibgeschützt im Standardmodus, also musst du andere Werkzeuge verwenden (wie Flask zum Beispiel). Wenn du von anderen Geräten zugreifen möchtest, benutze python -m http.server -- bind 0.0.0.0.

Einfache Systemüberwachung

Prozessverfolgung ist einfacher

Für dieses kleine Experiment habe ich die Termux-API verwendet, die ich bereits installiert und ausprobiert hatte, um verschiedene Telefonfunktionen über die Befehlszeile zu überprüfen. Ich mochte die Idee, ein Skript zu haben, das mich automatisch über den Batteriestatus informiert, also habe ich eines eingerichtet, das den termux-battery-status-Befehl als Unterprozess in Python verwendet. Ich benutze die adaptive Batterieeinstellung und überwache meine Lade-, Entlade- und Nutzungsverhalten intensiv.

In meiner Skriptdatei habe ich genau angegeben, wie ich die Daten mit dem print()-Befehl für jeden Parameter ausgeben möchte, die ziemlich einfach waren:

  • Batteriestand
  • Status
  • Temperatur

Nach dem Ausführen des Skripts mit python status.py erhielt ich eine sehr schnelle Information über die Batterie. Wirklich cool. Ich mag dieses Skript, weil ich wichtige Informationen überprüfen kann, ohne eine separate App öffnen zu müssen. Ich plane, in Kürze ähnliche Skripte für andere Diagnosen einzurichten.

Android fühlt sich manchmal wie eine bewachte Festung an, aber Python und Termux machen es zugänglicher

Als ich zum ersten Mal Python im Terminal startete, ließ ich es die Texte von Frank Zappa ausgeben. Da ich in diesem 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 das Einrichten automatisierter Downloads.

Diese Projekte waren alle hilfreiche und unterhaltsame Experimente. Python macht mein Home-Lab-Hobby viel unterhaltsamer, und ich kann es kaum erwarten zu sehen, was ich in Zukunft machen kann, während ich mehr lerne, mein Wissen erweitere und das nächste verrückte „weil ich es kann“-Projekt für mein Telefon entwickle.

Bist du neugierig auf weitere Artikel wie 4 Möglichkeiten, wie Python mein Android-Handy zum ultimativen Homelab-Begleiter gemacht hat? Entdecke spannende Inhalte in der Kategorie Android.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Go up