Picture

condor-9

Odense C

Indlæg: 281

PB

RocRail og RaspberryPi

Hejsa..

Jeg ved der er flere herinde der roder med RocRail, og måske også kombineret med RaspberryPi. Jeg har et/flere spørgsmål eller scenarier som jeg vil høre om kan lade sig gøre.

Jeg skitserer scenariet principielt for at det er lettere at forstå.

Styreenhed er EcOS.

Vi tager udgangspunkt i en oval bane med sidespor på den ene langside.
På langsiden med sidespor er der i hver ende et indkørselssignal (som kan vise indkørsel med høj eller lav hastighed, og selvfølgelig stop) og der er et udkørselssignal (der kan vise udkørsel med høj eller lav hastighed og selvfølgelig stop)

Signalerne bliver styret af en signaldekoder som kan give de passende signalbilleder.

Sporskifterne er monteret med en servo som styres af ESU SwitchPilot Servo med SwitchPilot Extension til polarisering af hjertestykker. På SwitchPilot Extension er der 2 switche pr. udgang som passer med det antal servoer SwitchPilot Servo kan styre. Da jeg kun skal bruge én switch til polarisering af hjertestykket tænker jeg, at jeg vil bruge den anden switch til dioderne på sportavlen. Så skifter dioden jo samtidig med at sporet og polariseringen af hjertestykket skifter.

Jeg har lavet en sportavle hvor jeg vil styre hhv. sporskifterne, indkørsel- og udkørselssignalerne.
På sportavlen vil jeg have dioder der viser det aktuelle signalbillede, samt i hvilken stilling sporskifterne står. Der skal være trykknapper på sportavlen til både at skifte sporskifterne samt enten give indkørsel og udkørsel.

Da det hele på banen styres digitalt, skal der jo være en hjerne bag som giver kommandoer til hvad der skal ske. I det tilfælde her, er EcOS kun mellemmand, og der skal ikke ske andet på EcOS end at styre lokomotiverne.

Nu begynder alle mine spørgsmål så:

1: Kan man sætte en RaspberryPi op med RocRail som blot ligger og kører i baggrunden uden en skærm? Ifølge deres hjemmeside kan RocRail installeres som en service på en linux maskine, og så går jeg ud fra at programmet starter automatisk når RaspberryPi’en starter, men åbner den også automatisk ens sporplan og er i status ”klar” eller hvad man nu kalder det eller skal man ind og trykke start først?

2. Kan man i RocRail sætte det op således, at programmet registrerer alle de input den får fra sportavlen (jeg tænker at trykknapperne forbindes til et tilbagemeldingsmodul som kører via S88 til EcOS og så videre til RocRail)? Hvilket vil sige, at hvis jeg skifter sporet ved at trykke på knappen, så registreres det via tilbagemeldingsmodulet hvor den port så er forbundet med sporskiftet og derved skifter?

3. Samme som ovenstående vil være, at jeg gerne vil stille signalet til enten at vise stop, indkørsel med lav hastighed eller indkørsel med høj hastighed via et tryk på en trykknap på sportavlen.

4. Som en sikkerhed eller status kunne jeg godt tænke mig at have en diode der lyser når Raspberry Pi’en er startet og RocRail er klar til brug. Kan man gøre noget smart i RocRail der?

Det kan godt være ovenstående er en bøvlet måde at gøre det på, så jeg er da frisk på input fra jer også. Smile

/Thomas.

Like 0 kan lide
Top

Picture

nipe

Vanløse

Indlæg: 474

PB

jeg håber det er ok, at jeg ikke svarer på dine spørgsmål, men henviser dig til en anden løsning.

check videoer på youtube om DCC++, og du vil finde et arduino-baseret løsning.  check så koden, download i arduino med et motorshield (totalt vel 200,- inkl strømforsyning) 

__________________

mvh niels peter

DK-2720

Like 0 kan lide
Top

Picture

okhansen

Indlæg: 227

PB

Hej Thomas

Rocrail har to programmer, en server del og en klient del. Du kan godt køre serverdelen på en Raspberry Pi, og køre klienten på andre enheder, f.eks. en klient på tablet eller smartphone. 

Det smarte er, at hvis du har lagt den komplette sporplan ind til serverprogrammet, så kan du se sporplanen på den klient du nu kører, vælge tog, skifte spor, osv.

Det eneste det kræver er at din Ecos kan snakke med Rocrail, men det kan du se inde på Rocrails side om det kan fungere under kompatible enheder.

Jeg har selv rodet med Rocrail på gammel bærbar med Linux for et par år siden, og det fungerede perfekt med et Digitraxx interface. En Raspberry Pi III har rigeligt med kræfter til at gøre det samme. Er i gang med et lille hyggeprojekt med RP III, som er lidt af et eksperiment, som jeg håber at kunne dele med sporskiftet senere.

Håber det giver dig svar på dine spørgsmål.

Mvh. Ole 

__________________

