10/7/2018

Raspbian voor Raspberry Pi

Filed under: — cybrarian @ 1:43 pm

Systeemsoftware afhalen (image).
Als startend systeem op sd kaar zetten

Download
De laatste versie van Raspbian kan je hier afhalen:

Raspbian

Uitpakken
In je bestandbeheerder of op de commandolijn.

Schrijven
Op Linux kan je met dd de uitgepakte image naar de sd kaart schrijven, open een terminal.
Wees voorzichtig met het exact opgeven van de doel-drive waarnaar je schrijft, je kan per vergissing je eigen systeemschijf opgeven als doel!
Check voor je de kaart in de sd drive steekt:

~> lsblk

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 489,1G 0 disk
├─sda1 8:1 0 399M 0 part /boot
└─sda2 8:2 0 488,7G 0 part
└─cr_ata-Crucial_CT525MX300SSD1_1730181A3D36-part2 254:0 0 488,7G 0 crypt
├─system-swap 254:1 0 2G 0 lvm [SWAP]
├─system-root 254:2 0 40G 0 lvm /var/opt
└─system-home 254:3 0 100G 0 lvm /home
sr0 11:0 1 1024M 0 rom

Steek de kaart in de sd drive en check opnieuw:

~> lsblk

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 489,1G 0 disk
├─sda1 8:1 0 399M 0 part /boot
└─sda2 8:2 0 488,7G 0 part
└─cr_ata-Crucial_CT525MX300SSD1_1730181A3D36-part2 254:0 0 488,7G 0 crypt
├─system-swap 254:1 0 2G 0 lvm [SWAP]
├─system-root 254:2 0 40G 0 lvm /var/opt
└─system-home 254:3 0 100G 0 lvm /home
sr0 11:0 1 1024M 0 rom
mmcblk0 179:0 0 14,5G 0 disk
├─mmcblk0p1 179:1 0 1,1G 0 part
├─mmcblk0p2 179:2 0 1K 0 part
├─mmcblk0p5 179:5 0 32M 0 part
├─mmcblk0p6 179:6 0 66M 0 part
└─mmcblk0p7 179:7 0 12,8G 0 part

In dit geval is mmcblk0 dus het doel.

Commando: (gebruik de naam van je image)

sudo dd bs=4M if=2018-06-27-raspbian-stretch.img of=/dev/mmcblk0 conv=fsync

Na een tiental minuutjes:
(je kan de diskmonitor op je desktop in het oog houden om te weten wanneer de operatie gedaan is)

sudo dd bs=4M if=2018-06-27-raspbian-stretch.img of=/dev/mmcblk0 conv=fsync
1150+0 records gelezen
1150+0 records geschreven
4823449600 bytes (4,8 GB, 4,5 GiB) copied, 1113,16 s, 4,3 MB/s

Als je de Raspberry Pi start komt er een melding van het aanpassen van iets van het systeem, als ik het goed begrepen heb is dat het gebruiken van de hele SD kaart.

Daarna krijg ik een welkom scherm maar ik beland wel op de commandolijn.
Ik tik startx om een grafische sessie te starten, en dan komt er weer een welkom

Before you start using it, there are a few things to set up.
Press Next to get started.

Country: Belgium
(Language en Timezone staan goed)

Daarna herstart de Pi en komt wel in het grafisch systeem op.

In het menu kan je configureren:

Systeem:
– Hostname : …
– opstarten naar buroblad of CLI (commandolijn)
– Autologin als gebruiker Pi
– …

Interfaces:
– Camera aan
– ssh aan.
– … aan/af

De hostname staat in /etc/hostname
Het ip address in /etc/dhcpcd.conf

bv: haal # weg aan begin van de lijn om te aktiveren, en pas aan je eigen adressen aan:

interface eth0
static ip_address=192.168.1.10/24

reboot
ifconfig

9/7/2018

Raspbian upgraden

Filed under: — cybrarian @ 1:16 pm

Van 8 (Jessie) naar 9 (Stretch)?

Raspberry Pi wordt standaard uitgeleverd met Raspbian (in noobs). De versie van een Raspberry Pi Model B zou kunnen zijn:

cat /etc/issue

Raspbian GNU/Linux 8

uname -a

Linux ras001 4.9.35-v7+ #1014 SMP

