RocRail installeren op een Raspberry PI – Deel 4

Toen ik aan deze blog begon had ik nog geen idee hoe groot het verhaal zou worden. Gaandeweg kwam ik er al snel achter dat dit een te groot verhaal zou worden voor één blog en heb ik besloten het op te knippen in meerdere delen. Uiteindelijk zijn het 4 delen geworden en heb ik getracht de indeling zo logisch mogelijk te houden. Je hoeft dus niet alle delen te lezen, maar kunt er uit pikken wat voor jou interessant of relevant is. De indeling is als volgt:

  • Deel 1, inleiding en motivering van mijn keuzes.
  • Deel 2, Stukje geschiedenis hoe het verlopen is.
  • Deel 3, Installatie van tools, Raspbian en RocRail.
  • Deel 4, Bonus, additionele tools, tips, links en wijsheden.

Deel 4 – Bonus

In de voorgaande delen heb ik stap-voor-stap uitgelegd hoe je een RocRail op een Rasberry PI kunt installeren inclusief Raspbian, het operating system voor een Raspberry. In principe ben je nu klaar en kun je aan de slag met RocRail en RocView om je baanbesturing te gaan bouwen. Maar ik heb ook nog een paar handige, nuttige tips voor je o.a. over het beheer van je Raspberry, het maken van een back-up en tot slot nog een aantal links naar zeer bruikbare documentatie en informatie

Raspberry draaien vanaf een USB stick

Standaard wordt een SD kaartje gebruikt om een Raspberry op te laten draaien. Op zich werkt dat prima, maar het komt wel eens voor dat zo’n kaartje corrupt raakt en de Raspberry niet meer opstart, of dat er geen data meer weggeschreven kan worden. Ook kunnen de SD kaartjes er niet zo goed tegen als de Raspberry niet netjes gestopt wordt doordat bijvoorbeeld de stekker er uit getrokken wordt. Dat is erg vervelend en meestal is er geen andere oplossing dan opnieuw Raspbian en alle overige software te installeren.

Maar tegenwoordig is er ook de mogelijkheid om een Raspberry te laten draaien op een USB stick of USB disk. Je hebt nog wel éénmalig een SD kaartje nodig om deze optie te activeren, maar daarna kun je booten vanaf USB. Hoe je dit kunt doen kun je hier lezen.

Webmin

Niet iedereen is een Linux guru, en dat is ook helemaal niet nodig. Je hoeft zelfs geen expert te zijn om het te gebruiken. Zeker met behulp van een tool als webmin is het beheer een fluitje van een cent. Deze webbased tool is simpel te installeren en geeft je een hoop gemak. Het bevat o.a. een filemanager waarme je heel makkelijk bestanden van en naar je Raspberry kunt kopiëren. Heel handig als je bijvoorbeeld een plaatje van je locomotief moet uploaden in RocRail.
In webmin kun je ook instellen dat je automatisch een e-mail krijgt wanneer er software updates voor de Raspberry beschikbaar zijn en deze eventueel ook automatisch te installeren.

Een heldere, duidelijke, Nederlandstalige handleiding loodst je door de installatie heen.

Tip: De URL voor de webmin download in het artikel verwijst naar een oude versie. Ga naar de webmin download pagina en onder het kopje “Debian package suitable ..” staat de link naar de laatste versie. Kopieer de link en gebruik die om de software te downloaden (achter sudo wget).

Back-up

RocRail slaat van een aantal bestanden een kopie op zodra dit bestand gewijzigd wordt, zoals het baanplan, maar een achte back-up is er eigenlijk niet. En dat is best lastig als je een probleem krijgt met je Raspberry en deze het niet meer doet. Het opnieuw installeren van Raspberry van scratch af aan is nog wel te doen. Het kost je een uurtje, maar dat is te doen. Je hebt dan echter nog niet je baan terug in RocRail. En zonder back-up zal je weer vanaf 0 moeten beginnen. Nu zijn er verschillende manieren om een back up te maken van de RockRail folder op je Raspberry. Als je gaat zoeken op internet dan zul je legio oplossingen vinden.

Zelf maak ik gebruik van een simpel script dat via een cronjob iedere nacht uitgevoerd wordt.Ik heb thuis meerdere Raspberry’s en afhankelijk van de software die er op draait is het nodig bestanden te back-uppen. Sommige software maakt gebruik van een MySQL database. Dan wordt er m.b.v. de MySQL server een back-up gemaakt. Maar voor bestanden, of complete directories, die back-uped moeten worden gebruik ik een script.

Dit script maakt een zip bestand van de RocRail directory en kopieert dat via FTP naar mijn NAS

Voorbeeld van het script:

#!/bin/bash
# LOCAL/FTP/SCP/MAIL PARAMETERS
SERVER=”xx.xx.xx.xxx” # IP of Network disk, used for ftp
USERNAME=”<ftp user>” # FTP username of Network disk used for ftp
PASSWORD=”<ftp password>” # FTP password of Network disk used for ftp
DESTDIR=”backup/rocrail” # backup location
### END OF USER CONFIGURABLE PARAMETERS

TIMESTAMP=`/bin/date +%Y%m%d%H%M%S`
BACKUPFILE=”rocrail_$TIMESTAMP.tar” # backups will be named “rocrail_YYYYMMDDHHMMSS.tar.gz”
BACKUPFILEGZ=”$BACKUPFILE”.gz
### Create backup and ZIP it
tar -zcvf /tmp/rocrail_$TIMESTAMP.tar.gz /opt/rocrail
### Send to Network disk through FTP
curl -s –disable-epsv -v -T”/tmp/$BACKUPFILEGZ” -u”$USERNAME:$PASSWORD” “ftp://$SERVER/$DESTDIR/”
### Remove temp backup file
/bin/rm /tmp/$BACKUPFILEGZ
### Done!

Korte uitleg van het script:
Aan het begin van het script worden een aantal variabelen gedefinieerd zoals IP adres van de FTP server en de login gegevens, directory waar het back-up bestand geplaatst moet worden. De bestandsnaam wordt dynamisch opgebouwd op basis van een timestamp. Wanneer het bestand verstuurd is naar de FTP server wordt het verwijderd van de Raspberry. De directory waar RocRail geïnstalleerd is, is /opt/rocrail.

Om het script te kunnen gebruiken moet het op de Raspberry geplaatst worden en via een cronjob scheduled uitgevoerd worden. Indie er belangstelling voor is wil ik dit wel verder beschrijven.

Back-up maken van de SD kaart

Het is verstandig om direct na de installatie van RocRail, en optionele software, een kopie te maken van je SD kaartje. Mocht je een keer problemen krijgen als gevolg van een corrupt SD kaartje o.i.d. dan kun je vrij snel weer terug naar een werkende omgeving. En met een back-up van je RocRail directory de situatie herstellen.

Er zijn verschillende manieren om een back-up te maken van een SD kaartje. Er is (gratis) software te downloaden voor Windows en Mac. Onder Linux kan dit met standaard opties in het OS. Als je software gaat gebruiken, zorg er voor dat deze een clone maakt van de SD kaart. Kopieer niet de bestanden vanaf het SD kaartje naar de harde schijf met bijvoorbeeld Windows verkenner. Hiermee kun je geen SD kaartje herstellen. Omdat Raspbian een Linux variant is, worden delen van de bestanden niet door Windows “gezien” en dus ook niet gekopieerd. Ook Win32 Disk Imager is niet geschikt om een backup te maken. Deze tool kan weliswaar het kaartje lezen en de bestanden kopiëren, maar de bestanden terugzetten werkt niet. Het past dan niet op het SD kaartje.

In Raspbian zit een standaard optie om een kopie te maken van het SD kaartje dat wel te gebruiken is om een back-up te restoren. Deze vind je in het menu onder Accessoires > SD Card Copier. Je kunt dan een kopie maken van het SD kaartje naar bijvoorbeeld een USB stick of USB disk.

RocView Installeren

