Een permanente camera op je baan

Er zijn heel wat mensen die een camera inbouwen in een modeltrein, er opnames mee maken en deze delen op internet zodat je het gevoel krijgt alsof je als machinist op de trein rijdt. Ook zijn er heel wat mensen die een filmpje maken, al dan niet met geluid, met hun smartphone of videocamera, en dat delen met de rest van de wereld.

Ik had een ander idee.

Eén of meerdere camera’s die op de baan weggewerkt worden zodat ze niet zichtbaar zijn en die continu het beeld tonen dar door de lens geregistreerd wordt. Een camera gericht op het paradespoor die de voorbijrazende treinen mooi weergeeft, bijvoorbeeld vanuit een tunnel. Een camera in het stationsgebouw die een deel van het perron toont met de reizigers en alle binnenkomende en vertrekkende treinen laat zien. Of…. ach verzin ook maar zelf wat er allemaal mogelijk is.

Toen ik dit idee lanceerde op de N-spoor Facebook pagina werden er direct een aantal mensen enthousiast en nieuwsgierig hoe dat gerealiseerd kan worden, en hebben gevraagd om een “handleiding” om het ook zelf te kunnen doen.

Nu ben ik zelf een groot liefhebber van Raspberry PI computers.

Een Raspberry PI is een zeer kleine PC, met beperkte mogelijkheden, maar aan de andere kant kun je er heel veel mee. Een Raspberry heeft geen harde schijf, geen modules voor het interne geheugen en ook geen uitbreidingssloten voor extra hardware. Het OS en data gebruiken een SD kaartje voor de opslag. Intern geheugen zit standaard in de Raspberry, maar kan niet uitgebreid worden.

Het is beperkt mogelijk om randapparatuur aan te sluiten. Een Raspberry heeft, afhankelijk van het type, één of meerdere USB poorten. Verder is er standaard een aansluiting voor een camera en kan er, via een gpio connector hardware op de Raspberry aangesloten worden.

Het operating system moet via een PC op de SD kaart geïnstalleerd worden. Hiervoor is speciale software beschikbaar (gratis).

In dit artikel beschrijf ik een stappenplan om een camera op je baan te gebruiken met een Raspberry PI of een Raspberry PI Zero.

Voor je aan dit avontuur begint wil ik je wel even waarschuwen. Je hoeft geen nerd te zijn om dit uit te kunnen voeren, maar enige kennis van computers en je WiFi netwerk is wel noodzakelijk. De meeste mensen krijgen hun WiFi apparatuur van hun internet provider of kabelboer. Vaak al geconfigureerd of kant-en-klaar geïnstalleerd en gebruiken alleen de WPS knop om nieuwe apparaten aan het draadloze netwerk te koppelen. in dit verhaal moet je de naam weten van het SSID en de passphrase om een verbinding te kunnen maken.

Verder moet je ook niet bang zijn om commando’s in te typen en zonder knoppen zoals “OK”, “Cancel” en “Next” te werken. Oftewel je gebruikt in dit verhaal hoofdzakelijk een CLI, Command Line Interface. Voor de oudjes onder ons, denk aan een DOS box. De Raspberry van tegenwoordig beschikt veelal over een grafische interface, maar die wordt hier nauwelijks gebruikt.

Het Operating System dat op een Raspberry gebruikt wordt is een Linux variant. Er is niet 1 OS zoals bijvoorbeeld bij Windows of MacOS. Bij Linux kun je kiezen. Afhankelijk van wat je met je PI gaat doen kies je een OS. Toch is er een soort van standaard OS voor de PI dat veelgebruikt wordt. En dat is Raspbian.

Raspbian is een van Debian Linux afgeleide variant en het officiële OS voor de Raspberry. De meest recente versie is Jessie. Bij Raspbian werken ze met namen voor de verschillende versies in plaats van versie nummers.

