PiFrame


Købte mig en Raspberry Pi, skulle bruge den til et projekt med at bygge en lille webserver der kunne sende og modtage serielle data.
Halvvejs inde i projektet, gik jeg i stå og da jeg så faldt over en 23" monitor med HDMI indgang besluttede jeg mig at bygge en stor fotoramme.
Eksempler på fotorammer med Raspberry Pi er der masser af ude på nettet, men de er næsten alle alt alt for avancerede til mig,
Jeg ville have en der læser billeder direkte fra en USB stick og ikke noget med at sende billeder over via FTP, eller hente billeder automatisk fra en webserver.
Nej, en standalone løsning jeg kan tage med mig og stille op, hvor jeg har lyst til og ikke være afhængig af computere og netværk.

Mit projekt er i høj grad baseret på denne github løsning
https://github.com/kbfirebreather/rpi-digital-photo-frame
Derfor vil der også være mange ligheder i guiden, dog tilføjet mine ændringer og fjernet en del.

For at "min" opskrift virker skal alle billeder helst være optimeret til den tilsluttede skærms opløsning (i mit tilfælde 1920x1080),
 filextension skal være .jpg (altså med små bogstaver) og der må ikke være mellemrum i filnavnene.

Efter første projekt med 23" skærmen, kom jeg forbi en billig pi og et 37" tv med HDMI, så nu over to år efter den første, er der kommet en endnu større PiFrame


 

Sådan sætter du en Raspberry Pi op til at være en fotoramme.

Start med at hent nyeste version raspbian og læg det på et passende flashkort.
Instruktioner kan findes her http://www.raspberrypi.org/downloads.

Sæt flashkort i Pi'en og tænd. Er det første gang du starter går den direkte i konfigurationsmenuen. Er det en installation der tidligere har været brugt til andet, så kaldes konfigurationsprogrammet frem ved, i kommandoprompten at skrive: sudo rapsi-config

Nu er du i konfigurations programmet

Gå ind under "Enable Boot to Desktop/Scratch", vælg "Set to Console Text console, requiring login".

Gå ind under "Internationalisation Options", vælg rette tidszone og keyboard layout (i mit tilfælde dansk keyboard).

Vælg "Finish"

Reboot din Pi.

For ikke at skulle indtaste brugernavn og adgangskode hver gang den starter (der er intet tastatur på en fotoramme, når den er i drift) kaldes følgende fra kommandoprompten:

Sudo nano /etc/inittab
find: 1:2345:respawn:/sbin/getty --noclear 38400 tty1
sæt et hashtag foran linien, så der står #1:2345:respawn:/sbin/getty --noclear 38400 tty1
Lige under tilføjes 1:2345:respawn:/bin/login -f pi tty1 </dev/tty1
Tryk CTRL X for at afslutte og Y for at gemme (husk dette, det skal bruges igen).

Nu skal fotoramme softwaren installeres. Det gøres på følgende måde:

sudo apt-get update - henter nyeste liste med tilgængelig software.
sudo apt-get install fbi - henter fbi programmet der bruges til at vise billeder med.
sudo reboot - genstarter din Pi.

Opret to mapper til fotorammen.

cd /home/pi - vær sikker på at du er i roden af din Pi.
mkdir usbdrv - opret mappe(alias) til billeder.
mkdir piframe - opret mappen piframe.
cd piframe - gå ind i piframe mappen.

Vi skal lige have oprettet en scriptfil inde i piframe mappen

Sudo nano slideshow.sh - åbner nano editor, inde i editor skrives følgende:
fbi -noverbose -u -t 10 /home/pi/usbdrv/*.jpg - -u viser billederne i tilfældig rækkefølge, -t 10 giver 10 sekunders visning af billeder.
(Du kan læse om flere muligheder med fbi her.)
Afslut og gem (CTRL X, Yes)
Indtast derefter:
sudo chmod +x *.sh
- giver rettigheder til at køre *.sh filer.

Nu skal Pi lære at læse fra USB stick. Jeg har valgt at bruge en opsætning der gør at man kan skifte mellem forskellige USB sticks som man har lyst til.
Sæt en USB stick i Pi'en og genstart den (enten med sudo reboot eller sluk/tænd)

Vi skal finde ud af hvad Pi'en identificerer USB sticken som, så vi skriver: sudo blkid Svar kunne være

/dev/mmcblk0p1: SEC_TYPE="msdos" LABEL="boot" UUID="140A-14B7" TYPE="vfat"
/dev/mmcblk0p2: UUID="f24a4949-f4b2-4cad-a780-a138695079ec" TYPE="ext4"
/dev/sda1: LABEL="downloads" UUID="dad3727d-6b29-4f64-b7be-abacc0c90a23" TYPE="ext4"
/dev/sda1: LABEL="GITPI" UUID="6D34-1514" TYPE="vfat"

mmc er hukommelseskortet i selve Pi, hvor sd er flytbare enheder. I ovenstående tilfælde hedder USB sticken sda1. Det skal vi huske på, for det skal vi bruge i filsystem tabellen, som vi åbner med kommandoen: sudo nano fstab. I slutningen af filen tilføjes:

/dev/sda1        /home/pi/usbdrv       vfat    uid=pi,gid=pi,umask=0022,sync,auto,nosuid,rw,nouser 0   0

Afslut, gem og reboot. Herefter vil systemet "tro" at de filer der er på USB nøglen er placeret i /home/pi/usbdrv mappen - som scriptfilen peger på.

Nu skal scriptfilen sættes til at køre når Pi'en starter:

sudo nano /etc/rc.local
Find linien exit 0. Lige over linien indsættes følgende:
bash /home/pi/piframe/slideshow.sh
Afslut, gem og reboot.

Vupti - fotoramme i stor udgave.

 

Overscan - hvis billedet alligevel ikke fylder hele skærmen ud.

På nogle skærme kan det opleves at billedet ikke fylder hele skærmen ud. For at komme af med det, kan man fjerne overscan i to "trin". start med at åbne for konfigurationsfilen med:

sudo nano/boot/config.txt
Find #disable_overscan=1 og fjern hashtag (#) foran det.
Sæt et hashtag foran de andre overscan parametre
#overscan_left=10
#overscan_right=10
#overscan_top=10
#overscan_bottom=10

Er det ikke nok, kan man lege med de fire overscan parametre ved at fjerne hashtag foran og ændre på værdierne.
Højere værdi vil give større sort kant, mindre værdi vil lave den sorte kant mindre. Jeg kører med 0 i alle fire parametre.

Og nu vi er i gang med det med billedstørrelsen, så byggede jeg mig endnu en PiFrame, denne gang med et gammelt 32" tv. Fjernsynet skulle være 1366x762 i opløsning, men billederne så "forkerte" ud. Jeg testede skærmes opløsning med denne kommando

	fbset -s

Som fortalte mig at skærmen fortalte at den foretrak en opløsning der hed 1276x764. Da jeg fik billederne konverteret til den størrelse, så det hele rigtigt ud igen.


Kommentarer tips og tricks,modtages gerne !!
E-Mail :
Klaus D. Mikkelsen - (moppe@post6.tele.dk)

Designet af Moppe