3/12/2019

Raspberry Pi starten zonder scherm of toetsenbord

Filed under: — cybrarian @ 2:35 pm

Raspberry Pi als toepassing
(Raspbian)
Je kan de Raspberry Pi ergens inbouwen en van een toepassing voorzien.
Als hij opstart wil je 2 dingen:

– dat je hem vanop afstand kan bereiken (inloggen, besturen, upgraden)
– dat hij de juiste toepassingen start (of de verkeerde/onnodig niet)

1. Afstandsbediening

1.1 Verbinding

Je moet zorgen dat je raspberry pi te bereiken is via het netwerk als je hem laat starten. Om hem te kunnen aanspreken moet je weten welk ip adres hij heeft. Zet het bv vast in /etc/dhcpcd.conf

interface eth0

static ip_address=192.168.0.10/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1

interface wlan0

static ip_address=192.168.0.200/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1

1.2 SSH
Het protocol om vanop afstand in te loggen is ssh
Bij de instellingen (Raspbian: Voorkeuren, Raspberry pi configuratie programma)
– zet je SSH aan.
Als je al het nodige geïnstalleerd en getest hebt waarvoor je de desktop nodig hebt:
– zet je opstarten naar buroblad om naar CLI (command line interface)
ps: terug kan ook door sudo raspi-config te gebruiken.


2. Toepassing starten.

Er zijn 2 mogelijkheden:
1) je wil dat bij het opstarten een functie gestart wordt.
2) je wil dat na het starten op bepaalde momenten bepaalde functies lopen (programma’s gestart worden)

2.1 Shell script
In ieder geval is het handig om een shell script te schrijven van waaruit je de python toepassing start.
Stel dat het StartMyApp.sh heet en dat je daarin je eigenlijke programma start:

sudo python myapp.py

Algemeen ga je daarin de directory wijzigen naar waar het script moet draaien, en het script aanroepen met python interpretor

cd /home/pi/myapp
sudo python myapp.py

Het script uitvoerbaar maken
chmod 755 StartMyApp.sh

test met
sh StartMyApp.sh

Als je vanop afstand inlogt, kan je het script starten om het uit te proberen. Maar als je je terminal sluit wordt de verbinding verbroken en de uitvoering stopt. Om na het starten los te koppelen eindigen met een ampersand (en-teken &)

Hier bij het rechtstreeks testen van het programma (maar kan dus ook met je script)
sudo python myapp.py &

Je command prompt komt dan terug vrij, maar je blijft de meldingen krijgen. Wil je die kwijt, stuur ze naar het zwarte gat /dev/null:

sudo python myapp.py > /dev/null &

2.2. Script starten bij het opstarten van de Raspberry pi

Opnemen in opstart:

Het gemakkelijkste is het op te nemen in de crontab. Dat is een soort timer die allerlei taken kan inplannen op bepaade dagen, uren enz. Een speciaal geval van de crontab is de at reboot taak. Daar kan je hem inzetten met
crontab -e
en bekijken wat erin staat met
crontab -l

of voor root:
sudo crontab -e

De lijn die je moet toevoegen is bv
@reboot sh /home/bin/StartMyApp.sh >/home/pi/log/StartAppLog.txt 2>&1
De uitvoer wordt naar een logbestand gestuurd.

Als je wil controleren of het programma draait moet je vanop afstand in loggen met ssh en in de processen zoeken naar de combinatie van (in mijn geval):
cron sh sudo python

Tip: Uitslapen
Ik had wel eens een probleem dat mijn programma niet mooi opstartte (het moest in het begin een mail sturen om zijn start te melden – die kwam niet).
Bij het checken van de foutmeldingen kwam ik op het idee om een beetje vertraging in te bouwen, om de raspberry pi de tijd te geven om zijn ip adres in te stellen en zijn tijd af te halen.
In het begin van mijn StartMyApp.sh script geef ik twee minuutjes extra tijd alvorens de rest uit te voeren:
sleep 120s

