RocView op 2 monitoren – het resultaat

Dit is het vervolg op de blog “RocView op 2 monitoren – de stand van zaken”.

Inmiddels zijn alle componenten binnen en kan het “assembleren” beginnen. Allereerst de laatste stappen op software gebied gezet. Bij het installeren van RocView op de Raspberry PI Zero was het de bedoeling dat RocView automatisch zou starten op het moment dat de PI Zero gestart wordt. Raspberry PI’s worden nog al eens gebruikt om in “kiosk mode” te draaien. Dat wil zeggen zonder toetsenbord en meestal alleen om een webpagina te tonen of een bepaald programma te starten en op het scherm te tonen. Met een simpele configuratie kun je dit regelen. Je moet daarvoor het “autostart” bestand aanpassen. En als er nog geen autostart bestand is, dan moet je die zelf aanmaken.

Alleen was de documentatie die ik had niet helemaal juist, en was het niet duidelijk welk autostart bestand ik moest hebben. Op meerdere plekken is een autostart bestand aanwezig met een andere inhoud. Uiteindelijk is het gelukt om het juiste autostart bestand te vinden, en de juiste opdracht toe te voegen. Belangrijk om te weten is, dat RocView het rocview.ini bestand nodig heeft van de gebruiker die RocView start. RocView start je op vanuit de installatiefolder van RocRail. Belangrijk om te weten is ook dat je niet RocView moet starten, maar het script rocview.sh. Dit script voert eerst een cd command uit naar de home directory zodat de rocview.ini beschikbaar is.
Om RocView automatisch op te starten moet je de volgende regel toevoegen aan het bestand /etc/xdg/lxsession/LXDE-pi/autostart:
@/opt/rocrail/rocview.sh

Nu dit gefixt is, is het niet meer nodig de VNC server te starten en via VNC de applicatie met de hand te starten. In de configuratie is VNC uit gezet. Hoe minder er draait op de PI Zero, des te beter. Het is per slot van rekening geen krachtige computer.

Nu alle componenten aanwezig zijn eerst even een kleine proefopstelling gemaakt en alles aangesloten en, daar waar nodig, met elkaar verbonden. En tot mijn tevredenheid werkt alles zoals het moet werken. Nu wordt het tijd om de voorbereidingen te treffen om de monitoren aan de muur te bevestigen, de Raspberry’s weg te werken achter de monitoren en de aansluitingen te regelen. Eén van de dingen waar je goed over na moet denken is, de aansluitingen. In mijn situatie valt dat nog mee. De beide monitoren hebben dankzij het dubbele apparaatsnoer maar 1 stopcontact nodig, de Raspberry PI Zero krijgt zijn voeding uit de Raspberry PI en de Raspberry gebruiken WiFi voor de netwerkverbinding. Zodoende heb ik alleen een dubbel stopcontact in de buurt nodig om alles aan te kunnen sluiten.

Ophangen monitoren

Ik heb gekozen voor relatief simpele en goedkope muurbeugels. Deze zijn draaibaar en kantelbaar. Ik heb nog overwogen om muurbeugels te nemen die vast zijn, maar dan komen de schermen erg dicht tegen de muur te hangen en ik weet niet of ik dan voldoende ruimte heb om de Raspberry’s weg te werken en of ik er überhaupt nog bij kan. Bovendien was het prijsverschil zeer gering.

Om de monitoren op de juiste onderlinge afstand op te kunnen hangen, tegen elkaar aan, en op gelijke hoogte, heb ik eerst een mal gemaakt van een strook multiplex. Deze strook plat op de grond gelegd, de eerste muurbeugel op de plank bevestigd, monitor er aan bevestigd en de tweede monitor, met muurbeugel, er naast gelegd. Vervolgens afgetekend waar de tweede muurbeugel moet komen en deze vastgeschroefd op de mal. Vervolgens gecontroleerd of de monitoren netjes tegen elkaar aansloten en vervolgens de muurbeugels verwijderd en de gaten opgeboord zodat deze overeenkomen met de maat van de boor om de gaten in de muur te boren. Gaten in de muur geboord, beugels bevestigd, monitoren bevestigd en bekabeling aangesloten.

De Raspberry’s zijn met zelfklevend klittenband bevestigd achter de monitoren. Het kan nog wel eens nodig zijn om deze er af te halen voor technische zaken.

In de kamer, waar de treinbaan staat, is slecht 1 stopcontact aanwezig, en dat is te weinig om alles aan te kunnen sluiten. Ik heb daarom een kabelgoot systeem  aangebracht en op die manier een aantal extra stopcontacten aangebracht. helaas zit er in de buurt van de monitoren nog geen stopcontacten. Toen ik de kabelgoot ging monteren wist ik al wel dat ik 2 monitoren zou gaan gebruiken en ook een stopcontact voor de Raspberry nodig had, maar ik had op dat moment nog geen idee waar alles zou komen te hangen en waar de stopcontacten geplaatst moesten worden. Maar gelukkig is met het systeem waarvoor ik gekozen heb, het K40 Plintsysteem van Attema, vrij eenvoudig om achteraf aanpassingen te doen en extra stopcontacten toe te voegen. Maar dat is een klusje voor later.

