4 způsoby, jak Python proměnil můj telefon s Androidem v ultimátního společníka pro domácí laboratoř
Domácí laboratoře jsou pro mnoho z nás zábavným a smysluplným koníčkem, ale nemusíte vždy investovat stovky či tisíce dolarů do svého vybavení. Snažím se na to dívat spíše jako na pískoviště, kde tvořím věci, učím se a experimentuji s hardwarem a softwarem.
Někdy můžete experimentovat, tvořit a učit se stejně dobře se smartphonem, který používáte každý den (nebo s dalším zařízením Android, které máte doma). Jedním z mých hlavních cílů pro tento rok (2026) bylo naučit se nový programovací jazyk. Bez vibe kódování pro mě, díky.
Přestože se dobře orientuji v HTML5 a CSS, nikdy jsem se skutečně nepustil do vzrušujícího světa Pythonu. Takže jsem se začal učit tento jazyk pomocí kombinace tutoriálů W3 Schools, několika zaprášených starých knih a individuálního učení s kamarádem, který jazyk dobře ovládá. S tím, co jsem se zatím naučil, v kombinaci s mými nově nabytými dovednostmi v Termuxu, jsem byl schopen vytvořit chytrou malou verzi svého domácího laboratoře na cestách s několika velmi jednoduchými, ale užitečnými Python skripty.
Zde je několik projektů, na kterých jsem nedávno pracoval, aby se můj Samsung Z Fold 5 proměnil v malé Pythonové hřiště.
Vytvořil jsem místní webový server
Nejlepší způsob, jak přenášet soubory bezdrátově
Pokud jsou dvě věci, které miluji, jsou to vlastní hosting a upravené vedení kabelů. S lokálně hostovaným webovým serverem získám obojí. Fotím nadměrné množství fotografií a občas natáčím video svým telefonem. Přenést je do počítače k dalšímu zpracování, úpravám, zálohování a ukládání obvykle vyžadovalo projít (sice velmi mírným) nepohodlím připojení kabelu USB-C a povolení přenosu souborů přes USB.
Buď to, nebo bych to mohl sdílet e-mailem, nahrát na Google Drive, dát do Dropboxu nebo použít WeTransfer. Všechny jsou to solidní možnosti a tady vlastně není žádný problém, který by potřeboval řešení. Jen jsem chtěl mít záminku k nastavení lokálního webového serveru s Pythonem.
Jak jsem nastavil server pomocí http.server
Je to tak jednoduché jako vybrat port a spustit jeden příkaz
Nastavení mého serveru bylo velmi jednoduché. Musel jsem najít IP adresu svého telefonu, která se nacházela v nastavení. Ale tuto příkazovou řádku v Termuxu můžete také použít k jejímu nalezení:
Jelikož pracuji na mém Samsungu, mám v úložišti vyhrazenou složku pro své experimenty.
- V Termuxu jsem použil
python -m http.server 9090k spuštění serveru. Zvolil jsem port 9090. - Poté jsem v prohlížeči otevřel nové okno a napsal:
http://, [IP adresa mého telefonu]:9090. - To mě přivedlo na stránku obsahující všechny mé složky.
- Chvíli jsem prohlížel, stáhl jsem některé z větších souborů, které jsem si během let uložené, a odpojil se.
Python má modul, který je do něj zabudovaný a implementuje TCP server, takže když ho spustíte, bude poslouchat na určitých portech na jakékoli požadavky. V budoucnu mohu postavit dedikovaný server pomocí Pythonu a použít svůj místní server pro rychlé a snadné přenosy souborů. Používám ho často a budu ho používat i v dohledné budoucnosti.
Automatizoval jsem organizaci hudby
V podstatě jsem vytvořil digitálního správce pro své hudební soubory
Dalším Python projektem, který jsem zkoušel, bylo vytvoření jednoduchého skriptu, který mi pomůže organizovat všechny živé show, které si stále stahuji z Internet Archive. Začal jsem potřebou modulu OS a modulu Shutil. Jsou to standardní knihovny pro interakci s operačním systémem a operace se soubory, takže pravděpodobně jsou to první moduly, které si většina lidí hned přidá do Pythonu.
V Termuxu jsem vytvořil soubor s názvem 'organizer.py' a pustil se do práce. Ve skriptu samotném jsem uvedl příkazy pro import OS a Shutil, následoval můj cestu, definoval zdrojové a výstupní umístění. Je to jen řetězec, který říká Shutil, aby se podíval na konec názvu souboru, a pokud končí na .mp3, nástroj jej automaticky přesune do mé složky 'tunes'.
Na konci jsem použil shutil.move(source_path, target_path), aby se vše přesunulo z mé složky stahování do nově vytvořené složky s hudbou. Skript funguje skvěle. Protože mám větší kontrolu nad tím, co se zde děje, je to, jako bych měl osobního správce, který spravuje mé hudební soubory.
Kontroly zásuvek
Jednoduchý skript mi umožňuje vidět, co moje lokální sokety dělají
Pro většinu tohoto projektu jsem se rozhodl udržet rozsah poměrně malý a zaměřit se na praktické věci. Skript, který prověřuje socket, tedy dával plný smysl. Teď se nebudu pouštět do podrobností o socketech a o tom, jak fungují, protože Python napsal velmi pěknou dokumentaci k tomuto tématu. Někdy je prostě potřeba udržet věci jednoduché.
Chtěl jsem mít rychlý způsob, jak zjistit, zda jsou některé mé síťové porty otevřené, konkrétně porty pro mé servery FreshRSS a Jellyfin. Takže jsem použil Pythonův modul socket s connect_ex(), abych zkontroloval, zda jsou porty otevřené.
Ukázalo se, že port pro můj RSS feed a server byl stále uzavřený, takže neposlouchaly provoz. Což je přesně tak, jak mám rád své vlastní hostované věci z bezpečnostních důvodů.
Výchozí režim Pythonova http.server je pouze pro čtení, takže budete muset použít jiné nástroje (například Flask). Pokud chcete získat přístup z jiných zařízení, použijte python -m http.server --bind 0.0.0.0.
Jednoduché sledování systému
Sledování procesů je jednodušší
Pro tento rychlý malý experiment jsem použil Termux API, které jsem už měl nainstalované a hrál si s ním, abych si vyzkoušel různé funkce telefonu z příkazového řádku. Líbila se mi myšlenka mít skript, který mě automaticky upozorní na stav baterie, takže jsem nastavil jeden, který používá příkaz termux-battery-status jako podproces v Pythonu. Používám nastavení Adaptivní baterie a rád pečlivě sleduji nabíjení, vybíjení a používání.
Ve svém skriptovém souboru jsem přesně určil, jak chci, aby byla data vypsána pomocí příkazu print() pro každý parametr, které byly poměrně základní:
- Úroveň baterie
- Stav
- Teplota
Po spuštění skriptu pomocí python status.py jsem obdržel velmi rychlou informaci o baterii. Docela cool. Tento skript se mi líbí, protože mohu zkontrolovat základní informace, aniž bych musel otevírat samostatnou aplikaci. Plánuji brzy nastavit podobné skripty pro jiné diagnostiky.
Android někdy působí jako opevněná pevnost, ale Python a Termux ho činí přístupnějším
Poprvé, když jsem spustil Python v terminálu, nechal jsem ho tisknout texty písní Franka Zappy. Od té doby, co se tento rok učím programovací jazyk, jsem měl skvělou příležitost rozšířit rozsah toho, co dokážu, a těším se, že vyzkouším další skripty, jako je nastavení automatických stahování.
Všechny tyto projekty byly užitečné a zábavné experimenty. Python jen dělá mé domácí laboratorní hobby mnohem zábavnějším a nemohu se dočkat, až uvidím, co všechno budu moci dělat v budoucnu, jak se budu učit více, rozšiřovat své znalosti a vymýšlet další šílený „protože můžu“ projekt, který budu dělat na svém telefonu.