Wil je optimaal profiteren van de client-server architectuur van RocRail dan kun je er voor kiezen om RocView, de client, op een aparte PC te installeren. Er zijn een aantal situaties waar dit voordelen biedt.

  • De Raspberry met RocRail is weggewerkt bij de treinbaan en je hebt geen monitor en toetsenbord aan de Raspberry gekoppeld.
  • De PC of laptop die je gebruikt om de baan te bedienen wordt ook voor andere dingen gebruikt of staat niet in het zelfde vertrek als de baan.
  • Het gemak om vanaf de bank je baan te configureren.
  • Bedenk zelf een reden…

Zelf maak ik ook gebruik van een aparte installatie op mijn eigen PC, Linux, en laptop, Windows. Zeker in het stadium waar je nog bezig bent met het baanplan en het toevoegen van bezetmelders en decoders is het prettig dat je dit vanaf iedere willekeurige locatie kunt doen. Voor zover bij mij bekend is er geen apart installatiebestand beschikbaar om alleen de RocView client te installeren en gebruik je dezelfde installatie als voor de RocRail server. Tijdens de installatie worden zowel de server als de client geïnstalleerd. Gebruik je alleen RocView, dan hoef je RocRail niet als server automatisch op te laten starten. de server van deze installatie gebruik je niet.

Houd er rekening mee dat afbeeldingen die je in de client toevoegt, bijvoorbeeld van locomotieven, niet automatisch op de server of in andere clients beschikbaar zijn. deze moet je handmatig kopieren naar de images folder op de server en overige clients.

Tips

Voor wie niet bekend is met Linux heb ik een paar tips die het werken met Linux wat makkelijker te maken:

  • Bestandsnamen en namen van directories zijn case-sensitive.
  • Met de pijltje-omhoog en pijltje-omlaag toetsen kun je “bladeren” door eerder uitgevoerde commando’s
  • ben je een directory of bestandsnaam aan het typen, met de [Tab] toets wordt de naam verder aangevuld
  • I.p.v. commando’s uit de beschrijving over te typen, kun je ze ook kopiëren en plakken. Gaat een stuk sneller en voorkomt typefouten.
  • Trek de stekker, als het enigszins kan, niet uit een draaiende Raspberry. Probeer deze altijd eerst netjes te stoppen. Vanuit de desktop onder het hoofdmenu de optie “Shutdown” gebruiken of in PutTTY het commando uitvoeren:
    sudo shutdown -h now

Links

Niet alles wat in deze blogs beschreven wordt is zelfbedacht. Ik aak graag gebruik van informatie die door anderen beschreven is. Maar ik ben niet iemand die met de credits gaat pronken. Hieronder vind je een overzicht van nuttige links naar een aantal websites. Dit zijn websites waar ik zelf de informatie vandaan gehaald heb om RocRail te installeren, maar ook sites die ik op mijn zoektocht tegenkwam en bruikbare informatie bevatten

Mocht je vragen hebben over deze 4 blogs dan kun je mij e-mailen op het volgende adres: rocrail@waarisguus.nl
Ik heb geen banden met RocRail, vragen over het product, of andere zaken met betrekking tot RocRail, kun je kwijt op het RocRail forum. Deze zal ik dan ook niet beantwoorden.

Deel 3

RocRail installeren op een Raspberry PI – Deel 3

Toen ik aan deze blog begon had ik nog geen idee hoe lang het verhaal zou worden. Gaandeweg kwam ik er al snel achter dat dit een te groot verhaal zou worden voor één blog en heb ik besloten het op te knippen in meerdere delen. Uiteindelijk zijn het 4 delen geworden en heb ik getracht de indeling zo logisch mogelijk te houden. Je hoeft dus niet alle delen te lezen, maar kunt er uit pikken wat voor jou interessant of relevant is. De indeling is als volgt:

  • Deel 1, inleiding en motivering van mijn keuzes.
  • Deel 2, Stukje geschiedenis hoe het verlopen is.
  • Deel 3, Installatie van tools, Raspbian en RocRail.
  • Deel 4, Bonus, additionele tools, tips, links en wijsheden.

Deel 3

In dit 3e deel zal ik de installatieprocedure beschrijven van Raspbian, het operating system voor een Raspberry PI, en RocRail

In de handleiding zal ik soms verwijzen naar andere sites waar een perfecte uitleg staat hoe iets uitgevoerd moet worden en andere keren zal ik dit zelf beschrijven. Ook zal ik wat verwijzingen toevoegen naar websites waar aanvullende informatie of handige tips te vinden zijn.

Kookboek

Wat heb je nodig?

  • Raspberry PI, bij voorkeur een PI 3 of PI 3+
  • Voeding
  • SD kaartje van minimaal 4 GB, 8 GB is aan te bevelen
  • PC met SD card slot of een SD card reader
  • Bedraad of WiFi netwerk
  • Beetje lef

Optioneel

  • USB stick (bijvoorbeeld SanDisk Cruzer Fit 16GB)
  • Draadloos toetsenbord met touchpad (bijvoorbeeld Logitech K400 Plus Wireless Touch)
  • Netwerkkabel

Mocht je geen Raspberry PI voorhanden hebben, deze zijn goed verkrijgbaar, bij veel winkels te koop, en zijn niet duur. Je kunt ze bijvoorbeeld bestellen bij SOS Solutions of KIWI Electronics. Een starterskit is geen verkeerde keuze, je hebt dan alle componenten om van start te gaan, en je weet zeker dat alles bij elkaar past. Ben je van plan alles zelf los te kopen, geen probleem, dat kan zonder meer, maar zorg dan wel dat je een voeding koopt die geschikt is voor de Raspberry PI, en dat je een SD kaartje hebt dat geschikt is voor dit doel. Dit moet minimaal een klasse 10 kaartje zijn. De voeding moet 5V en minimaal 2A leveren. beter is een voeding met 2,5A. Een te lage stroomsterkte kan tot gevolg hebben dat de USB poorten niet, of niet goed, werken en vergroot de kans dat het SD kaartje corrupt raakt.

Nu ben ik niet op de hoogte van de technische kennis van de lezers, of de grootte van het budget dat iemand beschikbaar heeft, en een aantal opties zijn handig, maar niet strikt noodzakelijk, om de installatie uit te voeren en RocRail te gebruiken.

Als je straks RocRail, en dan met name RocView, gaat gebruiken in dezelfde ruimte waar je treinbaan is, dan heb je daar ook een monitor en toetsenbord nodig. Een monitor, toetsenbord en muis zijn ook handig tijdens de installatie van de Raspberry, maar wederom niet noodzakelijk. Zelf gebruik ik dit toetsenbord: Logitech K400 Plus Wireless Touch. Misschien niet het goedkoopste toetsenbord, maar wel een erg fijn toetsenbord en ondersteund door de Raspberry.

Omdat ik regelmatig met Raspberry’s werk en deze installeer en configureer heb ik een netwerkkabel, voeding en HDMI kabel, die aangesloten is op een TV) klaar liggen zodat ik direct aan de slag kan. Ook maak ik gebruik van een klein draadloos toetsenbord van Rapoo dat ik even aansluit op de Raspberry. Als je een draadloos toetsenboerd aan gaat schaffen om te gebruiken met een Raspberry, let er dan op dat deze out-of-the box werkt en dat er geen additionele software nodig is om het toetsenbord te kunnen gebruiken. Dat er extra software nodig is om bepaalde functionaliteit van het toetsenbord te kunnen gebruiken, is geen probleem.

Voorbereiding

Een goede voorbereiding is het halve werk wordt er wel eens gezegd, en dat geldt zeker bij deze installatie. het werkt een stuk makkelijker als je alle benodigde spullen bij de hand hebt en de gebruikte tools al geïnstalleerd hebt.

In deze handleiding wordt er van uit gegaan dat een Windows PC gebruikt wordt. Zelf gebruik ik Linux, maar ik denk dat het overgrote deel gewend is een Windows PC te gebruiken. Wanneer er tijdens het uitvoeren van de acties een bepaald toets, of toetscombinatie, op het toetsenbord gebruikt moet worden, dan is dit aangegeven met de naam van de toets tussen rechte haken. Bijvoorbeeld [Enter]. Menu opties worden aangegeven met schuine haken. Bijvoorbeeld <OK>.