Voor de Raspberry zijn, speciaal voor de Raspberry gemaakte, camera’s verkrijgbaar. Die heb je nodig. Of het een officiële camera is van Raspberry of een goedkope clone van Aliexpress maakt niet uit. Mits de camera maar geschikt is voor de Raspberry. Over de kwaliteit van de camera’s kan ik geen uitspraak doen. Ik heb alleen een rasechte Raspberry camera gebruikt.

Heb je al een Raspberry? Dan kun je die prima gebruiken. Het maakt niet uit of je een PI, PI 2 of PI 3 hebt. Al heeft een PI 3 wel het voordeel dat daar al standaard WiFi op zit. Heb je nog geen Raspberry, of wil je er één aanschaffen voor dit doel, bedenk dan goed wat je aanschaft. Eem PI Zero is erg interessant. Goedkoper en kleiner de een PI 3, maar heeft minder mogelijkheden en het kan lastig zijn om deze te configureren zonder de juiste middelen.

In de meest recente versie van Raspbian, Jessie, is SSH disabled. SSH wordt gebruikt om remote in te loggen en het systeem in te richten en te configureren. Om dit aan te kunnen zetten heb je een toetsenbord en beeldscherm nodig. ook voor het configureren van WifI werkt dit erg handig. Houd er rekening mee dat een PI Zero alleen beschikt over een microUSB en mini HDMI connector. Het kan zijn dat je voor het aansluiten van een toetsenbord of beeldscherm verloopstekkers nodig hebt. De PI Zero heeft geen netwerkadapter, je hebt dan de PI Zero W nodig. deze beschikt standaard over WiFi en Bluetooth. Voordeel van de PI Zero is, dat deze een stuk kleiner is dan de gewone PI.

De gewone PI beschikt over standaard USB poorten en een normale HDMI aansluiting. De PI 3 heeft standaard WiFi aan boord. Bij de vorige modellen heb je daarvoor een WiFi dongle nodig. Let bij de aanschaf van een WiFi dongle goed op welke je koopt. Sommige dongles werken niet of niet goed op een Raspberry of hebben drivers nodig die niet standaard aanwezig zijn. De ingebouwde WiFi van de PI 3 heeft dit probleem niet.

 

Als je dit allemaal gelezen hebt, en je hebt er nog steeds zin in, dan volgt hieronder een beschrijving van het gene dat ik uitgevoerd heb om een werkende camera te realiseren.

Kookboek

Wat heb je nodig?

  • Raspberry PI of Raspberry PI Zero W
  • Camera
  • Voeding
  • (micro) SD kaart, 8GB is voldoende.
  • PC met SD card slot of reader
  • Enige computerkennis
  • Optioneel: WiFi dongle
  • WiFi netwerk
Raspberry PI

Heb je al een Raspberry PI? Dan kun je die prima gebruiken hiervoor. Heb je er nog geen? Dan zijn er meerdere opties. Je kunt het beste kiezen voor de meest recente versie. Voor de gewone Raspberry PI is dat de PI 3. Deze heeft standaard WiFi en Bluetooth aan boort en heeft wat meer geheugen en een krachtigere processor dan zijn voorganger. Kies je voor de PI Zero, neem dan de uitvoering met standaard wireless, de W uitvoering.

De PI Zero beschikt over minder mogelijkheden qua aansluiten van randapparatuur, en de aansluitingen zijn allemaal van het mini type. Dit geldt zowel voor de USB als de HDMI aansluiting. Het kan verstandig zijn om Adapter Pack (mee) te bestellen. Vergeet ook niet om een voeding te bestellen, anders kun je niet van start.

Zelf heb ik dit setje besteld: https://www.kiwi-electronics.nl/raspberry-pi/raspberry-pi-zero-w-camera-pack?filter=7

Een voeding en SD kaartje had ik nog liggen en heb ik er niet bij besteld.

OS installeren.

Een OS installeren op een Raspberry gaat wat anders dan op een PC. Je hebt hiervoor een PC of Mac nodig. Ik beschrijf de procedure voor een PC omdat ik geen Mac bezit.

Ik heb Rasbian gebruikt en de laatste versie heet Jessie, en kun je hier downloaden: https://www.raspberrypi.org/downloads/raspbian/

