KODI auf einem Raspberry Pi 3 installieren

Das neu aufgesetzte

Erst mal alle Partitionen schreiben und die SD Karte vorbereiten für die BOOT ISO.

Nun noch mal schnell prüfen was Linux mit der SD Karte angestellt hat. Infos zu dem Medium gibt es mit lsblk.

Somit haben wir auch schon mal die Bezeichnung der SD Karte /dev/mmcblk0.

Linux / Kodi OS

Als Plattform für KODI verwende ich LibreELEC. Hier findet man unter Downloads einen PullDown Menü zum Auswahlen des PI Modelles.

Als erstes wird jedoch der LibreELEC USB-SD Creator-App fuer Linux geladen.

Nach dem Download muss man natürlich das Programm erst ausführbar machen.

Danach kann man es per ./ starten.

Nun erklärt sich fast alles von selbst. Version wählen, Herunterladen klicken und das Image auf die SD Karte schreiben.

Nach kurzer Zeit sollte sich die neu geschrieben SD melden.

TVHeadEnd konfigurieren

Zum Konfigurieren von TVHeadEnd rufen wir das WebFrontend auf.

http://<IP DES RASPBERRY>:9981

Beim ersten Aufruf startet ein Wizard zum Setup. Diesen nutzen wir an der stelle.

Unter Web interface wählen wir die Sprache „German“ . Ich verwende bei EPG Language 1 ebenfalls „German“.

Unter Admin und User trage ich in diesem Moment nicht sein und klicke auf Save und Next. Eine Admin Kennung und ein Passwort wurde bereits bei der Installation angegeben.

Im Bereich Network settings wähle ich bei Network 2 im PullDown Menu „DVB-S Network“. Dies gibt der Wizard vor da er bereits meinen SAT IP Server im Netzwerk erkannt hat.

„Muxes“ wählen

Im nachfolgendem Dialog wird nun das entsprechende „Mux“ ausgewählt. In meinem Fall durch die Ausrichtung der Satellitenschüssel 19,2 Ost Astra.

Nach klicken auf Save & Next startet der Scan Vorgang.

Anschließend aktiviere ich noch die nachfolgenden Kontrollkästchen.

Hiermit ist das Wizard beendet.

In meinem Beispiel (DVB-S2 Empfang) finden nun leider die Muxes Einstellung leider keinen Transponter. Dies scheint an einer falsch konigurierten MUX Vorlage zu liegen.

Markiert man nun den Mux und klickt auf Edit/Bearbeiten. Kann man auch erkennen warum keine Trasponter gefunden werden. Hier sind falsche Angaben vorgegeben.

Hier nehme ich mit meiner Konfiguration folgende Abänderung vor.

  • Frequency: 11953500
  • Symbol rate: 27500000
  • FEC: 3/4
  • Polarisation: H“
  • Modulation: QPSK

Jetzt noch Position 1 bis 4 meines Tuner #1 unter Configuration/DVB Inputs/TV adapters aktivieren.



Und siehe da. Es Muxst!

Nun können noch unter Service bequem per WebFrontend die Sender ausgewählt werden.

TVHeadEnd auf dem Raspberry installieren

TVHeadEnd ist ein TV Streaming Server fuer Linux Systeme. Er unterstützt DVB-S, DVB-S2, DVB-C, DVB-T, ATSC, IPTV  sowie Analoges Video. Alle Einstellungen werden über ein Webinterface vorgenommen. Die bereit gestellten Daten können dann beispielsweise mit Kodi auf ein TV Gerät gebracht werden.

In diesem Beispiel werden die DVB-S2 Signale eines Megasat IP Server 3 eingebunden und für KODI oder VLC aufbereitet.

PI vorbereiten zur Installation

Wie immer bei einem Linux System ist es sinnvoll zu beginn das System auf den aktuellen Stand zu bringen.

sudo apt-get update
sudo apt-get upgrade

TVHeadEnd installieren

Die Installation ist denkbar einfach.

sudo apt-get install tvheadend

Bestaetigen Sie nun den Download der Pakete mit „Y“. Im Bereich der TVHeadEnd Konfiguration werden Sie noch nach einem Admin Namen und einem Passwort gefragt. Geben Sie beides ein und bestätigen Sie dies.
Nach diesen Angaben läuft die Installation noch weiter.

TVHeadEnd testen