Allereerst de benodigde software downloaden:

  • Raspbian, voor deze installatie wordt de volledige versie, met desktop, maar zonder de recommended software gebruikt. Klik op de “Download ZIP” button.
  • RocRail, de RocRail versie voor de Raspberry. (Deze mag je nog even overslaan).
  • Win32 Disk Imager, Een OS installeren op een Raspian kan alleen door een disk image te downloaden en dat naar de SD kaart te kopiëren. Daar heb je deze tool voor nodig.
  • SD Card Formatter, Optioneel. Deze tool kan nodig zijn mocht de installatie van Raspbian mislukken en het niet lukt het image opnieuw weg te schrijven naar de SD kaart. Deze tool kan ook gebruikt worden om corrupte SD kaartjes weer geschikt te maken om te gebruiken.
  • PuTTY, Dit is een SSH en Telnet client en heb je nodig om in te kunnen loggen op de Raspberry vanaf je PC.

De installatie

Installatie Win32 Disk Imager

Installeer Win32 Disk Imager op je PC. Ik heb deze tool er zelf al opstaan en heb geen beschrijving voorhanden, maar de installatie wijst zichzelf. Wel heb ik een filmpje gevonden om je te helpen indien het niet lukt.

Installatie van PuTTY

Installeer PuTTY op je PC. Ook hiervan heb ik helaas geen beschrijving, maar ook dit wijst zichzelf. Mocht je er niet uit komen? Een uitgebreide installatie procedure kun je hier vinden.

Installatie SD Card Formatter

Alhoewel je deze tool niet direct nodig hebt, kan het toch nuttig zijn om deze gelijk te installeren. Al heb je hem nu misschien niet nodig, het kan zijn dat je hem ooit wel eens nodig hebt. Ook als je werkt met SD kaartjes in een telefoon of camera kan het nog wel eens van pas komen. Een handleiding vind je op dezelfde site waar je ook de software kunt downloaden.

Installatie Raspian

En dan gaan we nu echt beginnen. Het installeren van het Raspbian OS op het SD kaartje. Het bestand dat je gedownload hebt zit in een .zip bestand, deze moet je eerst uitpakken. Het uitgepakte bestand heeft een naam in het formaat yyyy-mm-dd-raspbian-stretch.img, bijvoorbeeld 2018-11-13-raspbian-stretch.img.
De datum in de bestandsnaam duidt op de releasedatum van de software en “stretch” in de naam heeft betrekking op de versie van raspbian. De versies worden niet aangegeven met nummers, maar met namen.

Start Win32 Disk Imager en klik op het folder icoontje naast het invul veld onder “Image Bestand”. Selecteer daar het raspbian image bestand dat je zojuist uitgepakt hebt. Bij “Doelapparaat” selecteer de schijfletter die overeenkomt met de SD kaart. In de meeste gevallen is deze al standaard geselecteerd, maar controleer dit voor de zekerheid.

Image bestand selecteren en doelapparaat selecteren

Klik vervolgens op de button “Schrijven”, Je krijgt nu een waarschuwing dat het doelapparaat, je SD kaart, overschreven wordt. Als je zeker bent van je zaak, klik dan op “Yes”.

Bevestigen

Het Image wordt nu weggeschreven naar de SD kaart. Zodra de actie uitgevoerd is verschijnt de melding “Schrijven is gelukt” op het scherm, Klik op “OK”.

Nu gaan we even een trucje uithalen om ons zelf makkelijker te maken. Standaard is SSH niet geactiveerd. SSH is nodig om remote toegang te krijgen tot de Raspberry. Open Windows verkenner en ga naar de schijf die de SD kaart weergeeft. In dit voorbeeld is dat de letter “E”.

Maak een ssh bestand aan

In het rechter deel van het scherm, klik met de rechtermuisknop en kies voor “Nieuw > Text Bestand” en geeft het de naam “ssh” zonder bestandsextentie, zoals in het voorbeeld.
Je kunt nu de SD kaart uit de PC halen en in de Raspberry PI plaatsen.

Je hebt ook een netwerkverbinding nodig. Dit kan op twee manieren, via een bedraad netwerk of draadloos. Wil je gebruik maken van een bedraad netwerk, steek dan een netwerkkabel in de netwerkaansluiting op de PI. Wil je gebruik maken van een draadloos netwerk, dan kan dat alleen door eerst de Wifi configuratie uit te voeren. Hiervoor het je een monitor, muis en toetsenbord nodig.

Sluit de HDMI kabel aan op de Raspberry. Wil je een muis en\of toetsenbord gebruiken, sluit deze dan ook aan. Als laatste steek je de micro USB stekker van de voeding in de Raspberry PI. De Raspberry PI wordt nu opgestart.

In de volgende stap ga ik proberen uit te leggen welke stappen je uit moet voeren in de verschillende scenario’s. Welk scenario voor jou het beste is, hangt van je situatie af.

Scenario 1

Je maakt gebruik van een WiFi netwerk. Je hebt een monitor, muis en toetsenbord nodig om verder te kunnen gaan.

Scenario 2

Je maakt gebruik van een bedraad netwerk, de Raspberry is verbonden met het netwerk en je weet welk IP adres de Raspberry heeft.

Raspbian configuratie

Scenario 1

Is scenario 2 voor jou van toepassing, dan mag je deze stap overslaan. Deze stap voeren we wel uit, maar op een andere manier.

Nu de Raspberry PI opgestart is, zie je als het goed is een soortgelijk scherm:

Desktop Raspberry PI

In de pop-up over SSH en wachtwoord mag je op “OK” klikken. Dit wordt later opgelost. Achter deze pop-up zit de volgende pop-up. deze klikken we niet zomaar weg. Deze is bedoeld om je door de basis setup van Raspbian te leiden.

Configuratie Raspberry

Klik op “Next”.
Bij “Country”, selecteer “Netherlands”, de andere velden worden nu gelijk aangepast aan “Dutch” en “Amsterdam”. Vink de optie “Use US keyboard” aan. Klik op “Next”.

In het volgende scherm wordt je gevraagd het wachtwoord van de standaard gebruiker, pi, te wijzigen. Je kunt dit nu doen of later. het standaard wachtwoord van de gebruiker pi is “raspberry” Dit heb je nodig als je bijvoorbeeld via SSH inlogt. Wijzig het wachtwoord en klik op “Next” of sla deze stap over en klik direct op “Next”.

Bij de volgende optie wordt het WiFi netwerk geconfigureerd. Selecteer je WiFi netwerk en klik op “Next”. In het volgende scherm, vul het WiFi wachtwoord in en klik op “Next”.

In het volgende scherm wordt gevraagd of je een software update uit wilt voeren. Het betreft updates van het OS en van de applicaties die standaard geïnstalleerd worden. Je kunt deze stap nu overslaan en op “Skip” klikken, maar ik raad je aan om wel een software update uit te voeren. Klik op “Next”.

Nadat het updaten van de software verschijnt er een melding dat de update klaar is en de vraag of je wil rebooten. Kies voor een reboot. En je kunt nu een kopje koffie gaan drinken. Maar terwijl je van je kopje koffie geniet is het wel zinvol om mee te lezen met scenario 2 omdat daar een paar dingen aan bod komen die je later nodig hebt.

Dan volgt nu de procedure voor scenario 2.

Scenario 2

Start PuTTY op. In het veld “Host Name (or IP address) vul je het IP adres in van je Raspberry en klik vervolgens op de button “Open”. De eerste keer dat je via SSH een verbinding maakt krijg je een security alert. Klik op “Yes”. Inloggen met de gebruikersnaam pi en wachtwoord raspberry. Dit is de standaard login voor Raspbian. Vul de gebruikersnaam, pi, in en druk op [Enter]. Je krijgt nu de de vraag om het wachtwoord in te vullen. Voer het wachtwoord in en druk op [Enter].

Als het goed is heb je nu een scherm dat er ongeveer zo uit ziet:

Na succesvolle login

Om prettiger te kunnen werken kun je het beste dit venster iets groter maken. Ga met de muis naar de hoek rechtsonder en sleep het venster iets groter zoals bij iedere Windows applicatie.

