Toen de Raspberry Pi 4 uitkwam, werd al snel duidelijk dat de nieuwe processor niet alleen veel krachtiger was, maar ook een boel meer warmte produceerde. Een goede warmteafvoer via een heatsink of ventilator is bij de nieuwste Pi dan ook aan te raden.
Bij een kerntemperatuur van meer dan 80 °C verschijnt er rechtsboven op het scherm een rood icoontje van een thermometer. Op 85 °C (de maximaal aanbevolen temperatuur) verandert het icoontje naar een volle thermometer. Op dat moment begint de processor zijn frequentie terug te schakelen om oververhitting te voorkomen. Maar wat als je je Raspberry Pi zonder scherm gebruikt? Ook dan kun je dit soort waarschuwingen krijgen. Gelukkig kun je gewoon de huidige kerntemperatuur opvragen:
vcgencmd measure_temp
Als je nu elke tien seconden de huidige temperatuur wilt zien, voer je de volgende opdracht uit:
watch -n 10 -d vcgencmd measure_temp
Je kunt uiteraard ook periodiek de temperatuur loggen, bijvoorbeeld met crontab. Dat raden we niet elke tien seconden aan, maar je kunt bijvoorbeeld elk uur de temperatuur loggen om een trend te volgen. Voer daarvoor crontab -e uit en voeg daar de volgende regel toe:
@hourly vcgencmd measure_temp|logger
Uiteraard kun je ook op allerlei andere manieren de temperatuur in je eigen logbestanden loggen en dan daaruit grafieken construeren.
Als je een groot scherm hebt, of een ultrawide-scherm met een 21:9-beeldverhouding, dan wordt het soms best lastig om je vensters allemaal op de juiste plaats te zetten. De GNOME-extensie gTile helpt daarbij: hiermee kun je heel eenvoudig je vensters volgens een configureerbaar rooster verplaatsen en van grootte veranderen.
De installatie is eenvoudig: open de pagina van gTile gewoon op de webpagina van GNOME Shell Extensions en schakel ze in. De instellingen open je met het knopje ernaast. Je kunt daar presets van roosters instellen en toetsencombinaties voor allerlei manipulaties van je vensters.
Selecteer bijvoorbeeld een venster dat je wilt verplaatsen. Druk dan op Super+Enter (niet Return, maar de Enter bij je numerieke toetsenbord) om gTile te openen. Kies nu op het rooster de ene hoek en dan de andere hoek van de tegels op het rooster, die je door het venster wilt laten innemen. Daarna neemt het venster die ruimte in. Met de pijltjestoetsen kun je ook een venster op het rooster verplaatsen en met Shift tegelijk ingedrukt het venster vergroten of verkleinen. Dit klinkt misschien niet zo speciaal, maar je moet het ervaren om te ontdekken hoe handig het is.
De mogelijkheden van gTile zijn enorm: lees de uitleg in het instellingenvenster eens. En alles is ook met toetsencombinaties in te stellen, zodat je na een kleine inwerkperiode zeker heel efficiënt met je vensters schuift op je grote scherm.
Met de GNOME-extensie gTile werk je efficiënter met je vensters op een groot scherm.
Soms kom je een PDF-bestand tegen dat aangemaakt is door pagina’s van een document in te scannen en aan elkaar te plakken. Vaak is dat helemaal niet gebeurd met aandacht voor efficiëntie, waardoor je met een groot bestand zit, dat te groot is om te e-mailen of te zwaar om te openen op je e-reader.
Gelukkig kun je daar in veel gevallen nog iets aan doen, dankzij Ghostscript. Ghostscript is het Zwitserse zakmes voor PostScript en PDF. Installeer het eerst (bijvoorbeeld sudo apt install ghostscript onder Debian of Ubuntu). Bekijk dan met file in welke PDF-versie je bestand gemaakt is:
file invoer.pdf
Je krijgt dan bijvoorbeeld invoer.pdf: PDF document, version 1.5 te zien. Daarna kun je de Ghostscript-opdracht starten, die je bestand verkleint. Voor e-book kwaliteit ziet dat er als volgt uit:
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.5 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile=uitvoer.pdf invoer.pdf
Vul de juiste PDF-versie in en kies het juiste in- en uitvoerbestand. Met deze opdracht heb ik een naïef aangemaakte ingescande pdf van 20 MB kunnen verkleinen tot 2 MB. Naast /ebook zijn er nog andere kwaliteitsinstellingen. Je vraagt ze allemaal op met:
gs -q -c ".distillersettings {exch ==only ( ) print ==} forall quit" | cut -d " " -f 1
Als je nu wilt weten wat een exacte instelling precies betekent, kan dat ook:
gs -q -c ".distillersettings /ebook get {exch ==only ( ) print ===} forall quit" | sort
En dan zie je in de uitvoer bijvoorbeeld dat met de instelling /ebook alle kleurenafbeeldingen naar een resolutie van 150 dpi omgezet worden.
De webcam in je laptop is niet altijd van even goede kwaliteit. Soms moet je echter een video opnemen en als je dan geen volwaardige camera in de buurt hebt, kun je dat altijd met je webcam doen. Dat kan uiteraard met ffmpeg, de alleskunner op videogebied, in combinatie met video4linux2 (v4l2). Bekijk eerst welke capture-apparaten v4l2 kent:
v4l2-ctl --list-devices
Voor een ingebouwde webcam krijg je waarschijnlijk /dev/video0 te zien. Controleer daarna aan welke videoformaten en beeldgroottes de webcam ondersteuning biedt:
v4l2-ctl --list-formats-ext
De standaard beeldgrootte staat als eerste vermeld. Je ziet hier ook welke frame-rates bij welke beeldgrootte ondersteund zijn. Je start je opname daarna eenvoudig met:
ffmpeg -i /dev/video0 filmpje.avi
Met Ctrl+C stop je de opname. Zoals je van ffmpeg gewend bent, kun je de werking nog met allerlei opties aanpassen. Zo stel je de resolutie van je opname in met de optie -s 1280×720, en de framerate met -r 15. Met -t 10 stel je in dat de opname slechts 10 seconden duurt en daarna automatisch stopgezet wordt.
Met ffmpeg kun je niet alleen video-opnames via je webcam maken, maar ook foto’s:
ffmpeg -i /dev/video0 -vframes 1 foto.jpg
Dat kan zelfs met de huidige tijd in de bestandsnaam:
ffmpeg -i /dev/video0 -vframes 1 -strftime 1 "foto_%Y-%m-%d_%H-%M-%S.jpg"
En nu heb je al bijna het recept van een time-lapse video. Je hoeft alleen maar de vorige opdracht periodiek uit te voeren en alle gemaakte foto’s aan elkaar te plakken in een video.
Periodiek een foto nemen, kan op allerlei manieren. Het eenvoudigste is gewoon een lus met een sleep-opdracht, zoals onderstaande listing, die elke minuut een foto neemt:
while true; do ffmpeg -i /dev/video0 -vframes 1 -strftime 1 "foto_%Y-%m-%d_%H-%M-%S.jpg"; sleep 60; done
Uiteraard kun je ook in een crontab elke minuut een foto laten nemen. Zodra je een boel foto’s hebt, maak je daar eenvoudig een time-lapse video van. Alle bestandsnamen staan namelijk alfabetisch gesorteerd op tijdstip. Je doet dit met de volgende opdracht:
ffmpeg -r 24 -pattern_type glob -i 'foto_*.jpg' timelapse.mp4
Uiteraard kun je ook hier weer nog allerlei parameters toevoegen. De mogelijkheden van ffmpeg zijn onbegrensd.