O víkendu 11. a 12. května lze navštívit Maker Faire Prague, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.
Byl vydán Fedora Asahi Remix 40, tj. linuxová distribuce pro Apple Silicon vycházející z Fedora Linuxu 40.
Představena byla služba Raspberry Pi Connect usnadňující vzdálený grafický přístup k vašim Raspberry Pi z webového prohlížeče. Odkudkoli. Zdarma. Zatím v beta verzi. Detaily v dokumentaci.
Byla vydána verze R14.1.2 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5). Přehled novinek v poznámkách k vydání, podrobnosti v seznamu změn.
Dnešním dnem lze již také v Česku nakupovat na Google Store (telefony a sluchátka Google Pixel).
Apple představil (keynote) iPad Pro s čipem Apple M4, předělaný iPad Air ve dvou velikostech a nový Apple Pencil Pro.
Richard Biener oznámil vydání verze 14.1 (14.1.0) kolekce kompilátorů pro různé programovací jazyky GCC (GNU Compiler Collection). Jedná se o první stabilní verzi řady 14. Přehled změn, nových vlastností a oprav a aktualizovaná dokumentace na stránkách projektu. Některé zdrojové kódy, které bylo možné přeložit s předchozími verzemi GCC, bude nutné upravit.
Free Software Foundation zveřejnila ocenění Free Software Awards za rok 2023. Vybráni byli Bruno Haible za dlouhodobé příspěvky a správu knihovny Gnulib, nováček Nick Logozzo za front-end Parabolic pro yt-dlp a tým Mission logiciels libres francouzského státu za nasazování svobodného softwaru do praxe.
Před 10 lety Microsoft dokončil akvizici divize mobilních telefonů společnosti Nokia a pod značkou Microsoft Mobile ji zanedlouho pohřbil.
Fedora 40 release party v Praze proběhne v pátek 17. května od 18:30 v prostorách společnosti Etnetera Core na adrese Jankovcova 1037/49, Praha 7. Součástí bude program kratších přednášek o novinkách ve Fedoře.
Minulý týden jsem psal o tom, jak připojit k desce BeagleBone teploměr. Že to jde, jsem ukázal názorně na stránce http://beagle.bravenec.eu (nyní funguje už i přes IPv4).
BeagleBone není zrovna výkonný stroj a i když by to šlo, instalovat kvůli jedné stránce php a apache je jako přiřezávat párátko motorovou pilou. Jak to tedy udělat a jaký webový server zvolit?
Pro podobné jednoduché úlohy lze s úspěchem použít švýcarský nožík miniaturních linuxových distribucí: Busybox. Busybox je použitý jak v roli shellu pro běh potřebných skriptů, tak v roli webového serveru. Pro vyčítání, zpracování a zveřejnění naměřených hodnot si prakticky stoprocentně vystačíme jen s busyboxem.
Vyčítání hodnot funguje jednoduše. Přečte se obsah potřebného souboru a vypreparuje a zformátuje se potřebná hodnota (programem awk) a v šabloně index.html se přepíšou řetězce XXX1 a XXX2 naměřenými hodnotami. Výsledek se uloží na ramdisk. Proč na ramdisk? Zůstaňte naladěni na tento kanál, článek o patáliích s SD kartami a o potřebnosti ramdisku už je napsaný a čeká na zveřejnění. Nejrychleji se o článku dozvíte, pokud začnete sledovat náš Twitter.
#!/bin/busybox sh SED="busybox sed" AWK="busybox awk" SLEEP="busybox sleep" while true do XXX1=$($AWK -F "=" '$0 ~ /t=/ {printf("%1.1f\n",($2)/1000);}' \ < /sys/bus/w1/devices/28-0000027d912e/w1_slave ) XXX2=$($AWK -F "=" '$0 ~ /t=/ {printf("%1.1f\n",($2)/1000);}' \ < /sys/bus/w1/devices/28-00000294d39a/w1_slave ) $SED "s/XXX1/$XXX1/g; s/XXX2/$XXX2/g" \ < /root/teplomer/index.html \ > /dev/shm/teplomer/index.html $SLEEP 15 done
Ve svém BeagleBone mám nainstalovanou distribuci Gentoo - zde mám všechny potřebné utility (sed, awk, grep a sleep) v jejich plnokrevné verzi. Busybox obsahuje funkčnost všech těchto utilit. V menších systémech (routery, čtečky) bývá obvyklé, že busybox zde plní veškeré funkce a nic navíc nainstalováno není - na busybox vedou pouze linky pod názvem požadovaných programů. Abych zavolal utilitu vestavěnou v busyboxu, musím ve svém BeagleBone volat přímo busybox a prvním parametrem musí být název požadované utility. V systémech, kde je nainstalovaný pouze busybox a samostatné utility jako sed, awk a sleep nejsou, můžu volat busybox přímo názvem požadované utility.
Vyčítání hodnot se startuje pomocí jednoduchého init skriptu /etc/init.d/teplomer:
#!/sbin/runscript depend() { use logger } start() { ebegin "Starting teplomer" start-stop-daemon --start --quiet --pidfile /var/run/teplomer.pid \ --background --make-pidfile --exec /root/teplomer/teplomer eend ${?} } stop() { ebegin "Stopping teplomer" start-stop-daemon --stop --quiet --pidfile /var/run/teplomer.pid eend ${?} }
Busybox je natolik univerzální nástroj, že dokáže fungovat i jako jednoduchý webový server pro statický obsah. Nastavení a startování řeší opět jednoduchý init skript /etc/init.d/httpd-teplomer:
#!/sbin/runscript depend() { use logger dns } start() { ebegin "Starting httpd-teplomer" mkdir -p /dev/shm/teplomer start-stop-daemon --start --quiet \ --pidfile /var/run/httpd-teplomer.pid \ --background --make-pidfile \ --exec /bin/busybox -- httpd -f -p 80 -h /dev/shm/teplomer eend ${?} } stop() { ebegin "Stopping httpd-teplomer" start-stop-daemon --stop --quiet \ --pidfile /var/run/httpd-teplomer.pid eend ${?} }
Roli webového serveru zde plní řádek
/bin/busybox --httpd -f -p 80 -h /dev/shm/teplomer
V Gentoo musím ještě říci, aby se skripty startovaly při startu systému:
rc-update add teplomer default rc-update add httpd-teplomer default
A to je vše.
Tiskni Sdílej:
while true ; do nc -l -p 80 -c 'echo -e "HTTP/1.1 200 OK\n\n $(date)"'; done