Nu ga ik niet alle Linux commando’s op voorhand vertellen en uitleggen, maar een paar dingen zijn handig, en essentieel, om te weten. De gebruiker waarmee je ingelogd bent is een standaard Linux gebruiker en deze heeft niet voldoende rechten om allerlei taken binnen het systeem uit te mogen voeren. Binnen Linux wordt dat opgelost door je voor te doen als de gebruiker “root”. De gebruiker “root” heeft beheer rechten en kun je vergelijken met de Windows Administrator gebruiker. Om commando’s met “root” rechten uit te voeren wordt het commando voorafgegaan door het commando “sudo”.

Heb je een tekst gekopieerd naar het klembord en je geeft een rechter muisklik in het PuTTY scherm, dan wordt automatisch de tekst in het scherm geplakt.

We gaan nu als eerste er voor zorgen dat de software up-to-date is. Type in het PuTTY scherm het volgende commando in:
sudo apt-get update

Als deze actie klaar is, voer dan het volgende commando uit:
sudo apt-get upgrade

Afhankelijk van het aantal beschikbare updates kan dit even duren. Zodra de software update klaar is gaan we een stukje configuratie aanpassen. Voer het volgende commando uit:
sudo raspi-config

Er wordt nu een scherm te zien dat er als volgt uit ziet:

Het raspi-config configuratie scherm

Met behulp van de pijltjestoetsen en de [Tab] toets kun je door het scherm navigeren. De eerste optie laten we voor nu even voor wat het is. Ga met de pijltjestoets 1 regel naar beneden en druk op [Enter]

We gaan nu de hostnaam van de Raspberry aanpassen. Druk op [Enter]. Je krijgt nu een informatieve mededeling waaraan een hostnaam moet voldoen, lees dit even en druk dan op [Enter]. De standaard hostnaam is “raspberrypi”, ben je daar tevreden mee, dan laat je dit staan. Wil je een eigen naam gebruiken, vul die hier in. Ik gebruik hier “rocrail”. Druk op [Tab] en vervolgens op [Enter].

Wil je WiFi gebruiken voor je Raspberry, ga dan weer met de pijltjestoets 1 regel naar beneden en druk op [Enter]. In het volgende scherm wederom 1 regel naar beneden en druk op [Enter]. Vul het SSID van je WiFi netwerk in. Dit is de naam van je WiFi netwerk dat je thuis gebruikt. Druk op [Tab] en vervolgens op [Enter]. Vul in het volgende scherm het wachtwoord in van je WiFi netwerk, druk op [Tab] en [Enter].  Je WiFi instellingen zijn nu geconfigureerd.

Ga nu naar optie 4, Localisation Options, en vervolgens naar I1 Change Locale. selecteer de volgende opties:

  • en-GB.UTF-8
  • en-US.UTF-8
  • nl_NL.UTF-8
  • nl_NL@Euro

Het selecteren van een locales doe je met een druk op de spatiebalk. Wanneer je alle locales geselecteerd hebt, ga je met TAB naar <OK> en drukt op [Enter].

Terug in het hoofdmenu, selecteer nogmaals optie 4 en ga nu naar optie I2 Change Timezone. selecteer Europe en vervolgens Amsterdam, als je in Nederland woont.

Ga naar I4 Change wi-fi Country en selecteer NL Netherlands.

Wanneer er een monitor of TV aangesloten is op de Raspberry en je hebt last van een zwarte rand rondom het scherm, dan kun je dat aanpassen bij optie 7, Advanced Options, A2 Overscan. Standaard staat deze enabled. Druk op [Tab] en vervolgens op [Enter] om dit uit te schakelen. Als het goed is ben je na een herstart de zwarte rand kwijt.

Wanneer je klaar bent met aanpassen, en weer in het hoofdscherm bent, druk op [Tab] zodat <Finish> geselecteerd is en druk op [Enter]. Druk op [Enter] om te rebooten en de wijzigingen effectief te maken. Dit verbreekt ook de verbinding in PuTTY.

Installatie RocRail

Vanaf hier is er geen verschil meer tussen scenario 1 en 2. Tenminste, bijna geen verschil. De volgende stappen worden via de Command Line Interface (CLI) uitgevoerd. Heb je scenario 2 gevolgd, dan kun je dit via PuTTY doen. Heb je scenario 1 gevolgd, dan kun je zowel PuTTY als de terminal applicatie op de Raspberry gebruiken. deze start je op door op het terminal icoontje te klikken:

Terminal starten

Nu je de terminal applicatie gestart hebt, is het gelijk een mooi gelegenheid om te controleren of je een netwerkverbinding hebt. Deze heb je nodig om de rest van de stappen uit te kunnen voeren en later om RocRail te kunnen gebruiken.

Type in het scherm het volgende commando gevolgd door : ifconfig

Dit moet een resultaat opleveren dat lijkt op onderstaand scherm:

Resultaat netwerkconfiguratie

Afhankelijk van het soort netwerkverbinding(en) die je gebruikt kan het scherm er iets anders uit zien.

eth0 staat voor de ethernet adapter, oftewel een bedrade netwerkconnectie, wlan0 staat voor een draadloze netwerkadapter (WiFi) en lo staat voor de loopback adapter. Deze is altijd aanwezig.
Bij de aanwezige netwerkadapter moet ook het IP adres, netmask en broadcast adres getoond worden. Is dat niet het geval, dan heeft de betreffende adapter geen netwerk connectie.

Of je netwerk connectie werkt, en verbinding heeft met internet, kun je heel makkelijk testen door een PING uit te voeren. Type het volgende commando gevolgd door [Enter]: ping www.nu.nl

Dit moet ongeveer onderstaand resultaat opleveren:

PING nunl.aws.sanomaservices.nl (143.204.101.64) 56(84) bytes of data.
64 bytes from server-143-204-101-64.fra50.r.cloudfront.net (143.204.101.64): icmp_seq=1 ttl=243 time=21.5 ms
64 bytes from server-143-204-101-64.fra50.r.cloudfront.net (143.204.101.64): icmp_seq=2 ttl=243 time=23.4 ms

— nunl.aws.sanomaservices.nl ping statistics —
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 21.583/22.516/23.449/0.933 ms

Druk op [Ctrl] + [c] om de ping te stoppen anders blijft deze oneindig doorlopen.

Wanneer er geen resultaat is, is er iets niet in orde met je netwerk en zul je dat eerst op moeten lossen.

Dan wordt het nu tijd voor het echte werk, daar waar het allemaal om gaat. Wanneer je niet de desktop gebruikt, maak dan een verbinding met de Raspberry via PuTTY en log in als de gebruiker pi.

We gaan nu eerst de software downloaden op de Raspberry. Ga naar de website http://rocrail.net/software/rocrail-snapshot/ , onder de kop Ubuntu/Raspbian staan 2 bestanden. Je moet het bestand hebben met de volgende naam: rocrail-xxxxx-raspbian-stretch-armhf.deb, waarbij xxxxx staat voor de versie. Klik met de rechter muisknop op de link en kopieer het linkadres. In het terminal venster, type het volgende commando: wget en plak vervolgens hier de link achter. In PuTTY doe je dat door met de rechter muisknop in het scherm te klikken. Het volledige commando wordt dan als volgt:
wget http://rocrail.net/software/rocrail-snapshot/rocrail-14572-raspbian-stretch-armhf.deb

RocRail is afhankelijk van software die nog niet aanwezig is, en eerst geïnstalleerd moet worden. Voer het volgende commando uit:
sudo apt-get install libwxgtk3.0-dev libusb-1.0-0-dev

Nu kunnen we RocRail installeren. Voer het volgende commando uit:
sudo dpkg -i rocrail-14572-raspbian-stretch-armhf.deb

Indien de installatie succesvol verlopen is, dan zijn er in de desktop, in het Raspberry menu, ook een paar menu items bijgekomen. Deze vind je onder “Other”.

RocRail items in het menu

Nu moeten we er nog voor zorgen dat RocRail automatisch start wanneer de Raspberry (her)start. Voer het volgende commando uit:
sudo update-rc.d rocraild defaults

Herstart de Raspberry zodat we kunnen controleren of RocRail inderdaad automatisch start. Voer het volgende commando uit:
sudo reboot

Zodra de Raspberry herstart is, log in via PutTTY als gebruiker pi, en voor het volgende commando uit:
sudo service rocraild status