Ist die Installation abgeschlossen finden Sie das Webfront von TVHeadEnd unter folgendem Link:

http://<IP DES RASPBERRY>:9981

Die jeweilige IP des PI bekommen Sie über den Befehl > ifconfig

Weiter geht es mit der Konfiguration von TVHeadEnd.

DHT22 / AM2302-Luftfeuchte und Temperatursensor

Dieser Sensor dient zum Messen der Luftfeuchtigkeit und der Temperatur. Durch seinen günstigen Preis bietet sich der AM2302 fuer diese Aufgabe an. Da er sowohl mit 3,3V oder 5V betrieben werden kann eignet er sich zum Betrieb an einem Raspberry oder Arduino.

Durch seine OneWire Technologie reicht ein PIN am Board um Luftfeuchtigkeit und Temperatur zu ermitteln. Die Abfrage der Messwerte erfolgt somit seriell als Bitreihenfolge.

Technische Daten:

  • Betriebsspannung: DC 3.3-5.5V
  • Luftfeuchtigkeitsmessbereich : 0 bis 100% relative Luftfeuchte
  • Feuchtemessgenauigkeit: ±2% RH
  • Temperaturbereich: -40 bis +80 C
  • Temperaturmessgenauigkeit ±0.5
  • OneWire Ausgang an Pin 2

  • Maße: 28mm x 12mm x 10mm

Beispielprogramm fuer einen Arduino Uno

    // Example testing sketch for various DHT humidity/temperature sensors
// Written by ladyada, public domain
 
#include "DHT.h"
 
#define DHTPIN 7     // what digital pin we're connected to
 
// Uncomment whatever type you're using!
//#define DHTTYPE DHT11   // DHT 11
#define DHTTYPE DHT22   // DHT 22  (AM2302), AM2321
//#define DHTTYPE DHT21   // DHT 21 (AM2301)
 
// Connect pin 1 (on the left) of the sensor to +5V
// NOTE: If using a board with 3.3V logic like an Arduino Due connect pin 1
// to 3.3V instead of 5V!
// Connect pin 2 of the sensor to whatever your DHTPIN is
// Connect pin 4 (on the right) of the sensor to GROUND
// Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor
 
// Initialize DHT sensor.
// Note that older versions of this library took an optional third parameter to
// tweak the timings for faster processors.  This parameter is no longer needed
// as the current DHT reading algorithm adjusts itself to work on faster procs.
DHT dht(DHTPIN, DHTTYPE);
 
void setup() {
  Serial.begin(57600);
  Serial.println("DHTxx test!");
 
  dht.begin();
}
 
void loop() {
  // Wait a few seconds between measurements.
  delay(2000);
 
  // Reading temperature or humidity takes about 250 milliseconds!
  // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
  float h = dht.readHumidity();
  // Read temperature as Celsius (the default)
  float t = dht.readTemperature();
  // Read temperature as Fahrenheit (isFahrenheit = true)
  float f = dht.readTemperature(true);
 
  // Check if any reads failed and exit early (to try again).
  if (isnan(h) || isnan(t) || isnan(f)) {
    Serial.println("Failed to read from DHT sensor!");
    return;
  }
 
  // Compute heat index in Fahrenheit (the default)
  float hif = dht.computeHeatIndex(f, h);
  // Compute heat index in Celsius (isFahreheit = false)
  float hic = dht.computeHeatIndex(t, h, false);
 
  Serial.print("Humidity: ");
  Serial.print(h);
  Serial.print(" %\t");
  Serial.print("Temperature: ");
  Serial.print(t);
  Serial.print(" *C ");
  Serial.print(f);
  Serial.print(" *F\t");
  Serial.print("Heat index: ");
  Serial.print(hic);
  Serial.print(" *C ");
  Serial.print(hif);
  Serial.println(" *F");
}

Quelle ladyada, public domain

Mehr infos unter Github.

Arduino Ethernet w5100 Probleme mit DHCP

Wer einen Arduino mit Ethernet Shield w5100 betreibt kann in die Situation kommen das bei DHCP durch den Router keine IP vergeben wird.  

Ein Auslesen per seriellen Monitor gibt oft die Meldung IP 0.0.0.0 zurück.

Einer der häufigsten Fehler der mir unter die Finger kommt, sind Router oder Switch die nicht mir der Arduino MAC klar kommen.

Mehr hierzu gibt es wie üblich in der Wiki.