Jessie is er in 2 smaken, de standaard versie en de light versie. Kies de standaard versie.

Nadat je Jessie gedownload hebt, moet je het zip bestand uitpakken. Na het uitpakken heb je een img bestand met bijvoorbeeld de volgende naam: 2017-04-10-raspbian-jessie.img. Onthoud de naam, want die heb je zo nodig in de volgende stap.

Om het img bestand op de SD kaart te zetten, heb je speciale software nodig, een imagewriter. Zelf gebruik ik hiervoor Win32DiskImager. Een gratis tooltje dat je hier kunt downloaden: https://sourceforge.net/projects/win32diskimager/

Mocht dit geheel nieuwe materie voor je zijn, een korte uitleg kun je hier vinden: http://www.raspberry-projects.com/pi/pi-operating-systems/win32diskimager

Het schrijven van het image naar de SD kaart kan enige minuten duren. Je kunt het SD kaartje nu in de Raspberry steken en doorgaan met het configureren van de Raspberry en het installeren van de software. De volgende stappen kun je op 2 manieren uitvoeren. Het SD kaartje direct in de PI Zero steken, toetsenbord en beeldscherm aansluiten, of je gebruikt een andere Raspberry als je die hebt, en voert de eerste stappen daar op uit.

In het verleden kon je direct na het installeren van het OS aan de slag via SSH. In de huidige versie is dat niet meer mogelijk en staat SSH uit. je zult SSH eerst aan moeten zetten en daarvoor heb je een toetsenbord en monitor nodig. Die heb je overigens ook nodig om WiFi te configureren en een netwerkverbinding mogelijk te maken.

De Raspberry configureren

Wanneer je in moet loggen op je Raspberry, dan zijn de standaard inloggegens: gebruiker: PI, wachtwoord: raspberry. Het wachtwoord kun je uiteraard wijzigen en is ook aan te bevelen.

Eén van de eerste zaken die uitgevoerd moeten worden is het configureren van je Raspberry. Om dat uit te voeren staat er een heel handig tooltje op de Raspberry dat heet Raspi Config.

Open een terminal venster op de Raspberry en type het volgende commando: sudo raspi-config.

In het scherm dat nu opent zie je een keuzemenu, ga naar optie 5, Interfacing Options. Navigeren doe je d.m.v. de pijltje omhoog en pijltje omlaag toetsen en de TAB toets.

Je komt nu in een menu waarin je een aantal opties aan en uit kunt zetten.  De volgende opties moeten enabled worden: P1 Camera, P2 SSH en optioneel P3 VNC.

Terug in het hoofdmenu, ga naar 4, Localisation Options. Ga vervolgens naar I1 Change Locale. Selecteer de volgende locales:

  • en-GB.UTF-8
  • en-US.UTF-8
  • nl_NL.UTF-8
  • nl_NL@Euro

Het selecteren van een locales doe je met een klik 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.

Als laatste, en wellicht in de huidige versie overbodig, vanuit het hoofdmenu, ga naar optie 7, Advanced Options. Kies vervolgens A1 Expand Filesystem.

Wanneer je een image wegschrijft op een SD kaart, wordt alleen de ruimte de nodig is om de image weg te schrijven gebruikt. Dat betekend dat je geen data kunt opslaan omdat er niet meer ruimte beschikbaar is. Althans, wel beschikbaar, maar niet gebruikt wordt. Met deze optie wordt het filesystem vergroot en alle beschikbare schijfruimte ook daadwerkelijk gebruikt.

Nadat je klaar bent met het aanpassen van de configuratie krijg je de vraag om te rebooten. Dit moet je doen.

Testen

Nu de basis gereed is, de camera aangesloten en geactiveerd in de configuratie, is het tijd voor een klein testje.

Je kunt nu remote verbinden met je Raspberry via SSH, of rechtstreeks je Raspberry gebruiken als je er een muis, toetsenbord en monitor aan gekoppeld hebt.

Via SSH kun je o.a. doen met behulp van Putty. Inloggen vanuit een andere Raspberry, of Linux PC, doe je met het volgende commando: pi@<IP adres>