Het resultaat dat je krijgt moet er ongeveer zo uit zien:

Status van de RocRail service

Met de volgende commando’s kun je RocRail handmatig starten en stoppen:
sudo service rocraild start
sudo service rocraild stop

Wijzigen wachtwoord

Mocht je het wachtwoord van de gebruiker pi nog niet gewijzigd hebben, dan is het verstandig om dat nu te doen. Tenzij je van plan bent om eerst een back-up te maken van je SD kaart, zoals in het volgende deel beschreven wordt.

Maak een verbinding met PuTTY naar de Raspberry en log in als gebruiker pi. Voer het volgende commando uit:
sudo raspi-config

De optie om het wachtwoord te wijzigen staat al geselecteerd, druk op [Enter]. In het volgende scherm, druk op [Enter]. Je verlaat nu even het configuratiescherm en komt terug in de command line. Type het nieuwe wachtwoord in en druk op [Enter]. Vervolgens wordt je gevraagd het wachtwoord nogmaals in te typen. Type het nieuwe wachtwoord nogmaals in en druk op [Enter]. Je komt nu terug in het configuratie scherm en krijgt een bevestiging dat het wachtwoord succesvol gewijzigd is. Druk op [Enter] om het scherm te sluiten. Druk 2x op [Tab] en vervolgens op [Enter] om het configuratiescherm af te sluiten.

 

Deel 2 Deel 4

 

RocRail installeren op een Raspberry PI – Deel 2

Toen ik aan deze blog begon had ik nog geen idee hoe lang het verhaal zou worden. Gaandeweg kwam ik er al snel achter dat dit een te groot verhaal zou worden voor één blog en heb ik besloten het op te knippen in meerdere delen. Uiteindelijk zijn het 4 delen geworden en heb ik getracht de indeling zo logisch mogelijk te houden. Je hoeft dus niet alle delen te lezen, maar kunt er uit pikken wat voor jou interessant of relevant is. De indeling is als volgt:

  • Deel 1, inleiding en motivering van mijn keuzes.
  • Deel 2, Stukje geschiedenis hoe het verlopen is.
  • Deel 3, Installatie van tools, Raspbian en RocRail.
  • Deel 4, Bonus, additionele tools, tips, links en wijsheden.

Deel 2

De eerste poging

Toen ik tijdens mijn zoektocht naar geschikte software gestuit was op RocRail heb ik vrijwel direct besloten om die uit te gaan proberen. Mijn voorkeur ging uit naar RocRail op Raspbian omdat ik daar het beste in thuis ben. In Raspbian welteverstaan. Ik was echter nog niet zo goed thuis in RocRail en kwam meerdere downloadpagina’s tegen met verschillende downloads en benamingen. Eerlijk gezegd zag ik door de bomen het bos niet meer. Ik heb toen e.e.a. aan software gedownload en getracht te installeren, helaas zonder succes.

Omdat RocRail ook beschikbaar is voor Ubuntu werd dat de volgende stap. Een installatie op Ubuntu. Maar omdat ik een Raspberry PI hiervoor wil gebruiken betekende dat wel dat ik eerst een versie van Ubuntu moest vinden die geschikt is om te installeren op een Raspberry PI.

Nu gaat het installeren van een OS op een Raspberry PI iets ander dan het installeren van bijvoorbeeld Windows of Linux op een PC. Een Raspberry PI heeft geen harde schijf, maar maakt gebruik van een (micro)SD kaartje. Dit houdt in dat je eerst een image met het OS moet downloaden en vervolgens, met speciale software, dat image kopieert naar het SD kaartje. Deze actie voer je uit op een PC en als dat gebeurd is steek je het SD kaartje in de Raspberry en start je de Raspberry op.

Ubuntu Mate

Het heeft even geduurd eer dat ik een Ubuntu versie vond die, en geschikt was voor de PI, en die door RocRail ondersteund wordt. Want dat is ook een puntje bij Linux en Linux varianten. Niet iedere versie van software is geschikt voor iedere versie van het OS. Soms heb je geluk en werkt het, maar vaak krijg je foutmeldingen en werkt de software niet, of maar gedeeltelijk. Dit heeft dan te maken met de versie van een bepaalde softwarelibrary van het OS, die niet overeenkomt met de noodzakelijke versie van de software die je wilt gebruiken. Voor wie hier niet in thuis is, het is een complex verhaal.
Maar goed, uiteindelijk uitgekomen bij Ubuntu Mate, een “lichtere”variant van Ubuntu die geschikt gemaakt is voor de Rasberry PI.

Helaas verliepen de eerste pogingen niet geheel vlekkeloos. Na de installatie van Ubuntu Mate had ik een instabiel systeem, dat crashte of vastliep bij de installatie van RocRail. Onwerkbaar. Ik heb meerdere keren een installatie van Ubuntu Mate uitgevoerd, een ander SD kaartje geprobeerd, zelfs het image opnieuw gedownload tot ik uiteindelijk een goed werkend en stabiel systeem had.

Toen er eenmaal een goed werkend OS op de Raspberry stond was het niet zo’n probleem om RocRail te installeren. Nadat dat gebeurd was kon ik aan de slag en gaan experimenteren. Ik ben begonnen met een testbaantje, een simpel dubbelsporig ovaal met een inhaalspoor en 2 wissels om van de buitenste baan in de binnenste baan te komen. Vervolgens de baan in blokken gaan verdelen, bezetmelders aangesloten, en geconfigureerd in RocRail. Zo zijn mijn eerste schreden gezet op het gebied van de digitale spoorbaan.

Hobbels

In de periode na de installatie van RocRail, het testen van RocRail met het testbaantje, en de overgang naar de definitieve baan, heb ik nog wel wat probleempjes gehad met RocRail en RocView. Het is te lang geleden om het mij nog exact te herinneren, maar er ligt me wel nog wat van bij, dat het te maken had met de locatie waar het baanplan opgeslagen wordt en welke workspace gebruikt wordt. Of het gebeurd is tijdens de herinstallatie van de client op een PC of een herinstallatie van RocRail op de Raspberry, ik weet het niet meer. Feit was wel dat ik niet meer de laatste versie van het baanplan had. Dit had onder andere te maken met de bestandslocatie die door de server gebruikt werd. Het leek er op dat deze de locatie van de client gebruikte waardoor wijzigingen niet correct opgeslagen werden. uiteindelijk heb ik dit op kunnen lossen door de data in de client en server gelijk te trekken. Dit heeft wel als gevolg gehad dat er wijzigingen verloren gegaan zijn. Een goede reden om back-ups te gaan maken van de directory waar de bestanden staan.

Back-up script

Om er voor te zorgen dat ik in de toekomst terug kan vallen op de meest recente bestanden, heb ik besloten om van de RocRail folder dagelijks een back-up te maken, zodat ik bij problemen hier op terug kan vallen. Ik heb meerdere Raspberry PI’s in gebruik, voor verschillende doeleinden, en daar maak ik ook gebruik van een back-up script om data veilig te stellen. Met een kleine aanpassing kan ik dit script ook gebruiken op de RocRail machine. Zo gezegd, zo gedaan. Door middel van een cronjob wordt iedere dag het back-up script uitgevoerd en een back-up gemaakt van de RocRail directory en naar een FTP server gekopieerd.

Helaas blijkt dit in de praktijk wat minder goed te werken. De cronjob wordt alleen uitgevoerd als er een gebruiker ingelogd is via de desktop. En dat is niet altijd het geval. Na een herstart kan het nog wel eens enkele dagen, of langer, duren voordat via de desktop ingelogd wordt en wordt er ook geen back-up gemaakt.

SD kaart corrupt?

Het afgelopen jaar heb ik, door omstandigheden, niets met de treinbaan gedaan en dus ook niets met RocRail. Een paar weken terug wilde ik de machine updaten op OS niveau. Helaas kreeg ik een foutmelding en heb ik de Raspberry herstart. Helaas wilde deze niet meer opstarten. De oorzaak zou kunnen zijn dat de SD kaart corrupt geraakt is. Dit wel eens voorkomen bij een Raspberry. Oorzaak zou ook ergens anders in kunnen zitten, maar ik had niet zo veel zin om het uit te zoeken. Bovendien wilde ik de Raspberry eigenlijk toch al vanaf een USB stick draaien. Dat is stabieler dan een SD kaartje.

