Auteur: Koen Vervloesem
IP-camera’s kosten niet zoveel meer, maar waarom zou je iets kopen dat je al in huis hebt? Elke laptop bevat tegenwoordig een webcam en met de juiste software maak je die eenvoudig op het netwerk bereikbaar. Dat is exact wat het programma cam2ip van Milan Nikolic doet.
Het programma is geschreven in Go en installeer je met:
go get -u github.com/gen2brain/cam2ip
Dat vereist dat je Go hebt en de afhankelijkheden al hebt geïnstalleerd. Milan biedt ook binary’s aan voor Linux, de Raspberry Pi en Windows, gecompileerd met statisch gelinkte OpenCV- en libjpeg-turbo-bibliotheken. Download de juiste link van de GitHub-pagina, pak het tar.gz-bestand uit en ga naar de uitgepakte directory. Je draait het dan eenvoudig met:
./cam2ip
Met de standaardinstellingen is het beeld van je webcam nu zichtbaar op poort 56000. Probeer dit maar eens uit door in je webbrowser de pagina http://localhost:56000/html te bezoeken. Om het beeld van je webcam nu te gebruiken in software die een IP-camera verwacht, voer je als pad http://IP:56000/mjpeg (voor motion jpeg) of http://IP:56000/jpeg (voor statische beelden) in. Bekijk ook met ./cam2ip –help eens welke opties het programma nog ondersteunt, bijvoorbeeld om de breedte, hoogte en rotatie in te stellen en voor authenticatie.
Link: https://github.com/gen2brain/cam2ip
Op Raspbian bevat het pakket libraspberrypi-bin enkele programma’s die toegang geven tot specifieke functies van de Raspberry Pi. Eén van de minder bekende programma’s is vcgencmd, waarmee je allerlei systeeminformatie opvraagt. Zo vraag je bijvoorbeeld eenvoudig de kerntemperatuur van de systeemchip op:
vcgencmd measure_temp
temp=53.7’C
Of de verdeling van het RAM over de cpu en gpu:
vcgencmd get_mem arm
arm=948M
vcgencmd get_mem gpu
gpu=76M
Als volgt, krijg je alle ondersteunde sub-opdrachten van vcgencmd te zien:
vcgencmd commands
Met het script testssl.sh van Dirk Wetter test je eenvoudig de tls-beveiliging van een willekeurige server. Het script controleert niet alleen de ondersteuning van specifieke ssl/tls-algoritmes en -protocols, maar ook op recente cryptografische zwakheden.
Installeren doe je door de Git-repository te klonen:
git clone –depth 1 https://github.com/drwetter/testssl.sh.git
Ga daarna naar de gedownloade directory en voer het programma met de standaardparameters uit op een server:
cd testssl.sh
./testssl.sh example.com
Je moet even geduld hebben, want de controles van het script zijn heel uitgebreid. In het groen krijg je te zien wat oké is, in het rood wat helemaal niet oké is en in het geel wat je beter even kunt nakijken. Aan het einde krijg je ook te zien welke clients problemen hebben om met je server te verbinden.
De uitvoer van testssl.sh is overzichtelijk, maar heel uitgebreid. Na een controle zal je dus nog heel wat zelf moeten gaan opzoeken. Het voordeel van de kleurencodes is dat je onmiddellijk ziet waarop je je moet focussen om het meeste impact te hebben op de beveiliging van je tls-verbinding. Zoek op wat je moet doen om het probleem op te lossen, pas dit toe en controleer daarna met testssl.sh opnieuw je tls-verbinding om te zien of de beveiliging is verbeterd.
Link: https://testssl.sh/
Net zoals je met top en htop het cpu-verbruik van je processen kunt monitoren, kan je met nvtop je gpu’s monitoren. Alle Nvidia-gpu’s vanaf de GeForce 600 en GeForce 800M zouden ondersteund moeten zijn. Voor de meeste distributies bestaan nog geen pakketten van nvtop. Je dient de code dus nog zelf te compileren. Volg de installatie-instructies op de GitHub-pagina voor de specifieke instructies voor je distributie.
Wie wel eens htop gebruikt, vindt onmiddellijk zijn weg in de interface van nvtop. Bovenaan krijg je algemene statistieken te zien over het verbruik van je gpu’s en daaronder een lijst met processen die je gpu’s verbruiken met hun pid, gebruiker, de gpu, het type gebruik (zoals Graphic of Compute), de hoeveelheid gebruikt geheugen en de opdrachtregel van het proces. Meer informatie over de werking van nvtop krijg je te zien met man nvtop.
Link: https://github.com/Syllo/nvtop
Laptopaccu’s verslijten mettertijd, waardoor ze minder en minder lading kunnen opslaan. Misschien vraag je je af hoe het met de gezondheid van je laptopaccu staat. Gelukkig kun je dat eenvoudig opvragen. In GNOME toont het programma ‘Spanningsstatistieken’ (in het Engels ‘GNOME Power Statistics’) je die informatie.
Klik links op ‘Laptopaccu’ en kijk dan naar de tabel in het tabblad ‘Details’. Je ziet daar bij ‘Energie’ de capaciteit van je accu in zijn huidige ontladingstoestand, zoals 30,2 Wh. ‘Energie wanneer vol’ geeft de capaciteit van de accu wanneer hij helemaal opgeladen is, zoals 49,0 Wh. Als je het eerste getal door het tweede deelt en dan vermenigvuldigt met 100, krijg je de huidige capaciteit als een percentage te zien, in dit geval 61,0%. Ook dit percentage staat bij de statistieken.
Nog interessanter voor de lange termijn is de waarde die staat bij ‘Energie (fabrieksontwerp)’. Dit is de capaciteit die je accu volledig volgeladen had toen hij uit de fabriek kwam. Als je ‘Energie wanneer vol’ deelt door dit getal en dan vermenigvuldigt met 100, krijg je de huidige capaciteit van je batterij te zien als een percentage vergeleken met de fabriekstoestand. Ook dit getal vind je terug in de statistieken, onder de naam ‘Capaciteit’. In ons geval is dat 84,2%. Dat betekent dat onze accu nog 84,2% van de capaciteit in nieuwe toestand heeft. Na jaren van intensief gebruik, kan dit percentage gemakkelijk onder de 50% komen en dan is het wellicht tijd om je batterij te vervangen.
Overigens zijn al deze waardes ook op de commandline op te vragen:
cat /sys/class/power_supply/BAT0/energy_now
30200000
cat /sys/class/power_supply/BAT0/energy_full
49000000
cat /sys/class/power_supply/BAT0/energy_full_design
57020000
De getallen zijn uitgedrukt in µW en dien je dus met een miljoen te vermenigvuldigen voor de waardes in W. De percentages moet je overigens zelf nog berekenen uit deze waardes.
Soms moet je in een shellscript of je eigen software weten op welk specifiek model van de Raspberry Pi het draait. De betrouwbaarste manier om dat te bepalen, is door naar de uitvoer van cat /proc/cpuinfo te kijken en dan vooral de parameter ‘Revision’. Op eLinux.org vind je een tabel met van elk model van de Raspberry Pi de waarde in Revision. Als je revisie overigens begint met 1000, betekent dit dat je Pi overklokt is. Een eenvoudige test van je revisie onafhankelijk van de overklokstatus is dan ook:
awk ‘/^Revision/ {sub(“^1000”, “”, $3); print $3}’ /proc/cpuinfo
https://elinux.org/RPi_HardwareHistory