2.3 Service
Je kan ook een service maken van je script, dan kan je het bedienen zoals andere diensten op je systeem.
Je moet dan wel de nodige informatie verschaffen aan het systeem over je “service”
update-rc.d StartMyApp.sh defaults
(niet met sudo)
Authentication complete…
(zie https://www.raspberrypi.org/forums/viewtopic.php?t=70520 )

2. Een script starten op bepaalde tijdstippen
(tip: cron)
In de cron kan je ook een script laten uitvoeren op bepaalde tijdstippen, dan hoeft het niet continue te draaien.

Bronnen:
https://www.instructables.com/id/Raspberry-Pi-Launch-Python-script-on-startup/
https://www.raspberrypi.org/forums/viewtopic.php?t=70520

Raspberry Pi stroomvoorziening met Strompi 2

Filed under: — cybrarian @ 2:24 pm

Strompi 2
Dit opsteekbord van joy-it voor de Raspberry Pi (tot v3 B) kost rond 30 euro. Er zijn andere vergelijkbare bordjes verkrijgbaar, en van dit bestaat ook een nieuwere versie 3.

Het maakt 2 scenario’s mogelijk:

1. Batterij backup
– normale voeding + batterij aan schroefaansluiting.
– instellen in USV stand
– propere shutdown bij stroomuitval (driver?).
– bij herneming van de stroom wordt opstartfunctie aktief (kan uitgeschakeld worden door bruggetje te verwijderen bij T pin)

2. Alternatieve stroombron
– kan gevoed worden met een breed scala aan gelijkstroom voedingen, van 6 tot 61 volt. Je kan dus een voeding van een defect apparaat recupereren of de stroombron dynamo/generator van een voertuig gebruiken.
– kan in een mobiele stand gezet worden om steeds een mobiele batterij/stroombron te gebruiken (dan wordt dit de primaire)
– kan meer stroom leveren aan de rapsberry pi als die andere stroomvretende uitbreidingen moet voeden.

29/11/2019

Raspberry Pi RTC (Real Time Clock)

Filed under: — cybrarian @ 2:12 pm

(Raspbian)

RTC
Een RTC module zorgt ervoor dat bij uitschakelen de Raspberry Pi zijn klok kan laten verder lopen met een batterij.
Er bestaan verschillende RTC uitbreidingen voor de Raspberry Pi, van goedkope opsteekkaartjes met enkel een batterij en de RTC functie, tot geïntegreerde RTC functies in een groter bord, zoals de Explorer 700 van Joy-IT.

Ik gebruikte bv die laatste, en daarvoor moest I2C aktief gemaakt worden in de instellingen met sudo raspi-config

Ik leerde ergens dat je de RTC kan checken met
sudo i2cdetect -y 1
Dat geeft een soort tabel met kolommen hexadecimalen 0 – f en rijen per 10 van 00 tot 70 met daarin de beschikbare i2C apparaten.
Op 60:8 zie ik daar 68, en dat zou de RTC moeten aangeven.

pi@ras003:~/$ sudo i2cdetect -y 1

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: 20 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- 48 -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- 76 --                         

De utility hwclock laat je de klok ondervragen als ze herkend wordt.
Bij mij gaf sudo hwclock -r nog een foutmelding:

sudo hwclock -r --debug
hwclock from util-linux 2.29.2
hwclock: cannot open /dev/rtc: Bestand of map bestaat niet
No usable clock interface found.
hwclock: Cannot access the Hardware Clock via any known method.

De kernel kent de module nog niet, voeg toe met:

sudo modprobe rtc-ds1307

sudo bash
root@ras003:/home/pi/Explorer700/ExplorerApp/RTC# echo ds1307 0x68 > /sys/class/i2c-adapter/i2c-1/new_device
root@ras003:/home/pi/Explorer700/ExplorerApp/RTC# exit
exit

Nu terug:
sudo hwclock -r --debug

hwclock from util-linux 2.29.2
Using the /dev interface to the clock.
Assuming hardware clock is kept in UTC time.
Waiting for clock tick…
/dev/rtc does not have interrupt functions. Waiting in loop for time from /dev/rtc to change
…got clock tick
Time read from Hardware Clock: 2015/08/12 20:35:47
Hw clock time : 2015/08/12 20:35:47 = 1439411747 seconds since 1969
Time since last adjustment is 1439411747 seconds
Calculated Hardware Clock drift is 0.000000 seconds
2015-08-12 22:35:46.888095+0200

Goed opgemerkt, ze staat nog altijd fout!

Maar zonder verder iets te doen, een beetje later:

pi@ras003:~$ sudo hwclock -r --debug
hwclock from util-linux 2.29.2
Using the /dev interface to the clock.
Assuming hardware clock is kept in UTC time.
Waiting for clock tick…
/dev/rtc does not have interrupt functions. Waiting in loop for time from /dev/rtc to change
…got clock tick
Time read from Hardware Clock: 2019/11/29 13:27:17
Hw clock time : 2019/11/29 13:27:17 = 1575034037 seconds since 1969
Time since last adjustment is 1575034037 seconds
Calculated Hardware Clock drift is 0.000000 seconds
2019-11-29 14:27:16.072253+0100

Dit ziet er al beter uit …

21/11/2019

Raspberry Pi en Explorer 700

Filed under: — cybrarian @ 11:39 am

Raspberry pi 3B (Raspbian)
Joy-it Explorer 700 (link)

Handleidingen (Engels, Duits) van Explorer: https://www.joy-it.net/de/products/RB-Explorer700

Bibliotheken (software om de mogelijkheden van de Explorer 700 aan te spreken):
Wiring pi
Wiring pi: wiringpi.com/download-and-install
sudo apt-get install wiringpi
sudo apt-get install wiringpi
Pakketlijsten worden ingelezen... Klaar
Boom van vereisten wordt opgebouwd
De statusinformatie wordt gelezen... Klaar
wiringpi is reeds de nieuwste versie (2.46).
0 opgewaardeerd, 0 nieuw geïnstalleerd, 0 te verwijderen en 0 niet opgewaardeerd.

(of haal de broncode af en compileer)

BCM2835
Deze of andere versie afhalen:
http://www.open.com.au/mikem/bcm2835/bcm2835-1.17.tar.gz, ondertussen:
http://www.airspayce.com/mikem/bcm2835/bcm2835-1.60.tar.gz

gunzip bcm2835-1.60.tar.gz
tar -xvf bcm2835-1.60.tar
cd bcm2835-1.60/
./configure
./configure
sudo make check
sudo make install

Configureren
De nodige kernel drivers moeten geaktiveerd worden bij het starten; die instelling gebeurt door:
sudo raspi-config
Niet bij Advanced options zoals de handleiding zegt, maar bij interfacing options, I2C en SPI selecteren.

Je moet bevestigen en krijgt dan SPI / I2C is enbled.

Op dezelfde manier de Serial port/login uitzetten (gebeurt samen).

Het configuratie-programma verlaten; het zal vragen om nu te herstarten, maar je kan nog eerst de volgende instellingen doen..

Zorgen dat de modules geladen worden in /etc/modules:

i2c-bcm2708
i2c-dev

toevoegen als ze er nog niet staan.

Dan de boot config aanpassen:

sudo nano /boot/config.txt

voeg toe:

Dtoverlay=w1-gpio-pullup

Nu kan je wel herstarten.

Voorbeelden
Bij het bord zijn een aantal voorbeeldprogramma’s voorzien, hier als Explorer700-1.zip
Uitpakken kan in de bestandsbeheerder van Raspberry pi.
2. KEY
De voorbeelden kan je bv uitproberen met python of vanuit de shell.

1.LED
Het eerste is de LED: ga naar de map van de voorbeelden (hier ~/Explorer700/ExplorerExamples)
cd ~/Explorer700/ExplorerExamples/LED/wiringPi
make (of sudo make?)
chmmod +x led
sudo ./led

De LED1 blijft pinken tot je CTRL-C doet.

PWM
Ter vergelijking het python programma dat nog iets meer doet:

cd ./../python/
sudo python pwm.py

De LED1 gaat langzaam aan en uit gloeien tot je ctrl-c doet.

2. KEY
Het voorbeeld KEY toont op de terminal dat je de knop van de mini joystick indrukt.

3. PCF8574
Dit programma reageert op de richtingen van de joystick. Alleen al handig om te weten hoe je de richting van de joystick moet beschouwen. Als je op/neer/links/rechts beweegt aan de joystick gebeuren er telkens 3 dingen:
– beepje
– terminal zegt up down left right
– LED2 gaat aan.

4. BMP280 Meting
Het BMP280 programma geeft telkens (tot je ctrl-c doet) een lijn met bv

Temperature = 30.54 C Pressure = 100.464 kPa

De thermometer is heel gevoelig, als je een kartonnen doosje over de Pi zet zie je onmiddellijk de getallen in honderdsten na de komma stijgen.

De druk heeft 3 cijfers na de komma en die schommelt doorlopend enkele duizendsten, bv 100.627 100.628 100.629 …

Real Time Clock
Voor de real time clock moet een CR1225 batterij aanwezig zijn, en die is niet meegeleverd. Als je ze zelf aangeschaft hebt, en in de batterijhouder hebt gestoken, is het klaar volgens de handleiding. Klopt bij mij niet, de aangegeven datum/tijd is iets van 2015-08-12 22:35:46

Zie installeren van “Raspberry Pi RTC (Real Time Clock)


DS18B20

Met dit programma kan je de temperatuur aflezen van de apart bijgelverde driebenige sensor die je dan eerst wel moet aansluiten natuurlijk.. (geen documentatie bijgeleverd).

IRM
Met deze sensor kan je infrarood signalen lezen van een afstandsbediening.

UART
Met een seriële kabel kan je de Pi verbinden met een computer. Je kan daarlangs dan data sturen.

OLED
Het laatste en spannendste voorbeeld werkte helaas niet: het mini scherm dat op het bordje zit.
Althans de python versie gaf bij alle programa’s de fout:
no module named Image
In de broncode zie je staan:
import Image
Mogelijk is de Image library niet geinstalleerd. (PIP of Pillow?)
Of moet ze anders aangeroepen worden nu, bv
from PIL import Image
(En in dispchar ook from PIL voor ImageDraw en ImageFont)

Gelukkig werkt de BCM versie wel, alleen heeft die een verkeerde naam, niet main maar oled moet je aanroepen na een make en chmod +x oled.
Je krijgt een blauw scherm met icoontjes alsof het een gsm is, met de tijd in het midden inclusief veranderende seconden.
Bij het afbreken van dit programma stopt de tijdsaanduidin op het scherm, maar het scherm blijft wel aan.

7/6/2019

OpenSUSE Leap 15.1 op Raspberry Pi

Filed under: — cybrarian @ 11:45 am

Voor Raspberry Pi 3B+ (met 1 Gb geheugen, en die kan starten vanaf usb)

Er zijn twee mogelijkheden:

  1. Je kan een algemene iso afhalen voor de arm architectuur, en installeren zoals met de DVD/usb stick installatie.
  2. Je kan een speciale Raspberry Pi image afhalen (later verkrijgbaar) die je rechtstreeks op de SD kaart zet.

1. Gewone distro
Zie installing openSUSE using standard DVD (advanced)

In principe kan de aarch versie van OpenSUSE Leap 15.1 gebruikt worden om te installeren:

  • Downloaden, en op USB-stick zetten met dd.
  • Pi starten met lege SD-kaart en de OpenSUSE USB-stick.
  • Installatieprocedure volgen zoals anders bij SUSE.

Het installeren zelf duurt ongeveer een uur (vanaf usb2).

De SD kaart moet echter wel voorzien zijn van een start-mogelijkheid:
For each cases, it is still needed to use a SD card to load the firmware and the bootloader
. De installatieprocedure doet dat niet zelf en checkt/verwittigt ook niet.
Als je dit niet voorzien hebt kan je eindigen met een Pi die de usb-key nodig heeft om te kunnen starten, maar die dan wel verder vanaf het geïnsalleerde systeem loopt (op SD kaart).

2. Speciale Pi-image
Af te halen van deze directory: (de links zelf veranderen doorlopend door updates)
http://download.opensuse.org/ports/aarch64/distribution/leap/15.1/appliances/

[ ] openSUSE-Leap-15.1-ARM-X11-raspberrypi3.aarch64-2019.05.17-Snapshot1.1.raw.xz

Deze moet je dan op sd kaart zetten met bv
xzcat [image].raw.xz | dd bs=4M of=/dev/sdX iflag=fullblock oflag=direct status=progress; sync

Je krijgt dan aangegeven hoever de aktie gevorderd is.

Een paar opmerkingen over deze downloads:

  • ik kon met deze kaart mijn Pi 3B+ niet starten…
    Nb: Met een installatie-usb-stick toch kunnen starten.
  • User: er zijn geen users aangemaakt, je logt in als root.
  • Wachtwoord: Opgelet, het root wachtwoord is standaard al ingesteld op linux
  • Toetsenbord: Het toetsenbord staat Amerikaans!

Uitbreiden LXQt
Eens opensuse 15.1 aan de praat is, kan je software bij-installeren. LXQt 0.12.0 (Qt 5.9.7) heeft bv geen simpele text-editor voor zijn grafische omgeving!
Ik installeer mc (midnight commander) bij, en die werkt bijzonder goed. Er wordt een menu-keuze bijgemaakt onder System Tools, en daaruit start een X-terminal met Midnight Commander draaiend in zijn bekende blauwe tekstscherm. Bovendien werken de functie toetsen en kan je met F10 er terug uit!

Je kan in plaats van Python (of ernaast) ook Gambas3 installeren, zelfs de hele IDE. Als je een project “testGambasCLapp” maakt (Hello World) met als type CLI kan je het uitvoeren op de comamndolijn met:
gambas3 testGambasCLap

Bron
Zie ook het artikel op
https://en.opensuse.org/HCL:Raspberry_Pi3

Zie ook vroeger: openSUSE Leap 42.3 met behulp van Etcher…
http://linuxuser.copyleft.be/liglog/?p=7066

GPIO
Op de commandolijn als root:

ls /sys/class/gpio

Zie je de volgende bestanden:

export
gpiochip450
gpiochip458
unexport

waarbij de gpiochip links zijn naar ../../devices/platform/soc/..

Er staan twee chips vermeld, 450 en 458. Kijk in
cat /sys/kernel/debug/gpio

Je ziet er een paar lijnen met info over de gpio, waaronder:

gpiochip1: GPIOs 450-457, parent …
..
gpio-452 (STATUS_LED_R | led1 ) out hi

gpiochip0: GPIOs 458-511, parent …-bcm2835…
gpio-487 ( |led0 ) out lo

Voor de gpiochip0 bcm2835 start de telling op 458, als je een pin wil aanspreken moet je beginnen tellen vanaf dat getal, en de pin erbij optellen. In het voorbeeld gebruiken ze GPIO 23 en doen ze het zo: 458+23=481

echo 481 > /sys/class/gpio/export
echo out > gpio481/direction
echo 1 > gpio481/value

Groen led
De groene led dient voor schrijfaktie op de sd-kaart, de functie van de zogenaamde hardeschijf led.

Je kan de functie ervan zien in

cat /sys/class/leds/led0/trigger

(is bv mmc0)

Je kan dat gebruik uitschakelen:

echo none >/sys/class/leds/led0/trigger

Dan kan je zelf de led manipuleren:

echo 1 >/sys/class/leds/led0/brightness

En terug afzetten met:

echo 0 >/sys/class/leds/led0/brightness

De originele functie herstellen met

echo mmc0 >/sys/class/leds/led0/trigger

https://www.raspberrypi.org/forums/viewtopic.php?t=224743

22/2/2019

Raspberry pi wifi draadloos netwerk

Filed under: — cybrarian @ 9:41 am

wifi
Bij het installeren van Raspbian krijg je de keuwe om aan te sluiten op een bestaand draadloos netwerk. Daarna kan de pi dat netwerk gebruiken.

Wijzigen
De hulpmiddelen om een draadloos netwerk te kiezen en/of in te stellen bij basic raspbian zijn niet zo uitgebreid als bij desktop distributies als openSUSE/KDE, waar je een uitgebreid informatie krijgt en kan fijnregelen.
Raspbian heeft bij het ontbreken van een (draadloze) netwerkverbinding bovenaan rechts een symbool staan dat lijkt op een mengpaneel met twee schuiven (die een rood kruisje hebben). En ja, dat is het symbool voor draadloos netwerk (wie heeft dat bedacht). Wel nee, die twee kruisjes geven aan dat zowel lan als wifi niet werken toont de tooltip als je er met de muiscursor boven gaat staan:

eth0: Link is down
wlan0: Not associated

Klik op het symbool om het instellingenvester te openen? Niet dus. Rechtsklik, kies netwerk instellingen “Wireless and wired network settings”.

Configure
– interface
– SSID — dan krijg je een combobox met vooringevulde keuzes van netwerknamen.
Je kan dan ook de andere gegevens invullen, zoals IP address, Router, DNS server en Search, …
Als je op “toepassen” drukt, krijg je geen feedback. Het is mij totaal onduidelijk wat de impact is van dit instellingenvenster, moet je bv zelf herstarten achteraf? (inderdaad, sluiten en herstarten).

Menu
Via het menu, voorkeuren kan je naar Raspberry Pi configuratieprogramma.
Daar kan je het wifi-land instellen, en de hostename (en network at boot).

Opstart-krachten
Bij het opstarten krijg je kort een melding over het indrukken van de shift toets (for recovery mode hold shift); daarmee krijg je een soort NOOBS installatiemenu, maar ook een paar andere knoppen waaronder “wifi”. Die keuze toont ook de werking van de wifi aan, want je kan er de beschikbare netwerken zien, en een netwerk kiezen om mee te verbinden.
Je kan hier bv ook kiezen om de volledige raspbian te installeren (6738 MB).

commandolijn
Inhoud van de instellingen wifi bekijken:
cat /etc/wpa_supplicant/wpa_supplicant.conf

Kijken wat er in de lucht hangt (checkt dat draadloos werkt, geeft beschikbare netwerken)
sudo iwlist wlan0 scan

Welke dns instellingen?
cat /etc/resolv.conf

Herstarten van het netwerk (ipv volledig herstarten)
sudo ifdown wlan0 && sudo ifup wlan0

Volledig herstarten
sudo shutdown -r now

Instellingen doen:
sudo raspi-config
Dan 2. Network options
Daarmee kan je:
– hostname instellen (naam van de computer in het netwerk)
– SSID wifi (could not communicat with wpa_supplicant)
– predictable network names (aan of afzetten van de netwerk interface namen als eth0 wlan0)
Daarna moet herstart worden om de instellingen aktief te maken.

28/11/2018

Temperatuursensor DS18?20 aansluiten, uitlezen

Filed under: — cybrarian @ 7:02 pm

Een temperatuurvoeler als deze bestaat in een driebenige behuizing, of in een ingebedde voeler met metalen kop en een draad van een meter of meer, eindigend in een 3-kleurige aansluiting (1-wire systeem).
ps: Een andere sensor had maar 2 draden, die is eerder geschikt voor gebruik met Arduino, en heeft een veranderende weerstand waaruit de temperatuur kan afgeleid worden.

Sensor
De sensor die ik zelf in handen kreeg is de DS18S20, bedoeld voor de C-Control hardware. Ik vermoed dat het een variant is op de DS18x20 reeks zoals DS18B20, WT18B20, ..

Deze sensor bevat zelf wat logica en een register. Hij heeft een soort serienummer, zodat meer sensoren parrallel kunnen aangesloten worden en toch apart uitgelezen kunnen worden.

Sommige versies hebben een grotere nauwkeurigheid, en dan moet je eventueel in je software een omzetting doen voor de interpretatie van de uitlezing.

Aansluiting

Hij heeft drie draden:
Groen: + 3 V (plus)
Bruin: massa (ground)
Wit: data (de zogenaamde 1 wire)

Je hebt een pin met + 3 V nodig, een pin voor ground en een pin om de gegevens uit te lezen: data aan GPIO4 (of Raspberry Pi pin 7). Er komt een weerstand van 4.7 kilo-Ohm tussen de +3 V en de data kabel.
Er zijn beschrijvingen en schema’s te vinden voor de bedrading, bv op: http://domoticx.com/raspberry-pi-temperatuur-sensor-ds18b20-uitlezen/

Config
Raspberry Pi instellen om de 1 wire bus op GPIO te gebruiken:
sudo nano /boot/config.txt
Voeg aan het einde toe:
dtoverlay=w1-gpio

Dan commando om 1-wire protocol uit te lezen:
sudo modprobe w1-gpio
sudo modprobe w1-therm

Vanaf dan kan je de waarde van het register vinden in je systeem:

cat /sys/bus/w1/devices/10-0008032a0831/w1_slave

Je krijgt iets als:

38 00 4b 46 ff ff 10 10 66 : crc=66 YES
38 00 4b 46 ff ff 10 10 66 t=27750

De uitlezing hier is in milligraden (27750 = 27,75°).

Multi

Zoals gezegd kan je meer sensoren samen aansluiten, op dezelfde pins op de Raspberry Pi; het verschil in identiteitsnummer laat toe die ook uit te lezen met een aangepast commando:

cat /sys/bus/w1/devices/10-0008032a0831/w1_slave
cat /sys/bus/w1/devices/10-0008032a0f9d/w1_slave

Het verschil is klein bij twee samen aangekochte sensoren.
Bij andere gelijkaardige sensoren of andere systemen/versies kan je misschien even moeten zoeken in de directorie(s)

/sys/bus/w1/devices/

De verwerking kan verder in software gebeuren, mbv scripts, cronjobs, … of ook met Gambas3

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.
Er bestaan uitbreidingen die dat wel mogelijk maken, zie Raspberry Pi RTC (Real Time Clock)

Als je geen hardware wil toevoegen voor de RTC functie:

  • 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

Powered by WordPress