Zoeken op website

4 manieren waarop Python mijn Android-telefoon heeft veranderd in de ultieme homelab-metgezel


Homelabs zijn voor velen van ons een leuke en zinvolle hobby, maar je hoeft niet altijd honderden of duizenden dollars in je opstelling te investeren. Ik probeer het meer te zien als een zandbak waarin ik dingen maak, leer en experimenteer met hardware en software.

Soms kun je experimenteren, creëren en leren net zo goed met de smartphone die je elke dag gebruikt (of een extra Android-apparaat dat je ergens hebt liggen). Een van mijn belangrijkste doelen voor dit jaar (2026) was om een nieuwe programmeertaal te leren. Geen vibe-coderen voor mij, bedankt.

Hoewel ik goed thuis ben in HTML5 en CSS, heb ik me nooit echt verdiept in de spannende wereld van Python. Dus begon ik de taal te leren met een mix van W3 Schools tutorials, een paar stoffige oude boeken en één-op-één leren met een vriend die de taal goed kent. Met wat ik tot nu toe heb geleerd, gecombineerd met mijn pas ontdekte Termux-vaardigheden, ben ik in staat geweest om een handige kleine versie van mijn thuislab onderweg te maken met een paar heel eenvoudige, maar nuttige, Python-scripts.

Hier zijn een paar projecten waaraan ik de laatste tijd heb gewerkt om mijn Samsung Z Fold 5 om te zetten in een mini Python-speelplaats.

Ik heb een lokale webserver gemaakt

De beste manier om bestanden draadloos over te zetten

Als er twee dingen zijn waar ik van houd, zijn het zelf hosten en gestroomlijnde kabelbeheer. Met een lokaal gehoste webserver krijg ik beide. Ik maak een buitensporige hoeveelheid foto's en af en toe neem ik video's op met mijn telefoon. Het overzetten naar mijn computer voor verwerking, bewerking, back-up en opslag vereiste meestal het doorlopen van het (toegegeven, zeer milde) gedoe van het aansluiten van een USB-C-kabel en het geven van toestemming om bestanden via USB over te zetten.

Of dat, of ik zou het via e-mail kunnen delen, uploaden naar Google Drive, in Dropbox zetten, of WeTransfer gebruiken. Ze zijn allemaal goede opties, en er is hier eigenlijk geen probleem dat een oplossing nodig heeft. Ik wilde gewoon een excuus om een lokale webserver met Python op te zetten.

Hoe ik de server heb opgezet met http.server

Het is zo makkelijk als het kiezen van een poort en het uitvoeren van een enkele opdracht

Het opzetten van mijn server was heel eenvoudig. Ik moest het IP-adres van mijn telefoon vinden, dat te vinden was in de instellingen. Maar je kunt ook dit commando in Termux gebruiken om het te vinden:

Aangezien ik op mijn Samsung werk, heb ik een speciale map in de opslag voor mijn experimenten.

  1. In Termux gebruikte ik python -m http.server 9090 om een server te starten. Ik koos poort 9090.
  2. Daarná ging ik naar een nieuw venster in mijn browser en typte: http://, [het IP-adres van mijn telefoon]:9090.
  3. Dit bracht me naar een pagina met al mijn mappen.
  4. Ik navigeerde een tijdje, downloadde enkele van de grotere bestanden die ik door de jaren heen had opgeslagen, en maakte los.

Python heeft een module ingebouwd die een TCP-server implementeert, dus wanneer je het draait, luistert het naar verzoeken op bepaalde poorten. Op een later tijdstip kan ik een toegewijde server bouwen met Python en mijn lokale server gebruiken voor snelle en eenvoudige bestandsoverdrachten. Ik gebruik het vaak en zal dat in de nabije toekomst blijven doen.

Ik heb muziekorganisatie geautomatiseerd

Ik heb in feite een digitale bewaarder voor mijn muziekbestanden gemaakt

Het volgende Python-project dat ik probeerde, was het maken van een eenvoudig script om me te helpen alle live shows die ik blijf downloaden van het Internet Archive te organiseren. Om te beginnen had ik een OS-module en de Shutil-module nodig. Het zijn standaardbibliotheken voor interactie met het besturingssysteem en bestandsbewerkingen, dus hoogstwaarschijnlijk zijn dit de eerste modules die de meeste mensen meteen aan Python zullen toevoegen.

