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