Projekt – Photoframe mit Bahnhofsuhr und Ticker

In diesem Projekt geht es darum Bilder die sich auf einem Webserver befinden auf einem Monitor oder Fernseher über HDMI als Slideshow anzuzeigen. Die verwendeten Komponenten findet ihr in der Beschreibung. Später soll noch ein Ambilight zu diesem Projekt hinzu kommen.

Schritte:

  1. Webserver starten und Script anlegen
  2. Raspberry Software installieren und konfigurieren
  3. Vollbild aktiviren
  4. Monitor oder Fernseher anstecken

Benötigte Hardware:

Steuereinheit: Raspberry Pi 3
Monitor: LG Flatron IPS 235  Auflösung 1920 x 1080 oder SONY Fernseher
NAS: QNAP 470, kann auch jedes andere NAS oder freigegebene Ordner sein.
HDMI Kabel voll belegt


Benötigte Software:

Rasbian Scretch mit Chromium Browser das hier bereits vorinstalliert ist

Bahnhofsuhr

Ticker


Aufbau:

Server -> Netzwerk -> Raspberry Photoframe -> HDMI Kabel -> Monitor oder Fernseher


Installation:

Rasbian Scretch Betriebssystem auf SD Karte kopieren (Hierzu gibt es diverse Anleitungen). Nicht vergessen, eine Datei mit Namen ssh auf dem Image zu erzeugen um mit Putty via SSH Zugriff zu erhalten.

sudo apt-get update

sudo apt-get upgrade


Root Passwort setzen

Ein Passwort für root setzen. Ist gut für den Zugriff mit WinSCP
Dafür folgendes in sudo nano /etc/ssh/sshd_config ändern

# Authentication:
LoginGraceTime 120
PermitRootLogin without-password
StrictModes yes

ändern in

# Authentication:
LoginGraceTime 120
PermitRootLogin yes
StrictModes yes

Neues Passwort setzten mit sudo passwd root


Remote Desktop installieren

sudo apt-get install xrdp (Zugriff via Remote Desktop erhalten)

 


Energiesparmodus, Bildschirmschoner  und Mauszeiger ausgeschaltet

sudo apt-get install  x11xserverutils 

sudo apt-get install  uncuttler

Folgendes in sudo nano /etc/X11/xinit/xinitrc ändern

sudo apt-get install cec-utils
Prüfen ob Raspberry als CEC Client erkannt wird    cec-client -l
Ausgabe:
libCEC version: 4.0.2, git revision: libcec-4.0.2+30-8adc786~dirty,
compiled on Mon Aug 21 09:41:41 UTC 2017 by root@hostname:
Name or service not known on Linux 4.4.0-92-generic (armv7l),
features: P8_USB, DRM, P8_detect, randr, RPi
Found devices: 1
device: 1
com port: RPI
vendor id: 2708
product id: 1001
firmware version: 1
type: Raspberry Pi

Fernseher einschalten: echo „on 0“ | sudo cec-client -s -d 1

Fernseher ausschalten: echo „standby 0“ | sudo cec-client -s -d 1



 Scripte erstellen:
<!DOCTYPE html>
<html>
<head>
	<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
    <title>Photoframe</title>
   
    <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-wp-preserve="%3Cscript%20type%3D%22text%2Fjavascript%22%20src%3D%22http%3A%2F%2Fajax.googleapis.com%2Fajax%2Flibs%2Fjquery%2F1.4.4%2Fjquery.min.js%22%3E%3C%2Fscript%3E" data-mce-resize="false" data-mce-placeholder="1" class="mce-object" width="20" height="20" alt="&lt;script&gt;" title="&lt;script&gt;" />
	
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-wp-preserve="%3Cstyle%20type%3D%22text%2Fcss%22%3E%20%0A%09%09%23frame1%20%7B%0A%09%09%20%20position%3A%20absolute%3B%0A%09%09%20%20width%3A%201920px%3B%0A%09%09%20%20height%3A%20px%3B%0A%09%09%20%20top%3A%200px%3B%0A%09%09%20%20left%3A%200px%0A%09%09%7D%09%0A%09%09%23frame2%20%7B%0A%09%09%20%20position%3A%20absolute%3B%0A%09%09%20%20width%3A%20250px%3B%0A%09%09%20%20height%3A%20175px%3B%0A%09%09%20%20top%3A%2050px%3B%0A%09%09%20%20left%3A%2050px%0A%09%09%7D%0A%09%3C%2Fstyle%3E" data-mce-resize="false" data-mce-placeholder="1" class="mce-object" width="20" height="20" alt="&lt;style&gt;" title="&lt;style&gt;" />

  
	<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-wp-preserve="%3Cscript%20type%3D%22text%2Fjavascript%22%3E%0A%20%20%20%20%2F*%20%3C!%5BCDATA%5B%20*%2F%0A%09%20%20%20%20var%20foo%3Dtrue%3B%0A%0A%20%20%20%20%20%20%20%20function%20refreshContent()%20%7B%0A%09%09%09%0A%09%09%09if%20(foo%3D%3Dtrue)%20%0A%09%09%09%7B%20%20%20%2F*%20Hintergrund%20tauschen%20*%2F%0A%09%09%09%09foo%3Dfalse%3B%0A%09%09%09%09var%20%24image1%20%3D%20%24('img%23pic1')%3B%0A%09%09%09%09var%20%24downloadingImage1%20%3D%20%24(%22%3Cimg%3E%22)%3B%0A%09%09%09%09%24downloadingImage1.load(function()%7B%0A%09%09%09%09%20%20%24image1.attr(%22src%22%2C%20%24(this).attr(%22src%22))%3B%09%0A%09%09%09%09%7D)%3B%0A%09%09%09%09%24downloadingImage1.attr(%22src%22%2C%20%22pframe.php%3Ftime%3D%22%20%2B%20new%20Date()%20)%3B%0A%09%09%09%09%0A%09%09%09%09%24(%22%23pic2%22).fadeOut(2000)%3B%20%20%2F*%20Jetzt%20Vordergrund%20fade%20out%20*%2F%0A%09%09%09%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20else%0A%09%09%09%7B%20%20%20%2F*%20Vordergrund%20tauschen%20*%2F%0A%09%09%09%09foo%3Dtrue%3B%0A%09%09%09%09var%20%24image2%20%3D%20%24('img%23pic2')%3B%0A%09%09%09%09var%20%24downloadingImage2%20%3D%20%24(%22%3Cimg%3E%22)%3B%0A%09%09%09%09%24downloadingImage2.load(function()%7B%0A%09%09%09%09%20%20%24image2.attr(%22src%22%2C%20%24(this).attr(%22src%22))%3B%09%0A%09%09%09%09%7D)%3B%0A%09%09%09%09%24downloadingImage2.attr(%22src%22%2C%20%22pframe.php%3Ftime%3D%22%20%2B%20new%20Date()%20)%3B%0A%09%09%09%0A%09%09%09%09%24(%22%23pic2%22).fadeIn(2000)%3B%20%2F*%20Jetzt%20Vordergrund%20fade%20in%20*%2F%0A%09%09%09%7D%0A%20%20%20%20%20%20%20%20%7D%0A%09%09%0A%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%24(document).ready(function()%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20window.setInterval(%22refreshContent()%22%2C%2030000)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20refreshContent()%3B%0A%20%20%20%20%20%20%20%20%7D)%3B%0A%20%20%20%20%2F*%20%5D%5D%3E%20*%2F%0A%20%20%20%20%3C%2Fscript%3E" data-mce-resize="false" data-mce-placeholder="1" class="mce-object" width="20" height="20" alt="&lt;script&gt;" title="&lt;script&gt;" />
	
</head>
 
<body>
    
<div id="frame1" >
		<img id="pic1" src="" width="1920" height="1080">
	</div>


<div id="frame1" >
		<img id="pic2" src="" width="1920" height="1080">
	</div>

 
</body>
 
</html>