H0 2 skinne
Dansk Epoke III - IV
Digital - Digitrax Zephyr Xtra
Rocrail via Digitrax PR3
iRoc, gør din iPhone til en håndterminal 

Like 0 kan lide
Top

Picture

Lars Skjærlund

Rødovre

Webmaster

Indlæg: 4.105

PB  Blog  Hjemmeside

Da' Thomas.

condor-9 skrev:
1: Kan man sætte en RaspberryPi op med RocRail som blot ligger og kører i baggrunden uden en skærm? Ifølge deres hjemmeside kan RocRail installeres som en service på en linux maskine, og så går jeg ud fra at programmet starter automatisk når RaspberryPi’en starter, men åbner den også automatisk ens sporplan og er i status ”klar” eller hvad man nu kalder det eller skal man ind og trykke start først?

Dine ønsker beskriver meget godt den måde, Rocrail fungerer på: Et Rocrail system består ikke af eet program, der skal minimum to programmer til for at det fungerer. Man skal have såvel en server som en klient - men de fleste installerer dem i første omgang samlet på en enkelt computer og opdager det derfor ikke.

Serveren kører fint på en Raspberry Pi, mens klienten kan køre på en PC, en mobiltelefon eller en tablet. Det behøver heller ikke være samme operativsystem, klient og server kommunikerer via dit netværk.

Hvis du installerer serveren på en RPi, vil den normalt starte automatisk sammen med computeren; men det er noget, man kan lave om, som man har lyst, med standard Unix kommandoer. Rocrail kører på Raspbian, når den kører på RPi, så du vil typisk skulle skrive en kommando som "systemctl enable rocrail" for at slå autostart til, "systemctl disable rocrail" for at slå autostart fra.

Citat:
2. Kan man i RocRail sætte det op således, at programmet registrerer alle de input den får fra sportavlen (jeg tænker at trykknapperne forbindes til et tilbagemeldingsmodul som kører via S88 til EcOS og så videre til RocRail)? Hvilket vil sige, at hvis jeg skifter sporet ved at trykke på knappen, så registreres det via tilbagemeldingsmodulet hvor den port så er forbundet med sporskiftet og derved skifter?

Det ved jeg ikke med sikkerhed, jeg har ikke prøvet - men jeg har svært ved at forestille mig, at det ikke skulle være muligt.

Citat:
3. Samme som ovenstående vil være, at jeg gerne vil stille signalet til enten at vise stop, indkørsel med lav hastighed eller indkørsel med høj hastighed via et tryk på en trykknap på sportavlen.

Mit svar vil være det samme som til pkt. 2.

Citat:
4. Som en sikkerhed eller status kunne jeg godt tænke mig at have en diode der lyser når Raspberry Pi’en er startet og RocRail er klar til brug. Kan man gøre noget smart i RocRail der?

Ja, du kan lave alt det, du har lyst til. Umiddelbart kan man lave et lille program, der overvåger, om Rocrail kører som den skal, og tænder eller slukker en lysdiode på RPi'ens GPIO porte. Det "lille" program kan man så vælge at gøre mere eller mindre kompliceret, som man nu måtte have lyst - Raspbian er RPi varianten af Debian Linux, og den har et ufatteligt stort udbud af overvågningsfunktioner, så du kan slet ikke nå at lave tog, hvis du skal lære det hele. Jeg arbejder med det til daglig, men selv der kan jeg ikke nå at overskue det hele.

Men det behøver man heller ikke: Et lille Python program vil kunne klare det - og du behøver ikke kunne mere Python end rigtigt mange lærer i Folkeskolen nu om dage.

Jeg havde på mange måder tænkt mig at lave en løsning i retning af det, du skitserer - men efter lukningen af Rocrail er jeg kommet i tvivl: Jeg ved ikke rigtigt, om jeg vil bruge flere kræfter på det projekt. Hvis jeg gør, vil det dog helt sikkert blive på et Open Source fork og ikke den nu lukkede udgave, jeg vil bruge mine kræfter.

Generelt vil jeg dog sige, at jeg ikke vil bruge penge på ESU Switchpilot mm., sådan som du taler om: Jeg vil lave det hele med Arduino og RPi i stedet, det er både langt billigere og langt mere fleksibelt. Det er overordentligt nemt at sende kommandoer fra en RPi via USB til en eller flere Arduinoer - og er de fire USB porte på RPi'en ikke nok, sætter man bare et USB hub på. Men for at udnytte det fulde potentiale vil man nok skulle skrive en plugin til Rocrail - og det har jeg ikke lyst til at gøre til den lukkede version.

Hvis jeg skal gå ind i det, bliver det på et åbent fork - og det vil så også betyde, at det vil være forbudt at bruge min kode sammen med den lukkede udgave af Rocrail. Hvor kan folk dog gøre livet besværligt...

__________________

MVH
Lars

Like 0 kan lide
Top

Kommentarvisning

Vælg din foretrukne kommentarvisning og klik på "Gem indstillinger" for at aktivere dit valg.