In Termux heb ik een bestand genaamd 'organizer.py' aangemaakt en ben ik aan de slag gegaan. In het script zelf heb ik opdrachten vermeld om OS en Shutil te importeren, gevolgd door mijn pad, en een bron- en uitvoerlocatie gedefinieerd. Het is gewoon een tekenreeks die Shutil vertelt om naar het einde van een bestandsnaam te kijken, en als het eindigt op .mp3, zal de utility het automatisch naar mijn 'tunes'-map verplaatsen.

Aan het einde gebruikte ik shutil.move(source_path, target_path) om alles van mijn downloadmap naar mijn nieuw aangemaakte tunes-map te verplaatsen. Het script werkt perfect. Omdat ik meer controle heb over wat hier gebeurt, is het alsof ik een persoonlijke beheerder heb die mijn muziekbestanden beheert.

Socketcontroles

Een eenvoudig script laat me zien wat mijn lokale sockets doen

Voor het grootste deel van dit project heb ik besloten de reikwijdte redelijk klein te houden en me te concentreren op praktische dingen. Dus een script dat een socket-controle doet, was heel logisch. Nu ga ik niet in op de fijne kneepjes van sockets en hoe ze werken, aangezien Python een zeer goede documentatie over het onderwerp heeft geschreven. Soms moet je het gewoon eenvoudig houden.

Ik wilde een snelle manier hebben om te zien of een van mijn netwerkpoorten open was, specifiek de poorten voor mijn FreshRSS- en Jellyfin-servers. Dus gebruikte ik de socket-module van Python met connect_ex() om te controleren of poorten open waren.

Het bleek dat de poort voor mijn RSS-feed en server nog steeds gesloten was, dus ze luisterden niet naar verkeer. Wat precies is hoe ik mijn zelfgehoste spullen graag heb voor beveiligingsdoeleinden.

De http.server van Python is standaard alleen-lezen, dus je zult andere hulpmiddelen moeten gebruiken (zoals bijvoorbeeld Flask). Als je toegang vanaf andere apparaten wilt krijgen, gebruik dan python -m http.server --bind 0.0.0.0.

Eenvoudige systeembewaking

Het bijhouden van processen is eenvoudiger






Voor dit snelle kleine experiment heb ik de Termux API gebruikt, die ik al had geïnstalleerd en mee had gespeeld om verschillende telefoonfuncties vanaf de commandoregel te bekijken. Ik vond het idee leuk om een script automatisch een melding te laten geven over de batterijstatus, dus heb ik er een opgezet dat de termux-battery-status-opdracht als een subprocess in Python gebruikt. Ik gebruik de Adaptive Battery-instelling en hou er van om mijn opladen, ontladen en gebruik nauwlettend te monitoren.

In mijn scriptbestand heb ik precies aangegeven hoe ik wilde dat de gegevens werden weergegeven met de print()-opdracht voor elke parameter, die vrij eenvoudig waren:

  • Batterijniveau
  • Status
  • Temperatuur

Na het uitvoeren van het script met python status.py, kreeg ik een heel korte informatie over de batterij. Best gaaf. Ik vind dit script leuk omdat ik vitale informatie kan controleren zonder een aparte app te hoeven openen. Ik ben van plan om binnenkort vergelijkbare scripts op te zetten voor andere diagnostiek.


Android voelt soms als een afgesloten vesting, maar Python en Termux maken het toegankelijker

De eerste keer dat ik Python in de terminal opstartte, liet ik het Frank Zappa-teksten afdrukken. Sinds ik dit jaar de programmeertaal aan het leren ben, heb ik een fantastische kans gehad om de reikwijdte van wat ik kan doen uit te breiden, en ik kijk ernaar uit om andere scripts uit te proberen, zoals het instellen van geautomatiseerde downloads.

Deze projecten zijn allemaal nuttige en leuke experimenten geweest. Python maakt mijn thuislab-hobby gewoon veel leuker, en ik kan niet wachten om te zien wat ik in de toekomst kan doen terwijl ik meer leer, mijn kennis uitbreid en met het volgende gekke "omdat ik het kan"-project bedenk dat ik op mijn telefoon kan doen.

Gerelateerde artikelen