Van Ubuntu Mate naar Raspbian

Als voorbereiding op de nieuwe installatie ging ik alvast op zoek naar de laatste versie van RocRail om te downloaden. Op de downloadpagina vond ik nu wel welke download ik moet hebben om het op Raspbian te installeren en bovendien is er een duidelijke handleiding voor de installatie.

De installatieprocedure van zowel Raspbian als RocRail zal ik in deel 3 beschrijven. Ook zal ik er wat tips bij geven om je RocRail installatie te beschermen tegen onheil en herstelopties geven.

Deel 1 Deel 3

RocRail installeren op een Raspberry PI – Deel 1

Toen ik aan deze blog begon had ik nog geen idee hoe lang het verhaal zou worden. Gaandeweg kwam ik er al snel achter dat dit een te groot verhaal zou worden voor één blog en heb ik besloten het op te knippen in meerdere delen. Uiteindelijk zijn het 4 delen geworden en heb ik getracht de indeling zo logisch mogelijk te houden. Je hoeft dus niet alle delen te lezen, maar kunt er uit pikken wat voor jou interessant of relevant is. De indeling is als volgt:

  • Deel 1, inleiding en motivering van mijn keuzes.
  • Deel 2, Stukje geschiedenis hoe het verlopen is.
  • Deel 3, Installatie van tools, Raspbian en RocRail.
  • Deel 4, Bonus, additionele tools, tips, links en wijsheden.

Deel 1

Hoe het begon

Toen ik een paar jaar geleden besloot mijn oude hobby weer op te pakken moest ik weer vanaf 0 (niet spoor-0) beginnen. Gezien de beschikbare ruimte die ik heb, heb ik gekozen voor N spoor. Daarnaast wilde ik digitaal gaan rijden en volledig automatisch. Dat laatste zal wel komen doordat ik zelf in de ICT werk en van automatiseren ben.

Op het gebied van digitale modelbanen was ik een noob (beginneling) en heb mijzelf eerst verdiept in wat er allemaal nodig is en wat er bij komt kijken om digitaal te gaan rijden. Gelukkig is er op dat gebied genoeg informatie te vinden. Ik kwam er al snel achter dat digitale centrales nogal prijzig kunnen zijn. Ook was het mij nog niet direct duidelijk waar de prijsverschillen in zitten. Met andere woorden: kan een duurdere centrale veel meer dan een goedkopere en heb ik dat nodig als beginneling? Gelukkig kwam op dat moment net de centrale van Digikeijs, de DR5000 op de markt. Al wel te bestellen, maar nog niet direct leverbaar. Maar wel voor een hele schappelijke prijs. Als beginner leek mij dat een prima centrale om mee te starten.

Het volgend item op mijn zoektocht was software om de baan aan te sturen. Ook daarin was ik een noob. Wederom veel informatie gevonden en veel wijzer geworden. Maar ik had zelf ook een paar wensen en eisen waaraan de software moest voldoen. Het liefst software die op Linux draait en niet te duur, bij voorkeur open source. Nog prettiger zou het zijn dat het op een Raspberry PI kan draaien. Ik had veel gelezen over Koploper en dat dat door veel spoorfanaten gebruikt wordt. Zeer prettig, want dan zijn er ook veel mensen die je eventueel kunnen helpen bij vragen of problemen. Maar ik had ook gelezen dat het product eigenlijk niet meer verder ontwikkeld wordt, alleen wat bug fixes. Dat maakt het minder interessant. Daarnaast draait de software alleen op Windows. Uiteindelijk zijn er twee producten overgebleven die voldeden aan mijn wensen en eisen, iTrain en RocRail.

RocRail versus iTrain

Nu heb ik geen heel erg uitgebreide test en vergelijking gedaan tussen RocRail en iTrain, maar eigenlijk al snel gekozen voor RocRail. Ik was in eerste instantie al gestart met RocRail en heb later pas iTrain uitgeprobeerd. Misschien niet de meest logische volgorde, maar zo is het nu eenmaal gegaan. Hieronder in het kort even een paar verschillen tussen iTrain en RocRail die invloed hebben gehad op mijn keuze.

  • Licentiekosten van iTrain. Afhankelijk van welke opties je wilt kunnen gebruiken gaat de prijs fors omhoog.
  • RocRail is gratis, je mag een donatie doen, maar het moet niet. Zonder donatie werkt alles, je hebt alleen een pop-up bij het opstarten van de client.
  • RocRail gebruikt een client-server model. de voordelen zal ik later toelichten
  • De gebruikersinterface van iTrain ziet er beter uit dan van RocRail. Het ziet er allemaal wat “gelikter” uit.

Raspberry PI

Ik liet al doorschemeren dat mijn voorkeur uitgaat naar software die kan draaien op een Raspberry PI en wel om de volgende redenen:

  • Een Raspberry PI is goedkoop in aanschaf, een complete startset is al te koop voor ongeveer €65,-
  • Een Raspberry PI gebruikt nauwelijks stroom en produceert weinig warmte.
  • Een Raspberry PI is klein en bijna overal te plaatsten of weg te werken.
  • Prestaties zijn ruim voldoende voor het draaien van iTrain of RocRail.
  • Een Raspberry PI heeft tegenwoordig standaard WiFi aan boord dat out-of-the-box werkt. Je hoeft dus geen netwerkaansluiting in de buurt te hebben en dat maakt het plaatsen een stuk makkelijker, je hebt alleen een stopcontact nodig en WiFi is denk ik in de meeste woningen wel voorhanden.
  • Een Raspberry PI is eventueel ook te bevestigen achter een monitor of TV, er zijn zelfs speciale VESA mounts te koop. Handig als de monitor voorzien is van VESA bevestigingspunten.

RocRail en Raspberry PI

Er zijn twee opties om RocRail op een Raspberry PI te installeren, of liever gezegd er zijn twee verschillende operating systems geschikt om RocRail op een Raspberry PI te gebruiken, Raspbian en Ubuntu Mate.
Raspbian is min of meer het standaard operating system voor een Raspberry PI en is gebaseerd op Debian Linux. Ubuntu Mate is een afgeslankte versie van Ubuntu speciaal bedoeld voor computers met beperkte capaciteit zoals een Raspberry PI.

Ubuntu is een Linux tegenhanger voor een Windows PC en dat geldt min of meer ook voor Ubuntu Mate. Raspbian is meer gericht op het laten draaien van software zonder al te veel toeters en bellen. er is ook een “light” variant die wat verder uitgekleed is en bijvoorbeeld geen grafische interface (desktop) heeft. Beide versie zijn geschikt voor RocRail.

Aangezien RocRail een client-server architectuur heeft kun je daar heel handig gebruik van maken en heb je het voordeel dat je direct bij je baan geen PC nodig hebt. Het server component wordt geconfigureerd met behulp van de client en heeft daarom ook geen beeldscherm nodig. Zodoende kun je de Raspberry direct bij de baan plaatsen of eventueel onder de baan wegwerken. Eigenlijk op dezelfde plaatsen als waar je ook je decoders en bezetmelders monteert. Zorg er wel voor dat je er redelijk makkelijk bij kunt. Dat is soms nodig.

De client, RocView genaamd, wordt standaard ook geïnstalleerd met RocRail, maar kun je ook op een andere PC installeren. Dit kan een Windows PC zijn, maar ook een Mac of een Linux PC. Vanaf de client configureer je de server, maak je het baanplan voor de aansturing en koppel je alle componenten, zoals bezetmelders, decoders, etc. aan je baanbesturing.

Mijn setup

Op dit moment heb ik op een klein tafeltje bij de treinbaan, de ruimte is niet zo groot, een monitor staan en ligt de Raspberry daar vlakbij, en maak ik gebruik van een draadloos toetsenbord met geïntegreerd touchpad. Op mijn PC in mijn werkkamer en op mijn laptop heb ik de client geïnstalleerd. Ik werk meestal op mijn werkkamer omdat ik daar een stuk comfortabeler zit dan aan het tafeltje bij de treinbaan. Uiteindelijk zal de monitor, met daarachter de Raspberry, opgehangen worden aan de muur. Met behulp van het draadloze toetsenbord kan ik dan de baan bedienen of ik kan mijn laptop pakken en daarmee de baan bedienen.

