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

One thought to “RocRail installeren op een Raspberry PI – Deel 4”

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *