22/5/2018

Systeem op SD kaart voor Raspberry Pi

Filed under: — cybrarian @ 10:30 pm

De Raspberry Pi heeft geen harde schijf, maar start zijn systeem van een SD-kaart.

Pre-install
De meestgebruikte is NOOBS, van waaruit je dan een systeem vanop de kaart kiest, uitpakt en installeert als besturingssysteem (zie “Noobs voor Raspberry Pi“).

Image –> SD Drive
Maar je kan ook een ander systeem gebruiken op Raspberry Pi, zelfs kanjers als openSUSE.

Meestal stellen ze een image ter beschikking die je kan downloaden:

JeOS image E20 image XFCE image LXQT image KDE image X11 image

Zie deze directory:
http://download.opensuse.org/ports/aarch64/distribution/leap/42.3/appliances/

De vermelde KDE versie lijkt niet meer aanwezig te zijn op de download server, de vroeger bestaande link
http://download.opensuse.org/ports/aarch64/distribution/leap/42.3/appliances/openSUSE-Leap42.3-ARM-KDE-raspberrypi3.aarch64-2017.07.26-Build1.1.raw.xz
werkt niet meer, en KDE heeft misschien eerder een desktop met 4 a 8 GB geheugen nodig om wat normaal te kunnen draaien.

Voor bv een XFCE (lichtgewicht desktop) is er een goeie 628 Mb
openSUSE-Leap42.3-ARM-XFCE-raspberrypi3.aarch64-2017.07.26-Build1.1.raw.xz

Je moet de “image” alleen nog op de SD kaart krijgen, en dan wel in een Pi-startende vorm. Daar zijn wel wat handelingen voor nodig, want de Pi heeft geen gewone pc-processor / start niet als een gewone pc.

Etcher
Een handig hulpmiddel daarbij is Etcher. Dat is de image-maker voor Raspberry Pi images. Het is een apart programma dat je download van https://etcher.io/ (bv “Download for Linux x64”).

  • Download van ongeveer 81 Mb: etcher-electron-1.4.4-linux-x64.zip
  • Uitpakken:
    unzip etcher-electron-1.4.4-linux-x64.zip
    Archive: etcher-electron-1.4.4-linux-x64.zip
    inflating: etcher-electron-1.4.4-x86_64.AppImage
  • Uitgepakt: etcher-electron-1.4.4-x86_64.AppImage

Op de AppImage kan je klikken (en even wachten) om hem te starten. Je volgt de stappen:
– image selecteren uit je bestanden (als je probeert een verkeerd bestand te selecteren, bv een iso voor een installatie-medium, merkt Etcher zelf op dat die geen voor Raspberry startbaar resultaat geeft, en kan je corrigeren).
– de SD kaart die ik ingestoken had werd al vanzelf geselcteerd, maar je kan dus zelf kiezen moesten er meer mogelijkheden zijn
– Flash! is de derde stap; daarbij moet je root rechten gebruiken en wordt het wachtwoord gevraagd.

Starting … 1 % Flashing …
Etcher is een open source project by resin.io

Het percentage wordt doorlopend aangepast, dit duurt ongeveer 10 minuten, daarna gebeurt een controle die zo’n 3 minuten duurt:

8% validating…

.. en eindigt met ‘Flash Complete’ (en wat reklame).
Je ziet nu twee partities op je SD-apparaat: root en efi.

Start de Pi
Steek de SD-kaart in de Raspberry Pi, sluit de stroom aan om te starten.

  • Start niet maar blijft in een kleuren-testscherm hangen. Je hebt waarschijnlijk een nieuwe Pi 3B+. Probeer een recente Raspbian of NOOBS (https://www.raspberrypi.org/downloads/raspbian/)
  • Start met een groen openSUSE scherm, en begint vanalles te doen. Laat hem doen; de boot dingen worden gereorganiseerd en daar kom je best niet tussen! Uiteindelijk zal je een (on)bekend welkom scherm krijgen met een login .. te kiezen uit “other” en zelf in te vullen, en wachtwoord.

Login/wachtwoord?
De eerste keer inloggen met root en wachtwoord linux, je wachtwoord verzetten en eventueel een andere gebruiker maken naast root.
Daarna heb je een systeem met 11.1 GB gebruikt van de 14.7 (als je een 16 GB kaart gebruikt).

Software
Je hebt hier geen softwarekeuze gehad bij installatie, dus je moet zelf wat opkuisen; verwijderen van games en alle software die je niet nodig hebt (Gimp?).
Bij-installeren van bv GambasIDE.
Yast helpt hierbij natuurlijk.

Opmerkingen

  • Op mijn specifieke hardwarecombinatie valt het beeld wat buiten het scherm en is de beeldkwaliteit slecht (ik probeer later met een ander scherm).
  • Het toetsenbord staat in qwerty, er is geen keuze geweest dus je moet dat zelf instellen; opgelet voor wachtwoorden voor/na!
  • Een 16 GB kaartje is misschien wat krap voor een desktop systeem …

Installatie-medium
Een andere manier is eerst een installatie-systeem maken op een USB-stick zoals je een installatie DVD zou hebben:
bv een ong 4 Gb grote
openSUSE-Leap-42.3-DVD-aarch64-Build0200-Media.iso
van download.opensuse.org/ports/aarch64/distribution/leap/42.3/iso/openSUSE-Leap-42.3-DVD-aarch64-Build0200-Media.iso
Dan moet je vanaf deze usb-stick starten op de Pi, en dat lijkt me iets omslachtiger dan de bovenstaande methode, maar heeft waarschijnlijk het voordeel dat je op maat kan installeren zoals op je pc, dat je toetsenbordkeuze krijgt enz.

Bronnen

https://www.suse.com/c/opensuse-raspberry-pi-3-zero-functional-system-easy-steps/
https://en.opensuse.org/HCL:Raspberry_Pi3
https://www.raspberrypi.org/magpi/pi-sd-etcher/

16/5/2018

Raspberry Pi camera module

Filed under: — cybrarian @ 2:15 am

Een camera
Het doosje vermeldt enkel “Camera module für Raspberry”, en bevat een camera bordje en een platte kabel. De aansluiting van de kabel durft al eens slecht contact geven, met fouten als gevolg als:

mmal: mmal_vc_component_create: failed to create component ‘vc.ril.camera’ (1:ENOMEM)
mmal: mmal_component_create_core: could not create component ‘vc.ril.camera’ (1)
mmal: Failed to create camera component
mmal: main: Failed to create camera component

Beschikbaar maken
Camera aktiveren in de Raspberry Pi settings.
sudo raspi-config
Bewaren. Bij de volgende start van de Pi worden deze gelezen en wordt de camera bruikbaar. Indien langer niet meer nodig terug de-activeren om stroom te sparen.

Vanuit Python aanspreken

from picamera import PiCamera
camera = PiCamera()
imagenaam = "CameraBeeld1.jpg"
camera.capture(imagenaam)

Fototoestel

Bouw een knop en verbindt met de gpio pinnen.
Als de knop ingedrukt wordt, de foto maken.

Deze code kan handig zijn voor een preview als je een scherm aangesloten hebt:
camera.start_preview()
camera.stop_preview()

Automatische camera
Bouw een loop in in het programma:

while imageno < 10:
  sleep(5)
  imagename = 'cameraShot{0:04d}.jpg'.format(imageno)
  camera.capture(imagename)
  imageno += 1

Stop motion filmpje

Van achtereenvolgende foto's kan je een filmpje maken door ze aan elkaar te plakken.

Software nodig:
sudo apt-get install libav-tools

Beelden omzetten:
avconv -r 10 -i image%04d.jpg -r 10 -vcodec libx264 -crf 20 -g 15 timelapse.mp4
Waarbij:
-r 10 : tien beelden per seconde in input en output
-i image%04.jpg : vorm van de invoerbestanden, hier met 4 tekens voor volgnummer, kan ook bv 02 of zo zijn.
-vcodec libx264 gebruikt de x264 encoder software.
-vf scale=1280:720 : beeldgrootte aanpassen naar 720p. Kan ook bv 1920:1080, of lagere resoluties, zoals je wil. De Pi kan maar video afspelen tot 1080 p, maar als je op een ander apparaat wil spelen aan bv 4K, kun je dat ook instellen.
timelapse.mp4 : naam van het resultaat
Meer: https://www.raspberrypi.org/documentation/usage/camera/raspicam/timelapse.md

Desktop
Of de beelden afhalen en op je desktop verder verwerken.
Op bv OpenSUSE:

curlew

Raspberry Pi via netwerk

Filed under: — cybrarian @ 1:55 am

Je wil je Raspberry Pi aanspreken via het netwerk. Daarvoor moet je weten welk IP adres hij heeft. Normaal gaat hij bij netwerkverbinding een IP adres vragen van een DHCP server op het netwerk waarop hij aangesloten is (meestal doet de router die functie). Kan je op voorhand er voor zorgen dat hij een vast IP adres gebruikt?

Volgens www.modmypi.com kan je het ip adres zelf in een bestand op de sd kaart schrijven.

/etc/dhcpcd.conf

Verander de voorbeeldcode naar het ip adres dat je zelf wil gebruiken (bv 192.168.1.15), en pas ook de gateway/router en dns servers aan.
Zet ook ssh aan als het nog niet zo zou zijn.
Herstart de Pi.

Nu kan je verbinden met ssh pi@192.168.1.15
Je kan het systeem updaten, software bij-installeren, python scripts starten, enz.

Ook handig als je onder KDE werkt: open betandsbeheer en tik in de locatiebalk:
fish://pi@192.168.1.15

Je kan dan bv bestanden overzetten, python scripts wijzigen vanuit Kate of KEdit, beelden bekijken, enz.

NOOBS245

De (soms) bijgeleverde SD-kaart met “NOOBS” bevat verschillende samengepakte systemen (images), waarvan je er één kan installeren. LibreElec is voor een multimedia apparaat, raspbian is een algemene Linux desktop. Je kan hier geen bestand op de kaart wijzigen omdat het nog geen geïnstalleerd systeem is. Dus ofwel moet je toch een toetsenbord, muis en scherm aan de Pi hangen, en Raspbian ervan installeren, ofwel moet je elders een image downloaden en op de kaart installeren, weer je dan daarna de Pi mee kan starten.

15/5/2018

NOOBS voor Raspberry Pi

Filed under: — cybrarian @ 9:56 am

Noobs

Noobs is een compilatie van mogelijke systemen voor de Raspberry Pi. Die worden samengeperst op een SD kaart gezet en voorzien van een installatieprogramma om de eerste keer van te starten.

Noobs is het beginnerssysteem dat soms bij een raspberry pi geleverd wordt, of dat je zelf kan downloaden (https://www.raspberrypi.org/downloads/noobs/). Er bestaat ook een “light” versie waarbij je de software na opstarten van internet haalt. Bijna alle systemen voor Raspberry Pi zijn gebaseerd op Linux.

Het zelfstartend systeem laat je beslissen welke software je wil gaan draaien vanaf de kaart. Er is keuze uit een volledige en een minimale Raspbian, en systemen voor multimedia en beeldschermmuren enz. Het gekozen systeem wordt dan uitgepakt, de andere systemen worden gewist. Je kan ook meer dan 1 systeem selecteren. Voor een server neem je de minimale Raspbian, voor desktop de gewone.

Raspbian
De installatie van Raspbian heeft meer dan 4 Gb ruimte nodig, dus heb je minstens een 8 GB kaartje nodig, liever 16 Gb (waarschijnlijk wil je ook gegevens bewaren die je verzamelt of verwerkt).

Het installatiescherm toont informatie en zegt dat het installeren “een paar minuutjes” kan duren. Versta: voor een Raspberry Pi 3 Model B v1.2 met gewone 16 Gb geheugen SD kaart met NOOBS duurt het eerder 20 a 25 minuten.

Pixel
Na het installeren krijg je een melding, als je die wegklikt start de Pi op van de kaart, en krijg je een desktop te zien met icoontjes.
De bestandsbeheerder geeft aan: 7.9 Gb vrije ruimte, totaal 12.7 Gb.
Voor recovery mode kan je de shift toets indrukken bij het starten.
Verander eerst het wachtwoord (eventueel ook de gebruikersnaam), check voordien wat de toetsenbordinstelling is.

Instellingen
– toetsenbord
– netwerk: vast ip adres ipv DHCP?
– ssh aktiveren

In het programma Raspberry Pi Configuration kan je bv SSH aanzetten, camera activeren, enz. Blijkbaar moet je wel de Pi herstarten, want de configuration wijzigt eigenlijk bootscripts.
In de terminal:
sudo raspi-config

In de terminal met ifconfig kan je zien welk het huidig ip adres is.

13/5/2018

OpenSUSE Leap 15 uitproberen

Filed under: — cybrarian @ 3:49 pm

Het is al enige tijd bekend dat de nieuwe versie van OpenSUSE terug een ander soort nummer zal krijgen, dat eerder aansloot bij de vroegere 6.4, 7.2, 8.0, 9.3, 10.0, 11.3, 12.0, 13.2 – hier hield het op en kwamen even de Leap 42.x versies opduiken – om nu dus te eindigen met “Leap 15.0”.

Helaas is die nog niet te vinden op de gewone downloadsite, omdat de huidige versie 42.3 daar als meest recente staat.
Sommige beschrijvingen van een softwarecombinatie (bv over docker/containers) gebruikt wel al 15, waarschijnlijk omdat ze zelf ergens aan ontwikkelen, en de beta gebruiken.

Die vind je dan hier:
https://software.opensuse.org/distributions/testing

Als je maar 1 x installeert, kan je de netwerk installatie afhalen, past op een kleinere usb-stick (met dd overbrengen levert zelfstartende usb-boot+install op)

Sluit na de download een usb-stick aan en check welke device-letters hij krijgt:

fdisk -l

Schijf /dev/sda: 74,5 GiB, 80000000000 bytes, 156250000 sectoren
Eenheid: sectoren van 1 * 512 = 512 bytes
Sectorgrootte (logisch/fysiek): 512 bytes / 512 bytes
In-/uitvoergrootte (minimaal/optimaal): 512 bytes / 512 bytes
Schijflabeltype: dos
Schijf-ID: 0xa42d04a3

Apparaat Op. Begin Einde Sectoren Grootte ID Type
/dev/sda1 * 2048 819199 817152 399M 83 Linux
/dev/sda2 819200 156248063 155428864 74,1G 8e Linux LVM

Schijf /dev/mapper/cr_ata-WDC_WD800JD-75MSA3_WD-WMAM9DDE4336-part2: 74,1 GiB, 79577481216 bytes, 155424768 sectoren
Eenheid: sectoren van 1 * 512 = 512 bytes
Sectorgrootte (logisch/fysiek): 512 bytes / 512 bytes
In-/uitvoergrootte (minimaal/optimaal): 512 bytes / 512 bytes

Dat was ‘m niet, sda is de huidige harde schijf, maar wel:


Schijf /dev/sdb: 3,8 GiB, 4009754624 bytes, 7831552 sectoren
Eenheid: sectoren van 1 * 512 = 512 bytes
Sectorgrootte (logisch/fysiek): 512 bytes / 512 bytes
In-/uitvoergrootte (minimaal/optimaal): 512 bytes / 512 bytes
Schijflabeltype: dos
Schijf-ID: 0x7bf3a73b

Apparaat Op. Begin Einde Sectoren Grootte ID Type
/dev/sdb1 * 0 3205119 3205120 1,5G 0 leeg
/dev/sdb2 164 1143 980 490K ef EFI (FAT-12/16/32)

Dan de “image” overbrengen naar de usb-stick:

linux-a:/home/copyleft/Downloads/ISO # dd bs=4M if=openSUSE-Leap-15.0-NET-x86_64-Build247.1-Media.iso of=/dev/sdb

dd: openen van ‘/dev/sdb’ is mislukt: Geen medium gevonden

linux-a:/home/copyleft/Downloads/ISO # dd bs=4M if=openSUSE-Leap-15.0-NET-x86_64-Build247.1-Media.iso of=/dev/sdb

29+1 records gelezen
29+1 records geschreven
123731968 bytes (124 MB, 118 MiB) copied, 12,8181 s, 9,7 MB/s

Installatie
Vanaf dan is het een gewone openSUSE installatie. Dat verloopt allemaal vlot en daarna kan je inloggen (nieuwe achtergrond – “openSUSE default by openSUSE Artwork Team” die ook terugkomt in de desktop na login).

Installatie-log:

(meer…)

10/5/2018

Raspberry Pi vanop Linux

Filed under: — cybrarian @ 11:20 pm

Je volgt een cursus over Raspberry Pi, maar helaas wordt die gegeven op Windows computers. Daar doen ze allerlei dingen (pytty, ..) die je eigenlijk helemaal niet wil leren omdat je er zeker van bent dat er een veel eenvoudigere manier moet zijn om te verbinden vanaf een Linux desktop naar een Linux Raspberry Pi.

Situatie
Enkele mogelijkheden:

  • 1. Je krijgt een “nieuwe” Raspberry Pi 3B+ (zonder OS).
  • 2. Je krijgt een “nieuwe” Raspberry Pi 3B met standaard Raspbian
  • 3. Je krijgt een raspberry Pi die voorbereid is op een bepaald ip-adres (bv tijdens een cursus).
  • 4. Je hebt een bestaande Raspberry Pi maar je weet niet hoe die ingesteld is

Handboek
Volgens de officiele documentatie:
– kijk op je modem/gateway/router welke ip-adressen toegekend zijn, en probeer uit te zoeken welke van de Raspberry Pi zou kunnen zijn (bestaande apparaten kan je afzetten of kijken welk ip adres ze hebben).
– probeer in te loggen op het vermoedelijke ip adres met ssh en gebruiker pi (standaard wachtwoord raspberry): ssh pi@192.168.1.5
– start eventueel een grafisch voorbereide sessie met ssh -Y pi@192.168.1.5; je kan dan een applicatie starten die grafisch bruikbaar wordt, zoals de python editor:
idle3 &
– hang desnoods een toetsenbord en scherm aan je Raspberry Pi.
Het huidige ip adres en mac adres (“ether”) kan je zien met:
ifconfig
De configuratie v h netwerk staat in /etc/dhcpcd.conf, er staat een voorbeeld in voor static ip.

SSH

Hier een (Engelstalige) gids om een login te voorzien die zonder wachtwoordingave werkt, maar met sleutels: https://www.raspberrypi.org/documentation/remote-access/ssh/passwordless.md

Het komt erop neer dat je SSH keys gebruikt; check eerst of je er al hebt, die kan je gebruiken: er bestaat dan een aantal bestanden als

id_rsa.pub
id_dsa.pub

in de verborgen ssh directory.
ls ~/.ssh

Geen keys? Je wil nieuwe?
Maak er aan met:
ssh-keygen

Als je gewoon bevestigt komen je keys in /home/pi/.ssh/id_rsa

Je kan nog een extra “wachtwoordzin” gebruiken (passphrase); zoniet sla deze stap over (leeg laten).

Keys
id_rsa is je private key; die houd je voor jezelf.
id_rsa.pub is je publieke key; die kan iemand anders gebruiken om je een versleuteld bestand te sturen.

Je moet dus je publieke key bezorgen aan de overkant.

Dat kan door kopieren: scp

Op de Raspberry Pi moeten je “pub” keys toegevoegd worden aan authorized_keys file.

Als daar nog geen .ssh directory is dan maak je die met:

cd ~
install -d -m 700 ~/.ssh

Voeg je keys toe:
ssh-copy-id userlogin@192.168.1.x

Geen ssh-copy-id?

cat ~/.ssh/id_rsa.pub | ssh userlogin@192.168.1.5 'cat >> .ssh/authorized_keys'

Verbinden met ssh keys
Als alles in orde is verbind je met:
ssh gebruikerslogin@192.168.1.5

ps: Ik heb ergens genoteerd:
SSH moet enabled worden door een lege file ssh te zetten in de map /boot/.

6/5/2018

OCR (gebruiken)

Filed under: — cybrarian @ 8:57 pm

Uitdaging: een beeld opnemen (foto) met een aangesloten camera, en de tekst die erop voorkomt beschikbaar krijgen voor een ander programma.

Bestaat er OCR software voor Linux? Blijkbaar wel:
https://unix.stackexchange.com/questions/377359/how-to-use-ocr-from-the-command-line-in-linux

install tesseract-ocr

and can be used with

tesseract input.png out.txt

Tesseract
In de openSUSE softwarebeheerder is – naast gocr en ocrad – tesseract prominent aanwezig met paketten als:

tesseract-ocr
tesseract-ocr-devel
tesseract-ocr-traneddata-dutch
tesseract-ocr-traneddata-english
tesseract-ocr-traneddata-french
tesseract-ocr-traneddata-german
tesseract-ocr-traneddata-…
(tientallen talen)
libtesseract3

(met als vendor openSUSE)

Installatie
Bij installatie van tesseract-ocr wordt mee geselecteerd:

libtesseract3
liblept4
tesseract-ocr-traneddata-english

Met Frans, Nederlands en Duits erbij wordt er 26 Mb gedownload en 109 Mb geïnstalleerd.

Test

Ik maak twee screenshots van een gebied op het scherm (van een website); één zwarte achtergrond met witte tekst, één met witte achtergrond en zwarte tekst.

tesseract WitOpZwart.png WitOpZwart.txt

maakt een bestand WitOpZwart.txt.txt

(dus blijkbaar zet hij er zelf nog eens de extentie txt achter)

Dat gedrag klopt niet met bovenstaand citaat uit een website, maar wel met de beschrijving van gebruik van tesseract zelf:

tesseract beeldbestandsnaam uitvoerbasis

beeldbestandsnaam is dan WitOpZwart.png
en uitvoerbasis is WitOpZwart want de .txt zet tesseract zelf.

Dit png bestand is maar 5 k groot, en de omzetting gebeurt zowat onmiddellijk.

Een zwaardere test: een scan van een t-shirt met daarop een tekst:

GeelOpDonkergroen, 600 dpi, 5100 x 7000 pixels, 64 Mb

GeelWitOpZwart, 600 dpi, (ongeveer hetzelfde)

Hier duurt het een beetje langer maar is het resultaat onbruikbaar.
Het bestand verkleinen en rechtzetten helpt een beetje, ik begrijp de tekens omdat ze in de buurt komen van het beeld, maar ze leveren niets bruikbaars op als tekst.

Op een beeld waarbij een streep loopt die onderbroken wordt door tekst is tesseract zo lang bezig dat ik het programma onderbreek.

Ope een heel erg verkleinde versie van de scan zegt tesseract dat het blad leeg is.

Nog
(nog) niet geprobeerd: foto ipv scan of screenshot.
(nog) niet geprobeerd: parameters meegeven over bv orientatie, taal enz.

Resultaat
Het beste resultaat wordt dus behaald met een zwart op witte achtergrond mooi recht uitgesneden screenshot. Alles wat minder perfect is geeft problemen.

3/5/2018

Upgrade OpenSUSE 42.2 naar 42.3

Filed under: — cybrarian @ 10:30 am

Het is gedaan met 42.3, dus al je toestellen upgraden

Een beschrijving van deze “kleine online upgrade”:
https://forums.opensuse.org/content.php/202-Quick-Upgrade-from-Leap-42-2-to-Leap-42-3

Kort samengevat:

In het beheerprogramma Yast2 de repositories veranderen van 42.2 naar 42.3:
– yast, software, software repositories
– edit elke lijn waarin 42.2 staat en maak zowel in de titel als in de URL er 42.3 van.
– andere repo’s even afzetten, nadien terug aan als update ok is.

Dan op de commandolijn (ik heb alle grafische consoles uitgelogd):
zypper dup
Je moet soms bevestigen, en er rolt een hoop Retrieving.. over je scherm.

3058 paketten worden gedownload en geïnstalleerd.

Een half uurtje later na een herstart draait het nieuwe systeem.

Je kan nog de software updates uitvoeren.

Nawoord
Wat opvalt: geluid staat “negatief” (rood min-teken).
System Settings, Audio Volume: “No output devices available”

Yast, configure soundcard; 82801I (ICH9 Family) HD Audio Controller
will be configured as the first sound card(snd-card-0)
(Quick automatic setup)

Daarna testen:
System Settings, Hardware, Multimedia
Audio and video, Audio Playback, music: PulsAudio Sound Server; Test knop onderaan.

Powered by WordPress