Deel 2

Een permanente camera op je baan

Er zijn heel wat mensen die een camera inbouwen in een modeltrein, er opnames mee maken en deze delen op internet zodat je het gevoel krijgt alsof je als machinist op de trein rijdt. Ook zijn er heel wat mensen die een filmpje maken, al dan niet met geluid, met hun smartphone of videocamera, en dat delen met de rest van de wereld.

Ik had een ander idee.

Eén of meerdere camera’s die op de baan weggewerkt worden zodat ze niet zichtbaar zijn en die continu het beeld tonen dar door de lens geregistreerd wordt. Een camera gericht op het paradespoor die de voorbijrazende treinen mooi weergeeft, bijvoorbeeld vanuit een tunnel. Een camera in het stationsgebouw die een deel van het perron toont met de reizigers en alle binnenkomende en vertrekkende treinen laat zien. Of…. ach verzin ook maar zelf wat er allemaal mogelijk is.

Toen ik dit idee lanceerde op de N-spoor Facebook pagina werden er direct een aantal mensen enthousiast en nieuwsgierig hoe dat gerealiseerd kan worden, en hebben gevraagd om een “handleiding” om het ook zelf te kunnen doen.

Nu ben ik zelf een groot liefhebber van Raspberry PI computers.

Een Raspberry PI is een zeer kleine PC, met beperkte mogelijkheden, maar aan de andere kant kun je er heel veel mee. Een Raspberry heeft geen harde schijf, geen modules voor het interne geheugen en ook geen uitbreidingssloten voor extra hardware. Het OS en data gebruiken een SD kaartje voor de opslag. Intern geheugen zit standaard in de Raspberry, maar kan niet uitgebreid worden.

Het is beperkt mogelijk om randapparatuur aan te sluiten. Een Raspberry heeft, afhankelijk van het type, één of meerdere USB poorten. Verder is er standaard een aansluiting voor een camera en kan er, via een gpio connector hardware op de Raspberry aangesloten worden.

Het operating system moet via een PC op de SD kaart geïnstalleerd worden. Hiervoor is speciale software beschikbaar (gratis).

In dit artikel beschrijf ik een stappenplan om een camera op je baan te gebruiken met een Raspberry PI of een Raspberry PI Zero.

Voor je aan dit avontuur begint wil ik je wel even waarschuwen. Je hoeft geen nerd te zijn om dit uit te kunnen voeren, maar enige kennis van computers en je WiFi netwerk is wel noodzakelijk. De meeste mensen krijgen hun WiFi apparatuur van hun internet provider of kabelboer. Vaak al geconfigureerd of kant-en-klaar geïnstalleerd en gebruiken alleen de WPS knop om nieuwe apparaten aan het draadloze netwerk te koppelen. in dit verhaal moet je de naam weten van het SSID en de passphrase om een verbinding te kunnen maken.

Verder moet je ook niet bang zijn om commando’s in te typen en zonder knoppen zoals “OK”, “Cancel” en “Next” te werken. Oftewel je gebruikt in dit verhaal hoofdzakelijk een CLI, Command Line Interface. Voor de oudjes onder ons, denk aan een DOS box. De Raspberry van tegenwoordig beschikt veelal over een grafische interface, maar die wordt hier nauwelijks gebruikt.

Het Operating System dat op een Raspberry gebruikt wordt is een Linux variant. Er is niet 1 OS zoals bijvoorbeeld bij Windows of MacOS. Bij Linux kun je kiezen. Afhankelijk van wat je met je PI gaat doen kies je een OS. Toch is er een soort van standaard OS voor de PI dat veelgebruikt wordt. En dat is Raspbian.

Raspbian is een van Debian Linux afgeleide variant en het officiële OS voor de Raspberry. De meest recente versie is Jessie. Bij Raspbian werken ze met namen voor de verschillende versies in plaats van versie nummers.

Voor de Raspberry zijn, speciaal voor de Raspberry gemaakte, camera’s verkrijgbaar. Die heb je nodig. Of het een officiële camera is van Raspberry of een goedkope clone van Aliexpress maakt niet uit. Mits de camera maar geschikt is voor de Raspberry. Over de kwaliteit van de camera’s kan ik geen uitspraak doen. Ik heb alleen een rasechte Raspberry camera gebruikt.

Heb je al een Raspberry? Dan kun je die prima gebruiken. Het maakt niet uit of je een PI, PI 2 of PI 3 hebt. Al heeft een PI 3 wel het voordeel dat daar al standaard WiFi op zit. Heb je nog geen Raspberry, of wil je er één aanschaffen voor dit doel, bedenk dan goed wat je aanschaft. Eem PI Zero is erg interessant. Goedkoper en kleiner de een PI 3, maar heeft minder mogelijkheden en het kan lastig zijn om deze te configureren zonder de juiste middelen.

In de meest recente versie van Raspbian, Jessie, is SSH disabled. SSH wordt gebruikt om remote in te loggen en het systeem in te richten en te configureren. Om dit aan te kunnen zetten heb je een toetsenbord en beeldscherm nodig. ook voor het configureren van WifI werkt dit erg handig. Houd er rekening mee dat een PI Zero alleen beschikt over een microUSB en mini HDMI connector. Het kan zijn dat je voor het aansluiten van een toetsenbord of beeldscherm verloopstekkers nodig hebt. De PI Zero heeft geen netwerkadapter, je hebt dan de PI Zero W nodig. deze beschikt standaard over WiFi en Bluetooth. Voordeel van de PI Zero is, dat deze een stuk kleiner is dan de gewone PI.

De gewone PI beschikt over standaard USB poorten en een normale HDMI aansluiting. De PI 3 heeft standaard WiFi aan boord. Bij de vorige modellen heb je daarvoor een WiFi dongle nodig. Let bij de aanschaf van een WiFi dongle goed op welke je koopt. Sommige dongles werken niet of niet goed op een Raspberry of hebben drivers nodig die niet standaard aanwezig zijn. De ingebouwde WiFi van de PI 3 heeft dit probleem niet.

 

Als je dit allemaal gelezen hebt, en je hebt er nog steeds zin in, dan volgt hieronder een beschrijving van het gene dat ik uitgevoerd heb om een werkende camera te realiseren.

Kookboek

Wat heb je nodig?

  • Raspberry PI of Raspberry PI Zero W
  • Camera
  • Voeding
  • (micro) SD kaart, 8GB is voldoende.
  • PC met SD card slot of reader
  • Enige computerkennis
  • Optioneel: WiFi dongle
  • WiFi netwerk
Raspberry PI

Heb je al een Raspberry PI? Dan kun je die prima gebruiken hiervoor. Heb je er nog geen? Dan zijn er meerdere opties. Je kunt het beste kiezen voor de meest recente versie. Voor de gewone Raspberry PI is dat de PI 3. Deze heeft standaard WiFi en Bluetooth aan boort en heeft wat meer geheugen en een krachtigere processor dan zijn voorganger. Kies je voor de PI Zero, neem dan de uitvoering met standaard wireless, de W uitvoering.

De PI Zero beschikt over minder mogelijkheden qua aansluiten van randapparatuur, en de aansluitingen zijn allemaal van het mini type. Dit geldt zowel voor de USB als de HDMI aansluiting. Het kan verstandig zijn om Adapter Pack (mee) te bestellen. Vergeet ook niet om een voeding te bestellen, anders kun je niet van start.

Zelf heb ik dit setje besteld: https://www.kiwi-electronics.nl/raspberry-pi/raspberry-pi-zero-w-camera-pack?filter=7

Een voeding en SD kaartje had ik nog liggen en heb ik er niet bij besteld.

OS installeren.

Een OS installeren op een Raspberry gaat wat anders dan op een PC. Je hebt hiervoor een PC of Mac nodig. Ik beschrijf de procedure voor een PC omdat ik geen Mac bezit.

