{"id":143,"date":"2016-10-10T17:54:03","date_gmt":"2016-10-10T16:54:03","guid":{"rendered":"http:\/\/lisby.dk\/wordpress\/?page_id=143"},"modified":"2025-01-15T22:27:37","modified_gmt":"2025-01-15T21:27:37","slug":"raspberry-pi","status":"publish","type":"page","link":"https:\/\/lisby.dk\/wordpress\/?page_id=143","title":{"rendered":"Raspberry Pi"},"content":{"rendered":"\n<p>Med den nye ECOS beh\u00f8ver jeg ikke l\u00e6ngere at have et USB kabel i PC&#8217;en. Kommunikationen kan foreg\u00e5 tr\u00e5dl\u00f8st via WLAN (selvom det ganske vist er tr\u00e5det LAN mellem ECOS og routeren).<\/p>\n\n\n\n<p>Men jeg vil stadigv\u00e6k bruge min IB-COM til at styre signaler m.v. Og s\u00e5 er jeg lige vidt. Den har jo kun USB interface og ikke LAN.<\/p>\n\n\n\n<p>Derfor har jeg nu (september 2015) k\u00f8bt en Raspberry Pi 2 B. Det er en lille ARM baseret computer, lidt st\u00f8rre end en t\u00e6ndstik\u00e6ske. Den er bl.a. udstyret med et Ethernet (LAN) stik og 4 USB stik. Processoren er omtrent p\u00e5 linie med dem, der sidder i en billig smartphone, s\u00e5 uden at det ligefrem er en gaming PC, s\u00e5 kan den faktisk godt flytte et par bits.<\/p>\n\n\n\n<p>Jeg har t\u00e6nkt mig, at min Raspberry Pi skal bruges udelukkende til det ret enkle job at oms\u00e6tte mellem USB og Ethernet \/ LAN.<\/p>\n\n\n\n<p>Rent fysisk ejer jeg hverken sk\u00e6rm, tastatur eller mus, s\u00e5 de eneste stik, der sidder i min Pi er:<br>\n1. Str\u00f8mforsyning (en 2A USB str\u00f8mforsyning).<br>\n2. USB stik med forbindelse til IB-COM.<br>\n3. Ethernet stik med forbindelse til min router (via en switch og et Powerlink).<\/p>\n\n\n\n<p>For at s\u00e6tte det hele op har jeg gjort f\u00f8lgende:<br>\n1. Installeret Raspian (standard Linux variant til Raspian Pi) p\u00e5 enheden.<br>\n2. Installeret Putty (en SSH client) p\u00e5 min PC.<br>\n3. Installeret TightVNC server p\u00e5 Pi samt sat den op til at starte automatisk.<br>\n4. Installeret TightVNC client p\u00e5 PC&#8217;en.<br>\n4a. Og en VNC client (Mocha VNC Lite) p\u00e5 iPad.<br>\n5. Sat Raspberry Pi til at k\u00f8re med fast IP adresse.<br>\n6. Installeret JMRI p\u00e5 Raspberry Pi, samt konfigureret JMRI som beskrevet nedenfor og sat den op til at starte automatisk.<br>\n7. Omkonfigureret JMRI p\u00e5 PC&#8217;en til at forbinde til mit layout via Loconet Client via TCP i stedet for til IB-COM.<\/p>\n\n\n\n<p>Med disse ret enkle skridt (det tog vel 4 timer at finde ud af 1-7 og yderligere nogle timer for de sidste to punkter), har jeg nu tr\u00e5dl\u00f8s forbindelse mellem PC og IB-COM. Desuden har jeg mulighed for at k\u00f8re lidt tog uden at skulle t\u00e6nde PC&#8217;en, for mens jeg nu var i gang, s\u00e5 satte jeg ogs\u00e5 JMRI p\u00e5 Pi&#8217;en til at starte Web server s\u00e5vel som WifiThrottle, s\u00e5 jeg kan koble mig direkte p\u00e5 Pi&#8217;en fra s\u00e5vel Android som iOS smartphone\/iPhone\/tablet\/iPad.<\/p>\n\n\n\n<p>Her er lidt flere detaljer om, hvordan jeg gjorde:<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. og 2. Installation af Raspian samt kommandolinie forbindelse<\/h2>\n\n\n\n<p>N\u00e5r man k\u00f8ber en Raspberry Pi, kan man k\u00f8be et Micro SD kort med Noobs pre-installeret. Noobs er et installationsprogram, hvor man kan v\u00e6lge et operativsystem, som derefter installeres. P\u00e5 selve kortet findes kun Raspian, s\u00e5 v\u00e6lger man et andet operativsystem skal det f\u00f8rst downloades, dvs. at man skal have en Internet forbindelse til sin Pi.<\/p>\n\n\n\n<p>Det er sikkert v\u00e6ldig godt for dem, der f\u00f8ler sig bedst tilpas ved at k\u00f8be en computer, hvor operativsystemet er fysisk i h\u00e5nden med det samme. Men jeg kunne bare ikke bruge Noobs, fordi jeg hverken har sk\u00e6rm eller tastatur til min Pi, og fordi Noobs starter op i et lokalt grafisk brugerinterface, som kun virker p\u00e5 netop den lokale sk\u00e6rm.<\/p>\n\n\n\n<p>S\u00e5 derfor k\u00f8bte jeg i stedet et tomt Micro SD kort p\u00e5 16 GByte. Derefter dowloadede jeg Raspian her: <a href=\"https:\/\/www.raspberrypi.org\/downloads\/raspbian\/\">https:\/\/www.raspberrypi.org\/downloads\/raspbian\/<\/a> og fulgte denne anvisning: <a href=\"https:\/\/www.raspberrypi.org\/documentation\/installation\/installing-images\/windows.md\">https:\/\/www.raspberrypi.org\/documentation\/installation\/installing-images\/windows.md<\/a> som bl.a. indeb\u00e6rer at man downloader og installerer endnu et v\u00e6rkt\u00f8j p\u00e5 sin PC, nemlig Win32DiskImager. Dette v\u00e6rkt\u00f8j bruger jeg i \u00f8vrigt efterf\u00f8lgende til at tage backup af min Pi ved ganske enkelt at hive Micro SD kortet ud og s\u00e6tte ind i kortl\u00e6seren i PC&#8217;en, hvorefter n\u00e6vnte program kan l\u00e6se indholdet fra kortet og gemme det i en ny image fil.<\/p>\n\n\n\n<p>Efter at have gennemf\u00f8rt installationen af Raspbian (dvs. skrevet den downloadede image fil ud p\u00e5 memory kortet) er det bare at s\u00e6tte kortet i Pi&#8217;en, forbinde Pi&#8217;en til sin router vha. et Ethernet kabel og s\u00e5 ellers s\u00e6tte str\u00f8m p\u00e5. Den starter op i l\u00f8bet af f\u00e5 sekunder og er p\u00e5 nettet med det samme.<\/p>\n\n\n\n<p>Som noget nyt (jeg opdagede det 6\/5-2017) skal man med de nyere versioner af Raspian skrive en fil ved navn &#8220;ssh&#8221; ud p\u00e5 SD-kortet, f\u00f8r man tager den ud af PC&#8217;en og s\u00e6tter den ind i sin Raspberry Pi. Ellers kan man ikke forbinde sig via SSH, dvs. via Putty.<\/p>\n\n\n\n<p>Start derefter Putty (installationen giver sig selv &#8211; bare brug Google til at finde den officielle version af Putty) og opret en SSH session til din Pi. Du beh\u00f8ver ikke at kende dens IP adresse. Bare brug dens navn p\u00e5 netv\u00e6rket. Den hedder raspberrypi (udelukkende sm\u00e5 bogstaver). Log ind med brugernavn pi og password raspberry.<\/p>\n\n\n\n<p>N\u00e5r du er logget ind skal du konfigurere Pi&#8217;en ved at k\u00f8re kommandoen raspi-config. Se <a href=\"https:\/\/www.raspberrypi.org\/documentation\/configuration\/raspi-config.md\">https:\/\/www.raspberrypi.org\/documentation\/configuration\/raspi-config.md<\/a><\/p>\n\n\n\n<p>Bem\u00e6rk, at der skal skrives sudo f\u00f8r selve kommandoen. su st\u00e5r for set user. Og helt specifikt betyder det, at kommandoen udf\u00f8res af root brugeren, dvs. cirka det samme, som n\u00e5r man i Windows v\u00e6lger run as administrator.<\/p>\n\n\n\n<p>Det vigtigste (tror jeg) er at f\u00e5 udvidet partitionen p\u00e5 Micro SD kortet til at fylde hele kortet.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. og 4. TightVNC<\/h2>\n\n\n\n<p>Nu k\u00f8rer Pi&#8217;en og man har allerede forbindelse til den. Det var overraskende nemt. Det har sikkert ikke en gang taget en halv time.<\/p>\n\n\n\n<p>Men vi skal ogs\u00e5 have en grafisk brugerflade. Det f\u00e5r vi vha. TightVNC. Se <a href=\"https:\/\/www.raspberrypi.org\/documentation\/remote-access\/vnc\/README.md\">https:\/\/www.raspberrypi.org\/documentation\/remote-access\/vnc\/README.md<\/a><\/p>\n\n\n\n<p>G\u00e5 hele instruksen igennem, s\u00e5 der startes en VNC server hver gang du t\u00e6nder din Pi.<\/p>\n\n\n\n<p>Det eneste lidt m\u00e6rkelige i denne forbindelse er, at man skal opfinde et nyt password til VNC forbindelsen. Husk det password, du v\u00e6lger. Du f\u00e5r brug for det hver gang, du vil forbinde dig til din Pi via VNC. Jeg har brugt 12345678<\/p>\n\n\n\n<p>Og HUSK s\u00e5 lige, at man connecter til hostname\/ip:1 Dvs. HUSK :1.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">4a. Mocha VNC Lite p\u00e5 iPad<\/h2>\n\n\n\n<p>Der findes flere forskellige VNC klienter til iPad. Den bedste er Mocha VNC. Lite \/ gratis udgaven er tilstr\u00e6kkelig.<\/p>\n\n\n\n<p>Konfigurer med IP adresse, et sigende navn og husk at \u00e6ndre portnummeret fra 5900 til 5901 (port 5900 + display nummer 1).<\/p>\n\n\n\n<p>Sl\u00e5 &#8220;Zoom to screen height&#8221; fra, s\u00e5 sk\u00e6rmen tilpasser sig i bredden og ikke i h\u00f8jden.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">5. Fast IP adresse<\/h2>\n\n\n\n<p>Indtil nu har vi kunnet n\u00f8jes med at forbinde os til raspberrypi. Men vi f\u00e5r ogs\u00e5 brug for at have styr p\u00e5 IP adressen. Derfor har jeg omkonfigureret min Pi til at k\u00f8re med statisk IP adresse. Det g\u00f8res s\u00e5dan her:<\/p>\n\n\n\n<p><a href=\"http:\/\/www.modmypi.com\/blog\/tutorial-how-to-give-your-raspberry-pi-a-static-ip-address\">http:\/\/www.modmypi.com\/blog\/tutorial-how-to-give-your-raspberry-pi-a-static-ip-address<\/a><\/p>\n\n\n\n<p>Bare lige for det tilf\u00e6lde at dette link skulle blive for\u00e6ldet, s\u00e5 er skridtene s\u00e5dan:<br>\n&#8211; udf\u00f8r kommandoen ifconfig og afl\u00e6s herudfra nuv\u00e6rende IP adresse, broadcast adresse og subnet mask.<br>\n&#8211; udf\u00f8r kommandoen netstat -nr og afl\u00e6s herudfra gateway og destination<br>\n&#8211; editer \/etc\/network\/interfaces vha. sudo vi \/etc\/network\/interfaces<br>\n&#8211; erstat linien<br>\niface eth0 inet dhcp<br>\nmed (hvor adresser m.v. er dem, der blev fundet ovenfor med undtagelse af address, hvor det anbefales at bruge et noget h\u00f8jere tal i sidste led (dog mindre end 250)).<br>\niface eth0 inet static<br>\naddress 192.168.1.100<br>\nnetmask 255.255.255.0<br>\nnetwork 192.168.1.0<br>\nbroadcast 192.168.1.255<br>\ngateway 192.168.1.254<br>\n&#8211; Genstart Pi&#8217;en (f.eks. med sudo shutdown -r now).<\/p>\n\n\n\n<p>Se flere muligheder for \/etc\/network\/interfaces her: <a href=\"https:\/\/wiki.debian.org\/NetworkConfiguration\">https:\/\/wiki.debian.org\/NetworkConfiguration<\/a><\/p>\n\n\n\n<p>Se her, hvis du vil lave tr\u00e5dl\u00f8s (WIFI) setup: <a href=\"http:\/\/raspberrypihq.com\/how-to-add-wifi-to-the-raspberry-pi\/\">http:\/\/raspberrypihq.com\/how-to-add-wifi-to-the-raspberry-pi\/<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">6. Installation og ops\u00e6tning af JMRI p\u00e5 Raspberry Pi<\/h2>\n\n\n\n<p>Med alt det ovenst\u00e5ende skulle Pi&#8217;en gerne v\u00e6re fuld funktionsdygtig og klar til at blive sat i arbejde.<\/p>\n\n\n\n<p>JMRI installationen er ikke standard Linux med apt-get o.s.v. I stedet m\u00e5 man ty til Windows-agtige metoder:<\/p>\n\n\n\n<p>&#8211; \u00c5bn en VNC forbindelse til din Pi og udf\u00f8r f\u00f8lgende inde i denne:<br>\n&#8211; \u00c5bn Web browseren.<br>\n&#8211; Find <a href=\"http:\/\/jmri.org\/download\/index.shtml\">JMRI download siden<\/a> (husk at Google er din ven).<br>\n&#8211; Klik p\u00e5 nyeste stabile version til Linux, som derefter gerne skulle downloade af sig selv.<br>\n&#8211; \u00c5bn en kommandolinie enten inde fra VNC vinduet eller vha. Putty.<br>\n&#8211; Udf\u00f8r f\u00f8lgende:<br>\n&#8211; cd (for at v\u00e6re placeret i pi brugerens home directory)<br>\n&#8211; tar zxvf Download\/JMRI.4.0.1-r29956.tgz (eller hvad nyeste version nu end m\u00e5tte hedde). Dette burde placere hele JMRI i directoriet JMRI direkte under pi brugens home.<\/p>\n\n\n\n<p>Bem\u00e6rk, at n\u00e5r JMRI startes op, bliver diverse data filer placeret i det skjulte directory .jmri.<\/p>\n\n\n\n<p>Hermed er installationen fuldf\u00f8rt. Nu kommer vi til ops\u00e6tningen.<\/p>\n\n\n\n<p>Start PanelPro ved at skrive .\/PanelPro<\/p>\n\n\n\n<p>Herefter s\u00e6ttes JMRI op p\u00e5 vanlig vis til at forbinde sig til lige netop dit layout. I mit tilf\u00e6lde til Uhlenbrock IB-COM. Desuden har jeg sat den op til at starte Web server og WifiThrottle &#8211; begge dele under startup options i setup menuen. Loconet server delen skal derimod initieres via Loconet menuen, hvor man v\u00e6lger Loconet Server via TCP. Der findes ogs\u00e5 en Loconet Server uden det med TCP. Men den kunne jeg ikke f\u00e5 til at fungere. N\u00e5r man har valgt den i menuen kommer der en dialogboks frem. Husk at krydse af, at serveren skal startes automatisk og husk at trykke p\u00e5 gem knappen, f\u00f8r du starter serveren.<\/p>\n\n\n\n<p>Endelig har jeg fundet, at jeg var n\u00f8dt til at definere samtlige mine sporskifter p\u00e5 Pi&#8217;en for at kunne bruge dem fra diverse Android apps. Gem dem i en xml fil, hvor du selv bestemmer navnet. G\u00e5 s\u00e5 tilbage til setup dialogen og f\u00e5 den nye xml fil loadet ind ved start.<\/p>\n\n\n\n<p>Nu kan du hoppe til det sidste skridt, nemlig at omkonfigurere JMRI p\u00e5 PC&#8217;en og se, om det hele fungerer. Men vi har stadigv\u00e6k tilbage at f\u00e5 JMRI til at starte automatisk, n\u00e5r Pi&#8217;en t\u00e6ndes.<\/p>\n\n\n\n<p>Det g\u00f8res ved at tilf\u00f8je en linie i filen \/etc\/rc.local<br>\nLinien skal indeholde:<br>\nsu &#8211; pi -c &#8220;~pi\/JMRI\/JmriFaceless &amp;&#8221;<\/p>\n\n\n\n<p>En mere rigtig m\u00e5de at g\u00f8re det p\u00e5 er beskrevet her: https:\/\/www.debian-administration.org\/article\/28\/Making_scripts_run_at_boot_time_with_Debian<\/p>\n\n\n\n<p>JmriFaceless er en kommandolinieversion af JMRI. Der er intet userinterface. Fejlmeddelelser m.v. kan findes i ~pi\/.jmri\/log\/sessionlog. P\u00e5 den m\u00e5de skal Pi&#8217;en ikke spilde sine sparsomme kr\u00e6fter p\u00e5 andet end at flytte bits.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">7. Omkonfigurering af JMRI p\u00e5 PC<\/h2>\n\n\n\n<p>Det eneste, jeg m\u00e5tte g\u00f8re p\u00e5 PC&#8217;en var at \u00e6ndre forbindelsen til mit layout fra Uhlenbrock IB-COM til JMRI Loconet Server via TCP. Et lille problem var, at jeg var n\u00f8dt til f\u00f8rst at slette IB-COM, dern\u00e6st genstarte JMRI, s\u00e5 definere Loconet Server og sluttelig genstarte JMRI igen. Ellers kunne jeg ikke f\u00e5 lov til at genbruge L for Loconet.<\/p>\n\n\n\n<p>Ikke overraskende er timingen lidt anderledes (dvs. langsommere), n\u00e5r alle kommandoer og alle meldinger fra feedback moduler skal ind over Raspberry Pi. Det betyder, at de scripts, hvor jeg lader lokomotiverne k\u00f8re et vist antal milisekunder ind i en blok, for p\u00e6nt at k\u00f8re til perron, ikke fungerer helt optimalt l\u00e6ngere. Men skidt-pyt. Jeg har indk\u00f8bt en ECOS og vil fremadrettet kun bruge IB-COM \/ Raspberry Pi til signaler, diverse lysstyring m.v. samt til ikke-tidskritiske ting i \u00f8vrigt.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Med den nye ECOS beh\u00f8ver jeg ikke l\u00e6ngere at have et USB kabel i PC&#8217;en. Kommunikationen kan foreg\u00e5 tr\u00e5dl\u00f8st via WLAN (selvom det ganske vist er tr\u00e5det LAN mellem ECOS og routeren). Men jeg vil stadigv\u00e6k bruge min IB-COM til at styre signaler m.v. Og s\u00e5 er jeg lige vidt. Den har jo kun USB &hellip; <a href=\"https:\/\/lisby.dk\/wordpress\/?page_id=143\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Raspberry Pi<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-143","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/lisby.dk\/wordpress\/index.php?rest_route=\/wp\/v2\/pages\/143"}],"collection":[{"href":"https:\/\/lisby.dk\/wordpress\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/lisby.dk\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/lisby.dk\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lisby.dk\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=143"}],"version-history":[{"count":9,"href":"https:\/\/lisby.dk\/wordpress\/index.php?rest_route=\/wp\/v2\/pages\/143\/revisions"}],"predecessor-version":[{"id":4175,"href":"https:\/\/lisby.dk\/wordpress\/index.php?rest_route=\/wp\/v2\/pages\/143\/revisions\/4175"}],"wp:attachment":[{"href":"https:\/\/lisby.dk\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=143"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}