Als je rechtstreeks de Raspberry gebruikt, open dan een Terminal window. Ben je remote via SSH ingelogd, dan kun je gelijk gaan typen. Geeft het volgende commando is: raspistiil -o test.jpg.

Er wordt nu een foto gemaakt met de camera en opgeslagen als test.jpg. Standaard wordt het bestand opgeslagen in de huidige directory waar je je bevindt. Meestal is dat /home/pi.

Als er een foto aanwezig is en deze toont beeld, dan werkt de camera. Gefeliciteerd! Je hebt nu een heel onhandige fotocamera gebouwd ;-).

Videocamera

Om van je onhandige fototoestel een zeer praktische video camera te maken, heb je nog extra software nodig. er zijn verschillende mogelijkheden om dat te doen. Ik heb gekozen voor RPI-Cam-Web-Interface. deze sluit het best aan bij mijn wensen en eisen en is relatief eenvoudig te installeren.  Let op! Ik zeg relatief eenvoudig, het is best nog veel werk, maar goed te doen, ook voor iemand die wat minder ervaren is.

 

Even wat eigenschappen en mogelijkheden van het product:

RPi-Cam-Web-Interface

 RPi Cam Web Interface is a web interface for the Raspberry Pi Camera module that can be opened on any browser (smartphones included) and contains the following features:
  • View, stop and restart a live-preview with low latency and high framerate. Full sensor area available.
  • Control camera settings like brightness, contrast, … live
  • Record full-hd videos and save them on the sd-card packed into mp4 container while the live-preview continues
  • Take single or multiple (timelapse) full-res pictures and save them on the sd-card (live-preview holds on for a short moment)
  • Preview, download and delete the saved videos and pictures, zip-download for multiple files
  • Trigger captures by motion detection
  • Trigger captures by many scheduling-possibilities
  • Circular buffer to capture the last actions afterwards
  • Control Pan-Tilt or Pi-Light
  • Shutdown/Reboot your Pi from the web interface
  • Show annotations (eg timestamp) on live-preview and taken images/videos
  • Supports selection from 2 cameras when used with a compute module

 

Nu gaat het mij wat te ver om hun hele installatie documentatie over te typen en te vertalen. Ik stel voor dat je de documentatie uit hun Wiki gebruikt: http://elinux.org/RPi-Cam-Web-Interface.

Na het installeren van de software kun je eventueel nog e.e.a. aanpassen via de webinterface. Ik ga dat hier niet beschrijven omdat het vooral je eigen voorkeuren zullen zijn.

Tot slot

Als je alles uitgevoerd hebt zoals hier beschreven, dan zou je nu een werkende Raspberry met camera moeten hebben en in staat zijn video opnames te maken met de camera.

Je zou dan iets zoals dit moeten kunnen produceren:

Ik realiseer me dat deze handleiding verre van perfect is. Ik heb geen idee wat het niveau van mijn lezers op dit gebied is. Hebben ze veel ervaring? Zeer weinig? Staan er een hoop overbodige instructies in? Ik heb geen idee. Laat via de reactiemogelijkheid weten wat je er van vindt, suggesties te verbetering zijn altijd welkom. Ook als je informatie mist hoor ik het graag.

Zelf werk ik al een aantal jaren met Raspberry PI’s en Linux. Ik heb inmiddels al een stuk of 8 Rasperry’s in gebruik en deze worden o.a. gebruikt voor de domotica in mijn huis, aansturing van de treinbaan (met RocRail), uitlezen van de slimme meter, vliegtuigen spotten met Flightradar, Kodi, HA bridge tussen de Amazon Alexa Echo Dot en Domoticz, de domotica server. En ook deze website draait op een Raspberry.

 

 

One thought to “Een permanente camera op je baan”

  1. Hoi. Ik vind het super dat je deze uitleg hebt willen schrijven. Maar het lezen ervan ben.ik wr achter dat het me te ver boven mijn pet gaat.
    Wel wil ik.je hiervoor bedanken.

Geef een reactie

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