Ik heb Rasbian gebruikt en de laatste versie heet Jessie, en kun je hier downloaden: https://www.raspberrypi.org/downloads/raspbian/

Jessie is er in 2 smaken, de standaard versie en de light versie. Kies de standaard versie.

Nadat je Jessie gedownload hebt, moet je het zip bestand uitpakken. Na het uitpakken heb je een img bestand met bijvoorbeeld de volgende naam: 2017-04-10-raspbian-jessie.img. Onthoud de naam, want die heb je zo nodig in de volgende stap.

Om het img bestand op de SD kaart te zetten, heb je speciale software nodig, een imagewriter. Zelf gebruik ik hiervoor Win32DiskImager. Een gratis tooltje dat je hier kunt downloaden: https://sourceforge.net/projects/win32diskimager/

Mocht dit geheel nieuwe materie voor je zijn, een korte uitleg kun je hier vinden: http://www.raspberry-projects.com/pi/pi-operating-systems/win32diskimager

Het schrijven van het image naar de SD kaart kan enige minuten duren. Je kunt het SD kaartje nu in de Raspberry steken en doorgaan met het configureren van de Raspberry en het installeren van de software. De volgende stappen kun je op 2 manieren uitvoeren. Het SD kaartje direct in de PI Zero steken, toetsenbord en beeldscherm aansluiten, of je gebruikt een andere Raspberry als je die hebt, en voert de eerste stappen daar op uit.

In het verleden kon je direct na het installeren van het OS aan de slag via SSH. In de huidige versie is dat niet meer mogelijk en staat SSH uit. je zult SSH eerst aan moeten zetten en daarvoor heb je een toetsenbord en monitor nodig. Die heb je overigens ook nodig om WiFi te configureren en een netwerkverbinding mogelijk te maken.

De Raspberry configureren

Wanneer je in moet loggen op je Raspberry, dan zijn de standaard inloggegens: gebruiker: PI, wachtwoord: raspberry. Het wachtwoord kun je uiteraard wijzigen en is ook aan te bevelen.

Eén van de eerste zaken die uitgevoerd moeten worden is het configureren van je Raspberry. Om dat uit te voeren staat er een heel handig tooltje op de Raspberry dat heet Raspi Config.

Open een terminal venster op de Raspberry en type het volgende commando: sudo raspi-config.

In het scherm dat nu opent zie je een keuzemenu, ga naar optie 5, Interfacing Options. Navigeren doe je d.m.v. de pijltje omhoog en pijltje omlaag toetsen en de TAB toets.

Je komt nu in een menu waarin je een aantal opties aan en uit kunt zetten.  De volgende opties moeten enabled worden: P1 Camera, P2 SSH en optioneel P3 VNC.

Terug in het hoofdmenu, ga naar 4, Localisation Options. Ga vervolgens naar I1 Change Locale. Selecteer de volgende locales:

  • en-GB.UTF-8
  • en-US.UTF-8
  • nl_NL.UTF-8
  • nl_NL@Euro

Het selecteren van een locales doe je met een klik op de spatiebalk. Wanneer je alle locales geselecteerd hebt, ga je met TAB naar Ok en drukt op Enter.

Terug in het hoofdmenu, selecteer nogmaals optie 4 en ga nu naar optie I2 Change Timezone. selecteer Europe en vervolgens Amsterdam, als je in Nederland woont.

Ga naar I4 Change wi-fi Country en selecteer NL Netherlands.

Als laatste, en wellicht in de huidige versie overbodig, vanuit het hoofdmenu, ga naar optie 7, Advanced Options. Kies vervolgens A1 Expand Filesystem.

Wanneer je een image wegschrijft op een SD kaart, wordt alleen de ruimte de nodig is om de image weg te schrijven gebruikt. Dat betekend dat je geen data kunt opslaan omdat er niet meer ruimte beschikbaar is. Althans, wel beschikbaar, maar niet gebruikt wordt. Met deze optie wordt het filesystem vergroot en alle beschikbare schijfruimte ook daadwerkelijk gebruikt.

Nadat je klaar bent met het aanpassen van de configuratie krijg je de vraag om te rebooten. Dit moet je doen.

Testen

Nu de basis gereed is, de camera aangesloten en geactiveerd in de configuratie, is het tijd voor een klein testje.

Je kunt nu remote verbinden met je Raspberry via SSH, of rechtstreeks je Raspberry gebruiken als je er een muis, toetsenbord en monitor aan gekoppeld hebt.

Via SSH kun je o.a. doen met behulp van Putty. Inloggen vanuit een andere Raspberry, of Linux PC, doe je met het volgende commando: pi@<IP adres>

Als je rechtstreeks de Raspberry gebruikt, open dan een Terminal window. Ben je remote via SSH ingelogd, dan kun je gelijk gaan typen. Geeft het volgende commando is: raspistiil -o test.jpg.

Er wordt nu een foto gemaakt met de camera en opgeslagen als test.jpg. Standaard wordt het bestand opgeslagen in de huidige directory waar je je bevindt. Meestal is dat /home/pi.

Als er een foto aanwezig is en deze toont beeld, dan werkt de camera. Gefeliciteerd! Je hebt nu een heel onhandige fotocamera gebouwd ;-).

Videocamera

Om van je onhandige fototoestel een zeer praktische video camera te maken, heb je nog extra software nodig. er zijn verschillende mogelijkheden om dat te doen. Ik heb gekozen voor RPI-Cam-Web-Interface. deze sluit het best aan bij mijn wensen en eisen en is relatief eenvoudig te installeren.  Let op! Ik zeg relatief eenvoudig, het is best nog veel werk, maar goed te doen, ook voor iemand die wat minder ervaren is.

 

Even wat eigenschappen en mogelijkheden van het product:

RPi-Cam-Web-Interface

 RPi Cam Web Interface is a web interface for the Raspberry Pi Camera module that can be opened on any browser (smartphones included) and contains the following features:
  • View, stop and restart a live-preview with low latency and high framerate. Full sensor area available.
  • Control camera settings like brightness, contrast, … live
  • Record full-hd videos and save them on the sd-card packed into mp4 container while the live-preview continues
  • Take single or multiple (timelapse) full-res pictures and save them on the sd-card (live-preview holds on for a short moment)
  • Preview, download and delete the saved videos and pictures, zip-download for multiple files
  • Trigger captures by motion detection
  • Trigger captures by many scheduling-possibilities
  • Circular buffer to capture the last actions afterwards
  • Control Pan-Tilt or Pi-Light
  • Shutdown/Reboot your Pi from the web interface
  • Show annotations (eg timestamp) on live-preview and taken images/videos
  • Supports selection from 2 cameras when used with a compute module

 

Nu gaat het mij wat te ver om hun hele installatie documentatie over te typen en te vertalen. Ik stel voor dat je de documentatie uit hun Wiki gebruikt: http://elinux.org/RPi-Cam-Web-Interface.

Na het installeren van de software kun je eventueel nog e.e.a. aanpassen via de webinterface. Ik ga dat hier niet beschrijven omdat het vooral je eigen voorkeuren zullen zijn.

Tot slot

Als je alles uitgevoerd hebt zoals hier beschreven, dan zou je nu een werkende Raspberry met camera moeten hebben en in staat zijn video opnames te maken met de camera.

Je zou dan iets zoals dit moeten kunnen produceren:

Ik realiseer me dat deze handleiding verre van perfect is. Ik heb geen idee wat het niveau van mijn lezers op dit gebied is. Hebben ze veel ervaring? Zeer weinig? Staan er een hoop overbodige instructies in? Ik heb geen idee. Laat via de reactiemogelijkheid weten wat je er van vindt, suggesties te verbetering zijn altijd welkom. Ook als je informatie mist hoor ik het graag.

Zelf werk ik al een aantal jaren met Raspberry PI’s en Linux. Ik heb inmiddels al een stuk of 8 Rasperry’s in gebruik en deze worden o.a. gebruikt voor de domotica in mijn huis, aansturing van de treinbaan (met RocRail), uitlezen van de slimme meter, vliegtuigen spotten met Flightradar, Kodi, HA bridge tussen de Amazon Alexa Echo Dot en Domoticz, de domotica server. En ook deze website draait op een Raspberry.