Uiteindelijk is dit het resultaat:

 

RocView op 2 monitoren

Nu het project om RocRail opnieuw te installeren op de Raspberry PI succesvol afgerond is, is het tijd voor de volgende fase.

Eerlijk gezegd ben ik tevredener dan voorheen. Ik ben eigenlijk nooit erg tevreden geweest over Ubuntu Mate op de Raspberry. En ook het feit dat ik ingelogd moest zijn op de desktop om o.a. achtergrond processen uit te laten voeren was niet echt ideaal. Vooral omdat er daardoor niet dagelijks een back-up gemaakt werd van de RocRail bestanden. En eerlijk gezegd draait Raspbian gewoon beter op een Raspberry.
Toen de Raspberry met Ubuntu Mate “De geest gaf” was ik gelukkig in staat de bestanden te redden van het SD kaartje. Ik werk zelf met een Linux PC en het kaartje was nog leesbaar, en daardoor kon ik de bestanden veilig stellen. Of dat met een Windows PC ook gelukt was, weet ik niet. Vaak lukt het niet om een SD kaart met een Linux bestandssysteem te lezen, of is slechts een deel zichtbaar. En wat je niet ziet, kun je niet kopiëren.

Het is van meet af aan de bedoeling geweest om met twee monitoren te gaan werken. In RocRail is het, voor zo ver ik weet, alleen mogelijk om meerdere niveaus in het baanplan te gebruiken door extra tabs aan te maken in het Track Plan. Misschien lukt het wel in één tab, maar of je dan een representatieve weergave van je baan hebt weet ik niet. Ik geef er in ieder geval de voorkeur aan om ieder niveau op een eigen tab weer te geven. En aangezien mijn baan 2 niveaus heeft, betekent dat dat er ook twee monitoren nodig zijn om het weer te geven. Althans, dat is mijn stelling.

Het zal ongetwijfeld mogelijk zijn om alles op één scherm weer te geven, maar of dat ook nog een beetje zichtbaar en leesbaar is? Sowieso komen de schermen aan de muur, boven de baan te hangen. En de baan is 1 meter breed, dus sta je minimaal 1 meter van het scherm af. Nu heb ik wel een 24″ monitor in gedachten, maar alles op één scherm?

Maar voordat ik een tweede monitor ga kopen, ééntje heb ik er al, moet ik eerst weten of het überhaupt wel kan. Twee monitoren aan een Raspberry, er zit maar één HDMI aansluiting op, en of het mogelijk is om RocView op twee monitoren te krijgen. Als ik twee monitoren aansluit op de Raspberry, dan wordt hetzelfde beeld op beide schermen getoond. En dat is niet de bedoeling. Ik moet of de desktop kunnen extenden naar de tweede monitor, of de twee schermen als één grote desktop kunnen gebruiken. Er zijn wel oplossingen in de vorm van hardware, maar die zijn vrij prijzig. Dan gaat het al snel richting de €70 – €80. En dat is ook niet de bedoeling. Dan heb ik een goedkoper alternatief in de vorm van een Raspberry PI Zero. Die kost ongeveer €10, en dat is een stuk goedkoper. Bovedien heb ik hem alleen nodig om RocView op te draaien, meer niet.

RocView ondersteund in ieder geval het gebruik van meerdere monitoren, of het tonen van meerdere RocView instanties tegelijkertijd. In de wiki van RocView kwam ik deze handleiding tegen. Hij is er ook in het Nederlands, maar die is minder compleet. Ik ben aan het testen geweest op mijn eigen PC, en het werkt perfect. Tenminste, als je even de “foutjes” haalt uit de documentatie.

Inmiddels heb ik op voorhand een tweede monitor besteld. Wat de oplossing ook wordt, een tweede monitor is nodig. Ik had nog even kunnen wachten totdat ik zeker weet welke oplossing het gaat worden, maar ik wilde twee identieke monitoren en de monitor die ik nu heb, heb ik al bijna twee jaar. De winkel waar ik hem gekocht heb had er nog twee op voorraad, en ook de leverancier had er nog maar twee op voorraad. Dus de kans is groot dat ik straks stad en land af moet om een tweede exemplaar te vinden.
Verder heb ik een HDMI splitter kabel besteld en twee simpele muurbeugels om de monitoren op te hangen.

Of het allemaal gaat lukken, en hoe het opgelost is, dat lees je in een volgende aflevering.

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