eenzelfde bord, later geinstalleerd:

Raspbian GNU/Linux 9
(4.14.34-v7+ #1110 SMP)

Hoe krijg je nu de eerste op het niveau van de te tweede?

1. Een nieuw systeem afhalen (heb je waarschijnlijk van die 2e) en installeren
https://www.raspberrypi.org/downloads/
2. De eerste upgraden.

Voor beide mogelijkheden geldt natuurlijk: maak eerst een backup.

Upgrade van 8
Volgens de handleiding op raspberrypi.org:

sudo apt-get update

sudo apt-get dist-upgrade

Zo’n upgrade kan wel wat extra ruimte in beslag nemen, en niet elke SD kaart is daar groot genoeg voor.

Een SD kaart van 16 Gb zou er geen probleem mee mogen hebben, die begon met 38% vol en liep tot 41% tijdens/na de installatie.


Starten in het nieuwe systeem

Na installatie herstart (commando “reboot“) geeft het upgedate systeem een melding op de desktop, in een venster met titel “Information”:

Your Raspbian system has been upgraded to the latest version.

To ensure compatibility with the new version, some configuration files have been overwritten-if you had customised your system, some of the changes may have been lost.

Your original configuration files have been backed up and put in the directory /home/pi/oldconfigfiles.

Ik draai nog sudo apt-get autoremove, wat 94 Mb zou vrijmaken.

Niet tot 9?
De desktop is terug de standaard Pixel desktopachtergrond.
Wat niet veranderd is:
– iconen en links op de desktop
– hostname
– het ip-adres
– eigenaardig genoeg is ook /etc/issue en /etc/debian_version blijven staan op 8
– ook de kernel is hetzelfde gebleven?

Met deze stappen doe je dus geen update van 8 naar 9!

Van Jessie naar Stretch

Om van versie jessie naar stretch te gaan is meer nodig, en het is ook niet gegarandeerd dat het lukt.**

Daarvoor moet je twee configuratiebestanden van de updater aanpassen (met root rechten), ik gebruikte daarvoor mcedit omdat ik die geïnstalleerd heb staan.

In het bestand /etc/apt/sources.list vervang je jessie door strech:

deb http://mirrordirector.raspbian.org/raspbian/ stretch main contrib non-free rpi
#deb http://mirrordirector.raspbian.org/raspbian/ jessie main contrib non-free rpi

In het bestand /etc/apt/sources.list.d/raspi.list vervang je ook jessie door stretch:

deb http://archive.raspberrypi.org/debian/ stretch main ui
#deb http://archive.raspberrypi.org/debian/ jessie main ui

Daarna weer:
sudo apt-get update
sudo apt-get -y dist-upgrade

Het eerste gaat snel, het tweede duurt wel even (11:00-..)
De -y antwoordt automatisch “y” op licentievragen en zo.

Je komt wel in een aantal schermen met allerlei informatie over gevolgen van wijzigingen ivm cron jobs, ssh verbindingen enz.
Tik q om er uit te geraken, of maak een keuze waar gevraagd (meer details zie log onderaan).

Om plaast vrij te maken ongebruikte audio eruit met:

sudo apt-get -y purge "pulseaudio*"

reboot

** ps: bij mij is het trouwens niet gelukt, zie log onderaan.

Nog een (Engelstalige) uitleg over de upgrade ivm toepassingen als de database:
https://linuxconfig.org/how-to-upgrade-debian-8-jessie-to-debian-9-stretch

(meer…)

25/6/2018

Raspberry Pi toepassing: Afsluiten met icoon op desktop

Filed under: — cybrarian @ 3:38 pm

Op de desktop een link maken om de Raspberry Pi af te sluiten.
(Dit is bv bedoeld voor een toestel dat een bepaalde functie heeft, en waar de gebruikers geneigd zouden kunnen zijn de “stekker uit te trekken”. De Pi kan daar niet zo goed tegen, en vooral de SD kaart met het systeem niet).

Shell script
Eerst maak je een shell script dat de Raspberry Pi afsluit als je het uitvoert; het bevat hetzelfde commando dat we geven op de commandolijn:

sudo shutdown -h now

Bewaar het met de naam Shutdown.sh
Maak het uitvoerbaar met

chmod +x Shutdown.sh

Desktop
Dan de link op de desktop. Ik heb in Raspbian geen manier gevonden zoals in KDE om met rechtsklik een nieuwe link te maken, maar manueel komt het erop neer dat je een tekstbestand maakt (zonder extentie mag) dat je op de desktop zet:

touch Afsluiten

Dan zet je volgende tekst erin:

[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=Uitschakelen
Comment=Veilig-Uitschakelen
Icon=/usr/share/icons/Adwaita/64x64/actions/system-shutdown-symbolic.symbolic.png
Exec=/home/pi/bin/Shutdown.sh
Terminal=false
Categories=None;

Als je nu op dat uitschakelsymbool klikt, sluit de Raspberry Pi af.

Raspberry Pi te licht beeld op scherm

Filed under: — cybrarian @ 1:14 pm

Het scherm geeft te veel licht af en daardoor zijn fijne lijnen niet zichtbaar, scherm ziet er in het geheel overbelicht uit.

Is niet op elk scherm even erg, deze omstandigheden: Pi HDMI naar VGA kabel (oude VGA-aansluiting dell 17″ monitor).

Een gelijkaardig fenomeen wordt gemeld op een Pi forum:
HDMI washed out / too bright

En als je verderleest en de links volgt, kom je tot een mogelijke oplossing. Blijkbaar zijn er instellingen mogelijk in een bestand
/boot/config.txt volgens de documentatie
config.txt, die verhuisd is naar hier:
https://www.raspberrypi.org/documentation/configuration/config-txt/README.md.

Een forumgebruiker vermeldt het toevoegen van:
hdmi_pixel_encoding=2

Er zijn heel wat waarden om mee te spelen, alles hangt af van je scherm natuurlijk.

Ik gebruik uiteindelijk toch de instellingen zoals ik ze voorheen had, en probeer in mijn programma’s de achtergrond donkerder te maken.

18/6/2018

Datum en tijd voor Raspberry Pi

Filed under: — cybrarian @ 10:11 am

De Raspberry Pi heeft GEEN real-time clock. Dat betekent dat hij bij het opstarten geen idee heeft van datum of tijd.

  • Je kan de datum/tijd zelf instellen na opstarten
  • Als er een (internet) netwerkverbinding is kan hij van een “timeserver” die gegevens ophalen.
  • Je maakt applicaties waarbij de datum/tijd geen rol speelt.

Database
Als je niet aan internet of een interne timeserver kan, maar wel aan een database:

mysql>
SELECT NOW()
Number of Records: 1
2018-06-18 09:15:58

Dus als je een datum-tijd wil voor gebruik als sorteerwaarde:

SELECT DATE_FORMAT(NOW(), "%Y%m%d-%H%i" AS mijndatumtijd)

Dan krijg je als antwoord in mijndatumtijd bv:

20180617-1300

17/6/2018

Raspberry Pi camerabeeld uploaden

Filed under: — cybrarian @ 11:04 pm

Een uitleg die alles combineert wat je nodig hebt:

https://www.newth.net/mars/how-to-set-up-a-raspberry-pi-zero-to-upload-images-to-a-server-via-ftp/

samengevat:

  • Foto maken:
    raspistill -o /home/pi/mijnfoto.jpg
    of
    raspistill -o /home/pi/mijnfoto.jpg --annotate 12
    de annotate voegt datum/tijd informatie toe aan bestandsnaam *(1)
  • Met ftp naar een server sturen:
    curl -T /home/pi/mijnfoto.jpg ftp://ftp-host-machine//yourwebsite/folder/mijnfoto.jpg --user yourftpusername:yourpasswd
  • (aanpassen om naam met datum te ftp’en)

* 1) Meer over annotate: rapsberrypi.org forum

29/5/2018

Voeding voor Raspberry Pi

Filed under: — cybrarian @ 8:47 pm

Micro-USB
Voeding voor de Raspberry Pi komt normaal via de micro-usb aansluiting. Een typische laadkabel voor smartphones en andere gadgets kan daarvoor gebruikt worden, mits het vermogen groot genoeg is.

Voeding
Voor inbouw wil je een inbouwvouding of railmodel gebruiken.
Daar heb je enkel een draadaansluiting, zowel in als uit.

In:
L: Line, of fasedraad (bruin)
N: Neutraal of nuldraad (blauw)

Uit: 5V
+

Voeding naar Micro-usb
als je de + en – 5V uitgang van een voeding wil leiden naar de micro-usb ingang, moet je volgende kleuren van de usb-kabel aansluiten:

rood = +5 V (usb pin 1)
zwart = – GND (usb pin 4)

ps:
groen = data+ (usb pin 3)
wit = data- (usb pin 2)

Ik heb gemerkt dat met een 5-Volt voeding met fijnregeling ik een melding van zwakke voeding kreeg op Raspberry Pi (bliksem-icoon rechtsboven in beeld), tot ik het voltage bijregelde tot ongeveer 5,.6 Volt.

GPIO
Het is ook mogelijk rechstreeks voeding te geven op bepaalde pinnen: (bv Pi2 GPIO 2 en 6). Dan heb je niet het beschermcircuit van de USB aansluiting.

(meer achtergrond op deze Stackexchange

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.

commandolijn
Voor foto’s is er raspistill:
raspistill --help

Voorbeeld: een foto nemen en rechtzetten alvorens te bewaren
(f= flip, v=vertikaal, h=horizontaal, o=output):

raspistill -vf -hf -o foto.jpg

Voor video is er raspivid:
raspivid --help

Voorbeeld: 10 seconden opname:

raspivid -o filmpje.h264 -t 1000

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

Je kan ook een eigen GUI/Desktop programma schrijven in Gambas en van daaruit de bediening en/of instellingen doen op een preview, zodat je reeks juist is (vgl "PiCam" voorbeeld).

Grootte: als je lage resolutie beelden (800x800) maakt van zo'n 300 KB groot, en 1 foto per minuut maakt, kom je bv na een uur op 17.8 MB voor de 60 beelden.
Laat ons zeggen 100 MB voor 5 uur, of beetje naar boven afgerond 0,5 Gb per dag.

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

Systeem voor Pi

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.

Op Linux kan je met dd de uitgepakte image naar de sd kaart schrijven.
Wees voorzichtig met het exact opgeven van de doel-drive waarnaar je schrijft, je kan per vergissing je eigen systeemschijf opgeven als doel!
Check voor je de kaart in de sd drive steekt:

~> lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 489,1G 0 disk
├─sda1 8:1 0 399M 0 part /boot
└─sda2 8:2 0 488,7G 0 part
└─cr_ata-Crucial_CT525MX300SSD1_1730181A3D36-part2 254:0 0 488,7G 0 crypt
├─system-swap 254:1 0 2G 0 lvm [SWAP]
├─system-root 254:2 0 40G 0 lvm /var/opt
└─system-home 254:3 0 100G 0 lvm /home
sr0 11:0 1 1024M 0 rom

Steek de kaart in de sd drive en check opnieuw:

~> lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 489,1G 0 disk
├─sda1 8:1 0 399M 0 part /boot
└─sda2 8:2 0 488,7G 0 part
└─cr_ata-Crucial_CT525MX300SSD1_1730181A3D36-part2 254:0 0 488,7G 0 crypt
├─system-swap 254:1 0 2G 0 lvm [SWAP]
├─system-root 254:2 0 40G 0 lvm /var/opt
└─system-home 254:3 0 100G 0 lvm /home
sr0 11:0 1 1024M 0 rom
mmcblk0 179:0 0 14,5G 0 disk
├─mmcblk0p1 179:1 0 1,1G 0 part
├─mmcblk0p2 179:2 0 1K 0 part
├─mmcblk0p5 179:5 0 32M 0 part
├─mmcblk0p6 179:6 0 66M 0 part
└─mmcblk0p7 179:7 0 12,8G 0 part

In dit geval is mmcblk0 dus het doel. Commando: (gebruik de naam van je image)

sudo dd bs=4M if=2018-06-27-raspbian-stretch.img of=/dev/mmcblk0 conv=fsync

(ps. dit is het commando om niet noobs, maar wel een raspbian image te schrijven, dat kan ook.)

sudo dd bs=4M if=2018-06-27-raspbian-stretch.img of=/dev/mmcblk0 conv=fsync
1150+0 records gelezen
1150+0 records geschreven
4823449600 bytes (4,8 GB, 4,5 GiB) copied, 1113,16 s, 4,3 MB/s

Noobs geeft keuze

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.

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/.

15/4/2018

BBC micro:bit

Filed under: — cybrarian @ 5:26 pm

22/3/2018

BBC micro:bit en micro-Python

Filed under: — cybrarian @ 11:12 pm

Voor een jarige:

from microbit import *
crown = Image("90909:"
              "30303:"
              "55555:"
              "88888:"
              "99999:")
while True:
    display.scroll('jarige')
    display.show(crown)
    sleep(2000)
    display.scroll('20')
    display.show(crown)
    sleep(2000)

20/12/2017

Arduino avr update conflict

Filed under: — cybrarian @ 11:47 am

Ik krijg bij het updaten van opensuse 42.3 (zowel op de desktop als met zypper) foutmeldingen die te maken hebben met Arduion/AVR:

De volgende 5 pakketten zullen worden opgewaardeerd:
Arduino arduino-builder avr-libc cross-avr-binutils cross-avr-gcc

5 op te waarderen pakketten.
Totale downloadgrootte: 0 B. Reeds in de cache: 44,5 MiB. Na de bewerking zal aanvullend 136,2 KiB worden gebruikt.
Doorgaan? [j/n/…? alle opties tonen] (j):
In de cache cross-avr-binutils-2.29.1-298.1.x86_64.rpm (1/5), 1,2 MiB ( 11,4 MiB uitgepakt)
In de cache cross-avr-gcc-5.4.0-2.2.x86_64.rpm (2/5), 15,7 MiB (107,3 MiB uitgepakt)
In de cache avr-libc-2.0.0-8.1.noarch.rpm (3/5), 3,3 MiB ( 36,5 MiB uitgepakt)
In de cache arduino-builder-1.3.25-5.1.x86_64.rpm (4/5), 726,8 KiB ( 2,3 MiB uitgepakt)
In de cache Arduino-1.8.5-7.1.x86_64.rpm (5/5), 23,6 MiB ( 47,9 MiB uitgepakt)
Controleren op conflicten tussen bestanden: …………………………………………………………………………………………………………………………………………………………[fout]
Gedetecteerd 1 conflict tussen bestanden:

File /opt/cross/avr/bin
from install of
cross-avr-binutils-2.29.1-298.1.x86_64 (CrossToolchain:avr)
conflicts with file from package
cross-avr-insight-6.8.1-37.1.x86_64 (@System)

Ik heb terug de Arduino software geïnstalleerd van de opensuse software site https://software.opensuse.org/download.html?project=CrossToolchain%3Aavr&package=Arduino-kit

(Resultaat nog uit te testen, arduino software start in ieder geval wel)

28/11/2016

Solderen

Filed under: — pinguim @ 10:22 am

Bij al die (open source hardware) microcontroller experimenteerbordjes moet je soms solderen als je project het breadboard verlaat.
Ik heb bij een soldeerbout gemerkt dat de stift van de soldeerbout zelf ook zowat kan wegbranden of wegsmelten bij (waarschijnlijk verkeerd) gebruik.
Ik noteer hier even (voor mezelf) wat ik zelf gevonden heb uit documentatie en online.

Nodig:
Soldeerbout, soldeerbouthouder (spiraalvormige houder waar de soldeerbout ingezet wordt als hij warm is), soldeerkussen (om overtollige soldeer af te vegen), en soldeer.

Gebruik, onderhoud:
– soldeerbout van 25 W is te weinig (temperatuur zakt te snel bij contact), 100 W is te veel (voor electronica).
– Het sponsje dat dikwijls bij de soldeerset zit, moet je vochtig maken.
– punt reinigen staat zeker 10 keer in mijn boekje, en ook alvorens hem uit te schakelen terug “vertinnen” na reiniging/gebruik.

Temperatuur:
In de gebruiksaanwijzing van mijn soldeerbout (instelbare 48W 150-450°), blijkt dat loodvrije soldeer iets hogere temperatuur nodig heeft.

  • Smeltpunt loodvrij: 220°
  • normale werking: 300-360°
  • productiedoeleinden (?): 360-410°

Als je loodhoudende moet (de-)solderen zou je dus al met lagere temperaturen toekomen, bv 270-320°.

4/11/2016

Industruino Proto met Arduino-hart

Filed under: — cybrarian @ 3:38 pm

De Industruino
Een Belgisch(*) product, gebaseerd op Arduino: de Industruino. Een klein kastje, de grootte van een thermostaat of zo, met Arduino processorbord, en schroef-aansluitingen voor de in- en uitgangen. Te programmeren in de gewone Arduino IDE (met extra Arduino/Industruino bibliotheken), en te monteren op een standaard DIN-rail in een electriciteitskast.
Je hebt een voeding nodig van 12 of 24 volt (kan met een rail-gemonteerde voeding ernaast).

* Leek zo vanwege Europese verdeling vanuit België en Belgische vlag bij support-antwoorden; ondertussen is duidelijk dat de Belg vanuit China werkt.

Arduino + scherm
Zonder geknoei maak je gemakkelijk een echte toepassing met een scherm en een paar knoppen. Het is ook ongelooflijk handig om een scherm te hebben op een bord waarvan de functie nog verandert tijdens het gebruik.

Versies
Er zijn twee versies:

  • Proto: met prototype bord onder het brein, om zelf enkele componenten op te solderen.
  • Ind I/O: voor zwaardere in- en uitgangen op niveau van PCL-sturingen in de industrie (24V).

Van ieder toestel bestaat een versie met meer geheugen (andere processor).
Er is een bijhorende uitbreidingsmodule die een netwerkaansluiting en een mini-sd-kaartlezer biedt.

Gebruik en installatie
– Je moet de delen samenbouwen: het “top board” bevat behalve het scherm ook en vooral de processor, en heeft de aansluiting voor de kleine usb-stekker.
– Eerst de Arduino programmeeromgeving installeren (versie 1.0.6 of 1.6.x).
– Uitbreidingen installeren voor Industruino scherm, en naargelang de versie van de hardware ook daarvoor hardware uitbreidingen en bibiotheken.
– zie uitgebreider onderaan: terminologie, installatie-log.

Conclusie
De industruino “Proto” is enorm handig om prototypes te maken, maar ook om onmiddellijk een toepassing te bouwen. Je kan de grote lijnen van een idee uitwerken op een breadboard met je gewone Arduino/Genuino (of compatibelen), en met industruino heb je een kant en klare behuizing.


Terminologie en numerologie
UC1701 : library for Industruino LCD functionality
INDIO.h : librarry voor Industruino IND.I/O Baseboard (Arduino IDE versions 1.6.+); nodig voor groene schroefaansluitingen;
Wire.h : library voor I2C (expander op Indio)
EthernetIndustruino: voor Ethernet module (gebased op de standaard Arduino Ethernet library).
SPI.h : , SPI library; Ethernet module is verbonden over SPI (dus #include SPI.h)
FRAM : ..

Installatie topboard, scherm en ethernet uitbreiding
Industruino installeren, doel:
– de werking testen met een voorbeeldprogramma, bv met de knipperende led sketch.
– je eigen programma inladen.

1. Uitbreiden van de (Arduino IDE) softwareomgeving met het industruino bord

– Voor de gewone Industruino Proto (top board Atmega32u4) is dat voldoende omdat die werkt als een Arduino Leonardo, maar je moet wel de bibliotheken voor het scherm toevoegen.

– Voor de Industruino Proto “1286 MCU variant” (meer geheugen en top board AT90USB1286) moet je bijkomende uitbreidingen installeren om ermee te kunnen werken, werkt op dit moment (begin 2017) niet met de huidige versie van de Arduino IDE 1.6.13.

Uitleg op https://industruino.com/page/techcentre
met link naar support file package: Industruino_support_file_package_1.6.zip
van https://static.industruino.com
Uitpakken maakt een struktuur van mapjes met bestanden, met telkens een “readme”:

Please copy the “Industruino” folder into your Arduino IDE “Hardware” folder;

Folder location on Mac: Applications/Arduino.app/Contents/Resources/Java/Hardware
Folder location on Windows: C:\\Program Files (x86)\\Arduino\\Hardware\

After you restart the Arduino IDE please select “Industruino 1286” from the “Tools->Board” menu. You are now ready to upload code to your Industruino.

Niets voor Linux gebruikers?
– het werkt als je in de Arduino directory een map “hardware” maakt, en daar de “Industruino” map in kopieert uit de uitgepakte map “1286 Board definition”.
– met de meest up-to-date versie van de Arduino programmeeromgeving heb je wel een probleem, die is op dit moment nog niet ondersteund, waardoor je bij het compileren van je programma een foutmelding krijgt. Tot 1.6.5 zou ok zijn, in OpenSUSE/42.2 zit ik momenteel aan 1.6.13.

2. Uitbreiden van de bibliotheken met de LCD bibliotheek
– https://github.com/Industruino/libraries
– eenvoudige module (minder geheugengebruik): een aangepaste UC1701.
(je kan een download doen van de libraries/master, daar zit alles in)
De voorbeelden uit de directory Libraries naar Arduino/libraries
Daarin komen de mapjes: EthernetIndustruino, Indio, UC1701

3. Uitbreiden van de bibliotheek met de ethernet bibliotheek
– https://github.com/Industruino/libraries (je kan een download doen van de libraries/master, daar zit alles in)
– “EthernetIndustruino”

Na stappen 2 en 3 zijn die zichtbaar in de programmeeromgeving;

Menu “Sketch, bibliotheek importeren, industruino”

Geeft:

#include
#include < dns .h >
#include < ethernetclient .h >
#include < ethernetindustruino .h >
#include < ethernetserver .h >
#include < ethernetudp .h >
#include < twitter .h >
#include < util .h >

en bij de voorbeeldbestanden te laden via:
“Bestand, voorbeelden, EthernetIndustruino”

“Bestand, Sketchbook, libraries, EthernetIndustruino”

IDE
De IDE crasht regelmatig, maar hij is snel terug op te starten (gebeurt meestal bij het uploaden van de code naar industruino). Soms ben ik ook de seriële poort kwijt (enkel nog dev/ttyS0 ipv ook dev/ttyACM0 die ik moet selecteren voor de industruino) en moet ik de IDE herstarten of de USB-kabel opnieuw verbinden.

4/9/2016

Arduino link compilatie

Filed under: — cybrarian @ 9:59 pm

In de wetenschap dat links soms snel hun houdbaarheidsdatum overschrijden …

The Arduino Starter Kit Datasheets

Over de op C lijkende Arduino programmeertaal

Arduino en Gambas!

Audio naar pc-luidspreker

Arduino en geluid

Funduino gebruiksvoorbeelden (arduino compatible)

  • Funduino – Kits und Anleitingen für Arduino
  • Funduino GmbH, 2016
  • Handleiding gebruik Leds, bewegingsmelder, afstandsbediening, vochtigheidsmeter, relais, RFID, …
  • http://funduino.de

Toetsenbord gebruik

Arduino/sainsmart UNO projecten

  • Sainsmart starterkits handleiding
  • Sainsmart.com, /10/2016
  • Zip met pdf boek 103 blz + aparte mapjes met projectcode/hoofdstuk, goede beschrijving, foto’s, enz.
  • sainsmart zip bestand

(meer…)

28/7/2016

Pinguino!

Filed under: — cybrarian @ 7:58 pm

Linux tijdschrift Italië
Rome, juli 2016

Een tijdschriftenkios ik het station. Uit het aanbod van Linux tijdschriften één voorbeeld: Linux Magazine Agusto 2016 met inbegrepen DVD met Fedora 24, verkocht voor 6 euro.
Het beslaat 100 blz als voor een achterkaft meegeteld worden. Daarvan zijn 16 hele bladen reklame, 15 als je een blad voor de aankondiging van het septembernummer met abonnementsformulier er niet bijtelt. De 15 % reklame is niet storend omdat ze telkens uit een heel blad of twee naast elkaar gelegen bladen bestaat, en dus nooit de artikels doorkruist.
Net zoals veel magazines spelen ze dus vals met de datum, want het is maar iets voorbij half juli bij aankoop.

Inhoudelijk valt één artikel in de rubriek hardware op doordat het niets met Linux te maken lijkt te hebben; een vergelijkende test van 4 zoom-camera’s gespreid over liefst 8 bladzijden. Ik heb schuin door de tekst gekeken, en zag nergens een verwijzing naar het gebruik van die camera in combinatie met een Linux desktop computer of bijhorende programma’s.

Een ander artikel, ook in de rubriek hardware, gaat over het controleren van een webcam via je smartphone, en lijkt me ook weinig of niets met Linux te maken te hebben.

Tips en Tricks gaan gelukkig wel over Linux; DNS server, e-mail en scripting, enz.

De cover story loopt over 12 bladzijden en gaat over Linux op je tablet.
Er wordt beschreven hoe je root kan krijgen op je tablet, m.a.w. volledige controle kan krijgen over je tablet, als eerste stap naar de installatie van bv Ubuntu Touch. Er wordt gewezen op het maken van een backup. Dan is er informatie over de bootloader en de installatie van Ubuntu touch zelf. Verder configuratie en gebruik, en combinatie met de cloud als opslagruimte.

De gaming rubriek beslaat drie bladzijden. Het gaat over een gaming site waar je blijkbaar een Windows computer moet hebben om te registreren. Daarna kan je je blijkbaar wel behelpen met een Steam Client voor Linux.

Verder een uitgebreide “Android corner” van 8 blz. en de artikels gaan allemaal over apps uit de play store.

Een ander groot artikel is een browservergelijking; waarbij ze Firefox, Chrome, Opera en Vivaldi naast elkaar zetten.

Andere onderwerpen:
– een whatsapp bot voor de raspberry pi
– een foto bewerken met GIMP
– videobewerking maken met Kdenlive
– videodriver problemen oplossen (Ubuntu)
– Singularity over virtualisatie en containers
– OpenVPN om via het internet op een computer te werken
– cursus streaming audio server (met Vortexbox)
– processen en threads, coreutils
– een artikel over een bug in het versleutelde bestandssysteem eCryptfs in Linux.
– wat te doen als een van je accounts gekaapt is (ook niet echt over Linux dus).

Arduino wordt 1 keer vermeld in de gadgets rubriek, met de nieuwe naam van de starterkit, die nu Genuino heet; niets over projecten met of programmeren voor Arduino.

Vermelde distributies: Mint, PCLinux OS, Ubuntu, Fedora, Parrot Security OS, Vortexbox,… en ik kan er nog gemist hebben.

Eén echt belangrijk Italiaans woord heb ik bijgeleerd: Pinguino!

19/6/2016

Arduino project 02: van LEDs naar Rood, Goud, en Groen

Filed under: — cybrarian @ 10:52 pm

Terminologie in het Nederlands voor gebruikers van het Engelstalig Arduino Projects Book bij de starter kit.
Aangevuld met een variant op het beschreven project (02 in Arduino IDE Examples, 10 Starterkit)

Project 02
In het tweede project worden 2 rode leds en één groene gestuurd vanuit het programma; het detecteren van een knopdruk verandert de loop van het programma en de toestand van de leds.

Arduino’s digitale verbindingen hebben de mogelijkheid om zowel voor invoer gebruikt te worden, als voor uitvoer, mits anders gedefinieerd vanuit het programma.

Terminologie:

High: hoog, dat betekent dat er spanning op zit of gezet wordt.
Low: laag, dat betekent dat er geen spanning op zit of gezet wordt.

Programmeercode

Dit is het eerste project waarin geprogrammeerd wordt. De basis van zowat elk Arduino programma bestaat uit twee procedures, één om instellingen te doen, en één voor het lopen van het programma (eindeloos herhalen, vandaar “loop” of in een kringetje draaien), meestal bestaat het uit iets meten en reageren.

void setup(){
// code
}

void loop(){
// code
}

Je kan dit bewaren als “leegproject.ino”, en hiervan telkens beginnen.

Syntax
Commmentaar volgt achter twee schuine streepjes, code wordt meestal afgesloten met een puntkomma en structuren worden begrenst door accolades. Void betekent dat er geen waarde teruggegeven wordt door de procedure. Variabelen worden voorafgegaan door hun type bij declaratie.

Variant
Als de middelste rode led vervangt door een gele, krijg je rood-geel-groen, de kleuren en volgorde van een verkeerslicht.
Door een paar aanpassingen aan het programma laat je de gele led knipperen als begintoestand, en vanaf de druk op de knop gaat een aantal keer de gewone verkeerscyclus gevolgd worden met rood, groen, kort oranje en weer rood.

CODE …
(meer…)

Powered by WordPress