Issue 19 draft DE

Page 1

Ausgabe 19 - Dez 2013

Gedruckte Ausgaben unter themagpi.com Ein Magazin f? r Raspberry Pi Nutzer

Der Quadcopter hebt ab

Environmental Monitor XLoBorg Paint Brush GPIO LCD Screen

Remote Sensing Pi Store Review Catch Up TV SonicPi

Gewinne einen Raspberry Pi 16GB SD Karte Steckplatine & mehr

Raspberry Pi ist ein Warenzeichen der Raspberry Pi Foundation. Dieses Magazin wurde auf einem Raspberry Pi erstellt.

http://www.themagpi.com


19 Willkommen zur Ausgabe 1 9 des MagPi Magazins. Das Jahr ist vorbeigerast und wir sind wieder mit unserer Weihnachts-Ausgabe zurück! Wird Dir der Weihnachtsmann irgendein Rasberry Pi Zubehör zu Weihnachten bringen? Sollte es so sein, haben wir einige tolle Artikel, die Dir helfen werden, diesen schlauen Computer schnell gut einzusetzen. Bist Du es leid, dass Deine Geschenke vom Rentier gebracht werden? Wenn Du Lust auf eine Veränderung hast, warum nimmst Du nicht Deinen eigenen Rasberry Pi gesteuerten Quadcopter, um sie reinzubringen? Andy Baker beginnt seine Serie zum Aufbau dieser fliegenden Machine. In dieser Ausgabe beschreibt er die benötigten Teile, ihre Aufgaben und erklärt etwas von dem Code für das abheben... nein, es wird nicht duch den Geist der Weihnacht angetrieben! Wenn Du durch Weihnachts-Parties zu beschäftigt bist und sogar Deine Liebsingssendungen verpasst, keine Sorge, wir haben etwas für Dich. Geoff hat einen grossartigen Artikel über OpenELEC erstellt, wie Du auf Deinen Rasberry Pi eine Mediathek einrichtest, so dass Du nie wieder eine Folge verpasst! Claire Price führt den festlichen Geist in einen fantastischen Artikel zum Sonic Pi fort, welcher Deinen Rasberry Pi mit einer Wiedergabe von "Good King Wenceslas" mitsingen lässt. Die Nachrichten in England sind derzeit voll mit Geschichten der Elektrizitäts-Firmen, die die Preise diesen Winter anheben. Wenn Du klug mit Deinen Heiz- und Elektrorechnungen umgehen willst, ohne die Tannenbaumbeleuchtung oder die Heizung abzudrehen, wirf einen Blick auf Pierre’s Artikel zur Umgebungsüberwachung. Alternativ, um Dich aufzuwärmen, kehren wir zum Projekt Curacao zurück, um auf das Umgebungs Subsystem zu schauen, welches in diesen Fernsteuerungs Projekt genutzt wird. Wenn das noch nicht reicht, um Dich über die Feiertage auf Trab zu halten, warum malst Du nicht ein elektronisches Meisterwerk mit XLoBorg? Andy Wilson schreibt über das Scrolling von RSS Feeds auf einem LCD via GPIO, ausserdem besuchen wir den Pi Store. Zu guter Letzt, erfahre etwas über Veranstaltungen in Deiner Nähe und PC Supplies offeriert wieder grosszügig Rasberry Pi Zubehör in ihren monatlichen Wettbewerb. Wir freuen uns auch, bekannt geben zu können, dass die gedruckten Ausgaben des Magazins nun von verschiedenen Verkäufern erhältlich sind, die auf www.themagpi.com aufgeführt werden. Das MagPi wird über Weihnachten eine kleine Pause einlegen und die erste Ausgabe von 201 4 wird Anfang Februar veröffentlicht werden. Frohe Weihnachten und die besten Wünsche für 201 4.

Chief Editor of The MagPi

The MagPi Team Ash Stone - Chief Editor / Administration / Layout W.H. Bell - Issue Editor / Layout / Administration Bryan Butler - Page Design / Graphics Ian McAlpine - Layout / Proof Reading Matt Judge - Website / Administration Aaron Shaw - Layout / Proof Reading Colin Deady - Layout / Proof Reading

2

Claire Price - Layout / Proof Reading Matt Weaver - Layout Amy-Clare Martin - Layout Gerry Fillery - Proof Reading / Testing Paul Carpenter - Tester Neil Matthews - Tester / Proof Reading Nigel Curtis - Proof Reading


Inhalt

4 QUADCOPTER Teil 1 : Eine Einführnung zum Aufbau und Steuerung eines Quadcopters mit dem Rasberry Pi

MONITOR 1 0 UMWELT Daten protokollieren mit dem Raspberry Pi

1 4 ANDYPI Scrolle einen RSS Feed auf dem AndyPi LCD via GPIO PROJEKT: FERNÜBERWACHUNG AUS DER KARIBIK 1 6 CURACAO Teil 2: Die Umweltsensoren PHYSICAL COMPUTING 1 8 Teil 3 : Knöpfe und Schalter mit dem Raspberry Pi

22 PIBRUSH Malen mit dem XLoBorg Beschleunigungs- und Magnetfeldsensor von PiBorg 28 MEDIATHEKEN-TV Verpasse nie wieder Deine Liebingssendung mit OpenELEC PI STORE 34 DER Ein Blick auf die Vielfalt der Applicationen und Spiele

38 GEWINNSPIEL Gewinne einen Raspberry Pi Model B, Steckplatine, 1 6GB NOOBS SD Karte, GPIO Cobbler kit und Zubehör

MONATLICHE VERANSTALTUNGS-KALENDER 39 DER Stevenage UK, Winchester UK, Nottingham UK, Paignton UK, Helsingborg Sweden PI ZU WEIHNACHTEN 40 SONIC Lerne programmieren mit Sonic Pi

44 FEEDBACK Eure Aussagen zum 'The MagPi' Magazin

http://www.themagpi.com

3


Bau eines Flug-Autobots

Gastautor

ERFAHRUNG: FORTGESCHRITTEN Ein Quadcopter ist ein Fluggerät mit vier Propellern, dass entweder autonom (mit fester Flugroute) oder aus der Ferne gesteuert wird. Dieser erste Artikel gibt einen kurzen Überblick, wie Quadcopter arbeiten und wie man einen Raspberry Pi-gesteuerten zusammenbaut. Das Ergebnis sollte ein Quadcopter sein, der autonom starten, schweben und landen kann. In späteren Artikeln werden mehr Details zu Tests und Tuning des Quadcopters enthalten sein, inklusive Code-Erweiterungen für seitliche Flugmanöver, eine Raspberry Pi Fernbedienung und vielleicht Erweitungen für GPS-Tracking.

Teile eines Quadcopters Zuerst ein kurzer Abriss der wichtigsten Elemente eines Quadcopters. Es gibt vier Propeller. Zwei der vier sollen im Uhrzeigersinn drehen, die beiden anderen im Gegenuhrzeigersinn. Propeller mit gleichem Drehsinn sind diagonal gegenüberliegend am Rahmen angeordnet. Eine solche Anordnung der Propeller verhindert eine Eigendrehung des Quadcopters in der Luft. Durch unterschiedliche Leistungszufuhr zu jedem Propeller, und damit unterschiedlichen Hub in den Ecken des Quadcopters, ist es nicht nur möglich zu starten, zu schweben und zu landen, sondern auch durch Kippen, den Quadcopter horizontal zu bewegen und

4

Andy Baker

Kurven zu drehen. Jeder Propeller hat einen eigenen bürstenlosen Gleichstrommotor. Diese Motoren können im Uhrzeigersinn oder gegen den Uhrzeigersinn drehend betrieben werden. Der Motor hat drei Gruppen von Spulen um einen festenstehenden Teil (Stator). An der Propellerwelle (Rotor) sind Dauermagnete angebracht. Um den Propeller zu drehen, wird die Energie an einer Spulengruppe angelegt, die Rotormagnete werden von diesen Spulen angezogen. Diese Spulen werden dann abgeschaltet und die nächste Gruppe eingeschaltet, so bewegt sich der Rotor auf die nächste Spule zu. Wiederholt man dies für alle Spulen in Folge, dreht sich der Motor. Je schneller man zwischen den drei Spulen wechselt, desto schneller dreht sich der Motor. Dies eignet den Motor für "digitale" Steuerung, denn die Richtung und Geschwindigkeit der Bewegung des Propellers entspricht Reihenfolge und Rate der Stromimpulse die an die Spulen angelegt werden. Diese Motoren brauchen viel Strom, damit die Propeller schnell genug drehen, um ausreichend Auftrieb für den LiftOff zu erzeugen—weit mehr Energie als ein Raspberry Pi liefern kann—das übernimmt ein Electronic Speed ​C ontroller (ESC). Er übersetzt ein pulsweitenmoduliertes (PWM) Steuersignal des Raspberry Pi in drei Hochstromsignale, eines für jede Motorspule. Sie sind die kleinen weiHen Objekte, die unter den Armen des Quadcopters festgeklettet sind.


Auf dem Steckbrett unterhalb des Raspberry Pi sind Sensoren angebracht. Ein Gyroskop liefert dem Raspberry Pi Daten über Neigen und Rollen in drei Dimensionen, sowie zur Beschleunigung vor, zurück, links, rechts, hoch und runter. Alle Sensoren sind über die GPIO I 2C Pins des Raspberry Pi angeschlossen.

Code oder von einer Fernbedienung vorgegeben wird, ermittelt die Differenz zwischen dem, was der Quadcopter macht (von den Sensoren) und was er tun sollte (aus dem Code oder der Fernbedienung) und ändert die Leistung jedes Motors individuell, bis die gewünschte Aktion mit den Sensorausgängen übereinstimmen.

Erschaffe Deinen Quadcopter

Im Schaltplan kannst Du sehen, dass ich erwäge einen Piepser hinzuzufügen, so kann ich hören was der Quadcopter glaubt zu tun.

Die Energie für all das, kommt von einer einzigen Lithium-Polymer (LiPo)-Batterie die 1 1 ,1 V bis zu einem Spitzenstrom von 1 00A liefert. Mit der vollen Ladung von 3300 mAh können 3,3A für eine Stunde oder 1 00A für zwei Minuten geliefert werden. Die Batterie ist eine Kraftpaket und wiegt nur 250g. Sie erfordert ein spezielles Ladegerät, andernfalls wird aus einem LiPo-Akku leicht eine LiPo-Bombe. Es gibt einen Regler auf dem Steckbrett, um die Batteriespannung in die 5V für den Raspberry Pi zu wandeln. Er bietet auch etwas Schutz vor groHen StromstöHen von den Motoren. Bleibt noch das Herz des Quadcopter selbst, der Raspberry Pi. Mit Python-Code liest er die Sensoren aus, vergleicht sie mit einer gewünschten Aktion (z.B. Starten, Schweben, Landen), die entweder vom

Oberste Regel: Flugmaschinen und Boote sind weiblich und sie haben Namen. Meiner heiHt Phoebe ("Fiebie"). Gib ihm einen Namen und behandele ihn gut. Phoebes Gerüst, Rotorblätter, Motoren, ESC und Batterien sind Fertigbausätze. Gesamtkosten sind über 300 EUR (£250). Inklusive eines Raspberry Pi und anderen Requisiten, sind die Gesamtkosten ca. 400 EUR (£300 – £350). Nicht billig, für etwas das am Anfang eher abstürzt als fliegt! Unter http://blog.pistuffing.co.uk/?p=1 1 43 ist eine komplette Stückliste verfügar. Tatsächlich habe ich auf Motoren mit höherer Leistung und weniger Gewicht aufgerüstet, aber das ist nicht notwendig. Das im Bausatz enthaltene Equipment ist ausgezeichnet. Über Upgrades von Komponenten für die Gewichtsreduktion / EnergieEffizienz und Leistung solltest Du erst nachdenken, wenn das Grundgerüst steht. Der Raspberry Pi ist ein A-Modell, wegen des geringeren Gewichts und Stromverbrauchs. Diese Eigenschaften finden sich auch in anderen Teilen des Design wieder. Ich habe die Audio- und VideoAusgänge entfernt und benutze einen Micro-SD-Card Adapter von Pimoroni. Alles zur Gewichtsersparnis. Das Raspberry Pi Gebäuse ist eine Variante des Pimoroni PiBow Modell B, mit ein paar entfernten Stegen und verschlossenen Löchern, um das Gewicht zu reduzieren und die Festigkeit zu erhöhen. Unter http://blog.pistuffing.co.uk/wp-content/uploads/ 201 3/1 0/Pibow002-AB5.pdf habe ich den Entwurf abgelegt. Phenoptix macht einen tollen Job beim kostengüstigen Laserschneiden von 3mm Acryl.

Mit Phoebe sprechen Egal ob Phoebe autonom oder ferngesteuert fliegt, jemand muss ihr sagen was zu tun ist. Zu diesem

5


Zweck hat Phoebe einen Wireless Access Point (WAP), so kann ein anderer Computer in ihr privates Netzwerk. Wie ich es gemacht habe siehst Du unter http://blog.pistuffing.co.uk/?p=594. Für erste Tests ist der WAP nicht notwendig. Jedes Heim-WLAN ist ausreichend, aber wenn Dein Quadcopter zum Leben erwacht, willst Du die Tests weit weg von Tieren, Kindern und andere Wertsachen durchführen. Mit einem WAP kannst Du im Freien testen.

uns aber mit einen kurzen Überblick am Ende. Es gibt Hilfsfunktionen für die Verarbeitung der StartKommandozeilen-Parameter, für die Signalbearbeitung (die Panik-Taste Strg-C) und den Shutdown Code Zu guter Letzt, gibt es die groHe " " Schleife, die hundert Mal pro Sekunde überprüft was zu tun ist (starten, schweben, landen, usw.), liest die Sensoren aus, regelt die PIDs, aktualisiert die PWM und fängt wieder von vorne an!

PID

Phoebes Python-Code Der letzte Schritt ist natürlich der Wichtigste. Wenn der Quadcopter mit Propellern, Motoren, ESC, Stromversorgung und Schaltkreisen bestückt ist, verbinden wir alles durch den Python-Code. Ich werde nicht in die Details gehen, da der Code auf https://github.com/PiStuffing/Quadcopter dargelegt ist und selbsterklärend sein sollte. Die I2C Klasse stellt die API zum Lesen und Schreiben von Sensordaten dar. Darauf basiert die MPU6050 Klasse, mit der die Sensoren konfiguriert werden. Sie hat eine API zum Lesen der Daten und die Umwandlung der Sensor Rohdaten in menschenlesbare Werte (z.B. Grad/s für die Drehung oder m/s2 für Beschleunigung). Die QUADBLADE Klasse initialisiert jeden Rotor und stellt die PWM Werte ein, um die Drehgeschwindigkeiten der Propeller zu steuern. Die PID Klasse ist das verbindende Element und der zentrale Punkt bei Entwicklung und Tests. Es ist das benötigte Feingefühl, was die Konfiguration eines Quadcopters spannend aber auch gruselig macht! Dies alleine wäre schon einen eigenen Artikel wert. Wir begnügen

6

Die PID (Proportional-, Integral-, Differential) Klasse ist ein relativ kurzes und einfaches Stück Code, mit einer recht komplexen Aufgabe. Ihr wird ein "Soll"Wert und ein "Ist"-Wert übergeben. Die Differenz zwischen beiden ist der "Fehler". Die PID verarbeitet diesen "Fehler" und erzeugt einen "Ausgang", der den Unterschied zwischen dem "Soll" und "Ist" auf Null reduzieren soll. Sie wiederholt dies ständig um den "Ausgang" anzupassen, ohne eine Vorstellung von dem zu haben, was "Ist", "Ausgang", "Soll" tatsächlich bedeuten; Im der realen Welt bedeuten sie: Gewicht, Schwerkraft, Windkraft, RC-Befehle, Lage, Dynamik, Geschwindigkeit und alle anderen Faktoren, die entscheidend für Quadcopter sind. Bei unserem Quadcopters ist "Soll" ein Flug-Befehl (schweben, starten, landen, vorwärts bewegen), "Ist" sind Sensordaten und "Ausgang" ist die PWMImpulsgröHe für die Motoren. Phoebe hat 4 PIDs, für Nicken, Rollen, Gieren und vertikale Geschwindigkeit. Sie sind das absolute Minimum für kontrolliertes Starten, Schweben und Landen. Die Magie der PIDs ist, dass keine komplexen Berechnungen enthalten sind, wie den perfekten Flug durch eine mathematische Gleichung aus Kraft, Gewicht, Dehzahlen, Schwerkraft, Windgeschwindigkeit, unausgewogener Rahmen, schlechter Schwerpunkt oder die vielen anderen Faktoren, zu modellieren. Stattdessen schätzen sie wiederholt, auf "Soll" und "Ist" basierend, was der aktuell beste "Ausgang" ist.


Das "P" in PID steht für Proportional. Bei jedem Aufruf des PID wird ein "Ausgang" erzeugt, der proportional zu "Fehler" ist. Dies korrigiert sofort Probleme und hält den absoluten "Fehler" auf Null. Das "I" in PID steht für Integral. Bei jedem Aufruf des PID wird der "Fehler" zu einer Gesamtsumme von Fehlern addiert, so dass im Laufe der Zeit der Gesamtfehler bei Null liegt. Die schafft langfristig Stabilität, indem Probleme wie Ungleichgewichte im Rahmen, Motor und Rotor Leistung, sowie Wind minimiert werden. Das "D" in PID steht für Differential. Bei jedem Aufruf des PID wird die Differenz zum Fehler seit dem letzten Aufruf zur Berechnung des Ausgangs verwendet. Wenn der "Fehler" schlechter als beim letzten Mal ist, wird der PID "D" Ausgang höher. Dies erzeugt eine vorausschauende Fehlerkorrektur. Die Ergebnisse aller drei Werte werden zu einer Gesamtleistung addiert, um je nach Zweck des PIDs, auf jeden der Rotoren entsprechend angewendet zu werden. Es klingt wie Magie ... und zu einem gewissen Grad ist es das! Jedes PID hat drei konfigurierbare Verstärkungsfaktoren, jeweils einen für "P", "I" und "D". Also in meinem Fall habe ich zwölf verschiedene Verstärkungsfaktoren. Das sind magische Zahlen. Wenn sie zu klein, passiert nichts, aber wenn sie zu groH sind oder falsch angewendet werden, stürzt alles ins Chaos. Mein nächster Artikel wird Funktionsweise und Einstellung der Verstärker in viel detaillierterer Weise behandeln. In der Zwischenzeit, beginne mit der Stückliste auf Seite 5 mit dem Aufbau deines eigenen Quadcopters. Die PIDVerstärkungsfaktoren im Code, sollten einen angemessenen Ausgangspunkt darstellen.

nicht willst, dass sie im Flug driftet—wir werden dies in einem anderen Artikel mit einigen zusätzlichen PIDs beheben. SchlieHe den LiPo-Akku an. Die ESCs beginnen laut zu piepen—ignoriere sie. Warte, bis der Wifi-Dongle zu blinken beginnt, das bedeutet, dass Phoebes WAP arbeitet. Verbinde dich über SSH / rlogin von einem Client wie einem anderen Raspberry Pi, iPad etc., der in Phoebes-Netzwerk ist. Verwende den Befehl um in das Verzeichnis zu wechseln, in dem du Phoebes-Code gelegt hast. Gebe folgends ein:

kalibriert die Sensoren auf der flachen Oberfläche auf der sie steht. 550 setzt Rotordrehzahl auf knapp unter Startge schwindigkeit. startet die Videokamera während des Flugs. Es gibt andere Optionen. Du kannst sie durch folgende Eingabe auflisten:

Viel SpaH, aber sei vorsichtig.

Fliegende Phoebe Im Moment ist alles primitiv, aber schon gefährlich! Setze Phoebe auf den Boden, lege eine flache Oberfläche über ihre Propellerspitzen, lege eine Wasserwaage auf dieser Oberfläche und stelle durch aufpolstern der FüHe sicher, dass alles exakt waagerecht ist—das ist absolut kritisch, wenn Du

7


The PDF has yet to be uploaded for page 8.

Article: Pimoroni Ad 19


The PDF has yet to be uploaded for page 9.

Article: HarryKempGee Ad2


UMWELT MONITOR

Temperatur und Druck mit dem BMP085 aufzeichnen SCHWIERIGKEIT : MITTEL

Pierre Freyermuth Gastautor

Datenerfassungssysteme werden in der Industrie häufig zur Überwachung eingesetzt oder um Analysen der Daten durchzuführen, um ein besseres Verständnis des Systemverhaltens zu erhalten. Der Raspberry Pi bietet eine erschwingliche, leicht zugängliche und energiesparende Lösung, die Daten erfassen, darstellen und wieder ausgeben kann. Zum Beispiel könnte ein Raspberry Pi verwendet werden, um den Energieverbrauch einer Heizung in einem Gebäude zu überwachen.

Stromversorgung bzw. auf einem Netzwerkdateisystem gespeichert oder lokal gepuffert und dann versendet werden. Speichern aller Daten ermöglicht eine vollständige Analyse und reduziert den Schreibzugriff auf das Speichermedium im Vergleich zu einem Ringpuffer, aber die Speicherung von Messwerten für ein Jahr kann hunderte Megabyte an Daten bedeuten. Wenn solche Protokolldaten gespeichert werden sollen, ist entweder eine Festplatte oder ein Netzwerkdateisystem erforderlich.

In dieser Artikelserie werde ich ein unabhängiges Datenerfassungssystem aufbauen, das aus mehreren Teilen besteht. Die Komponenten des Systems können für andere Anwendungen modifiziert werden. Diese Reihe verwendet das Raspbian Raspberry Pi Betriebssystem mit der Programmiersprache Java.

Raspbian ist ein sehr komfortables Betriebssystem. Das Standard-Image enthält jetzt die optimierte Oracle Java Virtual Machine. Das Standard Raspbian Image enthält auch Systemtreiber für die Busse (I²C, SPI, UART), die über die GPIO-Pins zur Verfügung stehen. Um Raspbian auf einer SD-Card zu installieren, folge den offiziellen Tutorials auf http://www.raspberrypi.org/downloads. Die auf dem Raspberry Pi GPIO verfügbaren Busse können mit Hilfe der Java Pi4J Library gesteuert werden. Für die Leser die nicht mit Java vertraut sind, bietet die Serie "Eine Tasse Java" im MagPi in den Ausgaben 1 4 und 1 7 eine grundlegende Einführung.

Anforderungen an die Basisstation Ziel des Projekts ist es Tag und Nacht, unterbrechungsfrei zu laufen. Deshalb muss besonderes Augenmerk auf die Auswahl der Stromversorgung gesetzt werden. Sie sollte effizient und zuverlässig sein. Es liegt am Leser zu entscheiden, ob Bildschirm, Tastatur, Maus oder Remote-Access erforderlich sind, um mit dem Raspberry Pi zu arbeiten. Ich entschied mich alle Daten auf der SD‑Card aufzuzeichnen. Allerdings könnten die Daten auch auf einer USB-Festplatte mit separater

10

Anschluß des BMP085 Das BMP085 ist eine sehr präzise und kostengünstige Lösung zur Messung von Temperatur und Luftdruck. Es kann von http://www.adafruit.com oder


Javaprogramm zur Datenerfassung Oracle hat eine Java Virtual Machine, die für den Raspberry Pi optimiert wurde, zur Verfügung gestellt. Man Überprüft die Java-Version durch Eingabe von: java -version

Die Version sollte 1 .7.0_40 oder höher sein.

von einem ihrer Händler bestellt werden. Es kommt in der Regel auf einer Leiterplatte montiert, die direkt am I²C-Bus des Raspberry Pi angeschlossen werden kann. Bevor das BMP085 verwendet werden kann, muss das i2c Kernel-Modul aktiviert sein. Dazu ist auf der Befehlszeile ist folgendes einzugeben: cd /etc sudo nano modprobe.d/raspi-blacklist.conf

Suche die Zeile blacklist i2c-bcm2708 und füge einen Hash "#" am Anfang der Zeile ein, so wird sie zu #blacklist i2c-bcm2708. Speichere und beende den Editor durch Eingabe von <Strg>+<X>, <Y>, <Eingabetaste>.

Um den Quellcode zu diesem Projekt zu bekommen, einfach die Anweisungen unter http://goo.gl/KqPH24 befolgen. Der Quellcode muss an die verwendeten Sensoren und verwendetem Online-Server angepasst werden. Einzelheiten zur Pi4J Library sind unter http://pi4j.com zu finden. Die Library bietet direkten Zugriff auf den SPI-Bus und GPIO Funktionen.

Ziele des Programms

•  Beim Startvorgang: •  Konfiguration der Kommunikation mit den Sonden und der Sonden an sich. •  Die zuvor aufgezeichneten Daten aus LogDateien lesen.

Als Nächstes bearbeite die Datei modules. sudo nano modules

Füge "i2c-dev" auf einer neuen Zeile hinzu. Starte den Raspberry Pi neu und öffne ein Terminal-Fenster zur Eingabe: sudo i2cdetect -y 1

HINWEIS: Wenn man Revision 1 des Raspberry Pi hat, muss 0 statt 1 für die Buslinie im obigen Befehl benutzt werden. Die Revision 1 des Pi hat keine Befestigungslöcher auf der Leiterplatte. Neuere Versionen haben 2 Montagebohrungen. Die Antwort sollte 77 in der Adressliste zeigen. Weitere Informationen sind im Adafruit Tutorial unter http://goo.gl/PDrZGL zur Verfügung gestellt.

•  Abrufen der Daten von den Sonden und Speicherung als Klartextdatei auf der SD-Karte. •  Berechnung von Durchschnitten mit unterschiedlichen Zeitskalen, um historische Daten aufzubereiten. •  Versandt der gemittelten Daten über das Internet an einen Web-Server mit FTP-Zugang. •  Verwendung eines Diagramms als graphische Benutzerschnittstelle zur lokalen Visualisierung. Durch die vollständige Datenerfassung ist es möglich, die Analysemethode nachträglich zu ändern.

11


Struktur Angeschlossene Sonden können verschiedenste Werte liefern. Die gewählte Lösung ist eine abstrakte Sonden Klasse, die für jeden benutzen Sensor implementiert wird. Eine Implementierung dieser Klasse muss ein oder mehrere DataChannel-Objekte haben, die als Datenmodell dienen. Im Sinne des Model-View-Controller Patterns, kann die ProbeManager Klasse als Controller gesehen werden, der die View steuert. Die Klasse DataChannel umfasst alle Funktionen, die für alle Arten von Daten gebraucht werden. Sie lädt bei der Instanziierung die bisherigen Daten aus der Protokolldatei, protokolliert neue Daten und berechnet Durchschnitte. Die verschiedenen Implementierungen von AbstractProbe beinhalten spezifische Funktionen für den jeweilligen Typ des Sensors. Jede abgeleitete Klasse sollte den Sensor konfigurieren, Daten verarbeiten oder konvertieren und sie dann dem richtigen DataChannel-Objekt zuführen.

Anbindung an das BMP085 Die Klasse BMP085probe erweitert AbstractProbe und bietet Zugriff auf DataChannel-Objekte. Es gibt zwei Objekte: eines für die Temperatur und ein Zweites für den Luftdruck. Die beiden Argumente des DataChannel Konstruktors sind der Name für die Anzeige und der Name der Datendatei. private DataChannel pressureChannel = new DataChannel("Luftdruck", "Atmospheric_Pressure"); private DataChannel temperatureChannel = new DataChannel("Zimmertemperatur", "Room_Temperature");

Die Klasse BMP085probe überschreibt die abstrakte Methode für Zugriffe auf die DataChannel-Objekte: @Override public DataChannel[] getChannels() { return new DataChannel[]{pressureChannel, temperatureChannel}; }

Das I2CBus-Objekt aus der Pi4J Library wird dem BMP085 Konstruktor übergeben. Über dieses Busobjekt können wir das I²C-Gerät konfigurieren. Das BMP085 hat die Adresse 0x77. public static final int BMP085_I2C_ADDR = 0x77; private I2CDevice bmp085device; public BMP085probe(I2CBus bus) throws IOException { bmp085device = bus.getDevice(BMP085_I2C_ADDR); readCalibrationData(); DataReaderThread dataReaderThread = new DataReaderThread(); dataReaderThread.start(); }

Das dataReaderThread Objekt wird verwendet, um eine Anfrage für Temperatur- und Druck zu verschicken. Dann liest der Thread zwei Bytes Temperatur-Rohdaten und drei Bytes Druck-Rohdaten. bmp085device.write(CONTROL, READTEMPCMD); sleep(50); rawTemperature = readU16(DATA_REG); bmp085device.write(CONTROL, (byte) READPRESSURECMD); sleep(50);

12

//Sende Befehl ‘read temperature’ //warte auf Daten //lese 2 Bytes aus //Sende Befehl ‘read pressure’ //warte auf Daten


msb = readU8(DATA_REG); //lese 3 Bytes aus lsb = readU8(DATA_REG+1); xlsb = readU8(DATA_REG+2); rawPressure = ((msb << 16) + (lsb << 8) + xlsb) >> (8-OSS); //Erzeuge integer für Druck Rohdaten

Mit dem BMP085 Datenblatt von http://goo.gl/CborFs und unter Verwendung der zuvor gelesenen Kalibrierungswerte können diese Rohdaten in SI-Einheiten umgewandelt werden. Java unterstützt keine nativen unsigned integer Typen. Es ist daher einfacher Bit-Shift Operationen durch Division und Multiplikation zu ersetzen. double temperature = 0.0; double pressure = 0.0; double x1 = ((rawTemperature - cal_AC6) * cal_AC5) / 32768; double x2 = (cal_MC *2048) / (x1 + cal_MD); double b5 = x1 + x2; temperature = ((b5 + 8) / 16) / 10.0; double b6 = b5 - 4000; x1 = (cal_B2 * (b6 * b6 / 4096)) / 2048; x2 = cal_AC2 * b6 / 2048; double x3 = x1 + x2; double b3 = (((cal_AC1 * 4 + x3) * Math.pow(2, OSS) )+2) / 4; x1 = cal_AC3 * b6 / 8192; x2 = (cal_B1 * (b6 * b6 / 4096)) / 65536; x3 = ((x1 + x2) + 2) / 4; double b4 = cal_AC4 * (x3 + 32768) / 32768; double b7 = (rawPressure - b3) * (50000 / Math.pow(2, OSS)); if (b7 < 0x80000000) pressure = (b7 * 2) / b4; else pressure = (b7 / b4) * 2; x1 = (pressure / 256) * (pressure / 256); x1 = (x1 * 3038) / 65536; x2 = (-7375 * pressure) / 65536; pressure = pressure + (x1 + x2 + 3791) / 16;

Dieser Sensor kann eine hohe Datenrate liefern. Um die Genauigkeit zu erhöhen, kann ein Thread 5 Datenpunkte mitteln und diesen Durchschnitt jede Sekunde an das DataChannel-Objekt anfügen. Um das BMP085 hinzuzufügen, besorgt man sich in der Main Klasse eine Instanz aus der Pi4J I2CBus Factory, instantiiert BMP085probe und fügt dies dem probeManager hinzu. private void initI2CandBMP085probe() { try { final I2CBus bus = I2CFactory.getInstance(I2CBus.BUS_1); //Verwende BUS_0 für Rev 1 Boards. bmp085Probe = new BMP085probe(bus); probeManager.addProbe(bmp085Probe); } catch (IOException e) { e.printStackTrace(); } }

Nun können die beiden DataChannel Werte für Temperatur und Luftdruck ermittelt, protokolliert und als Diagramm angezeigt werden. Im nächsten Artikel geht es um Datenexport und Setup einer Web-Seite zum Anzeigen der Daten. Bis es soweit ist, versuche den Code zu erstellen und probiere die beschriebene Hardware-Konfiguration aus.

13


PYTHON GESTEUERTES LCD Hole Deins unter http://andypi.co.uk/

Scrolle einen RSS Feed auf dem AndyPi HD44780 LCD via GPIO

Andrew Wilson

AndyPi

ERFAHRUNG : FORTGESCHRITTEN

Für viele Raspberry Pi-Projekte ist eine optische Ausgabe wichtig. Ein Standard HDMI-Bildschirm ist jedoch meist zu teuer oder unnötig, wenn Du zum Beispiel einen Temperatur-Sensor hast und nur den aktuellen Wert anzeigen willst; oder wenn man den Namen eines Internet-Radios von einem "headless" Raspberry Pi anzeigen will. Ein eigenständiges Display kann darüber hinaus auch die neuesten Tweets anzeigen. Diese Anleitung erklärt Dir, wie Du eine preiswertes Flüssigkristallanzeige (LCD) Typ HD44780 (1 6 Zeichen, 2 Zeilen) an den GPIO-Anschluss Deines Raspberry Pi anschliesst und die Zeit sowie neuesten Nachrichten des BBC RSS-Feeds anzeigen lässt. Auf der AndyPi Webseite (http://andypi.co.uk/) findest Du weitere Videos und Anleitungen zur Nutzung des LCDs. Zum Beispiel kannst Du es zur Anzeige von Medien-Informationen, z. B. mp3-Titel von RaspBMC oder RaspFi, nutzen.

einen regelbaren Widerstand (1 0 kΩ) zwischen VSS (1 ) und VO (3), verbinde K (1 6) mit RW (5) und K (1 6) mit VSS (1 ). Die Verbindungen vom LCD zum GPIO sind wie folgt: LCD pin

1 2 15 14 13 12 11 6 4

LCD pin name GPIO (P1) pin

VSS VDD A D7 D6 D5 D4 E RS

GND +5v 18 14 23 24 25 08 07

Software-Konfiguration

Beginne mit der aktuellen Version von Raspbian (stelle sicher, dass Dein System aktuell ist) und installiere einige Python-Tools:

Hardwareaufbau

Hier ist eine kurze Beschreibung der Pin-Belegungen. Eine Liste aller Bauteile sowie eine detaillierte Bauanleitung sind auf der Webseite http://andypi.co.uk/ verfügbar. Du kannst die Bauteile einzeln kaufen und selbst zusammenbauen oder einen kompletten, vorgefertigten Bausatz bei AndyPi für £1 2.99 + Porto (nur EU) erwerben. Für die Kontrasteinstellung verlöte auf dem LCD

14

sudo apt-get update sudo apt-get install -y python-dev \ python-setuptools python-pip

Wir müssen zudem einige Python-Module installieren: wiringpi für die GPIO-Steuerung; feedparser, um die RSS-Feeds zu lesen und das Processing-Modul für das Threading (wird später erklärt):


sudo pip install feedparser \ processing wiringpi

Zuletzt wird die AndyPi LCD Python-Klasse heruntergeladen: sudo wget http://andypi.co.uk/downloads/ AndyPi_LCD.py Python script

Die AndyPi LCD-Klasse enthält eine Anzahl an Funktionen, um eine einfache Kontrolle des LCDs zu ermöglichen. Davon werden wir einige nutzen. Erstelle ein neues Script (im selben Ordner wie AndyPi_LCD.py) mit dem Inhalt: #!/usr/bin/python from AndyPi_LCD import AndyPi_LCD from processing import Process import time import feedparser lcd=AndyPi_LCD() lcd.lcd_init() lcd.led(512) msg = feedparser.parse( 'http://feeds.bbci.co.uk/news/rss.xml? edition=uk').entries[0].title

Nachdem die benötigten Module importiert wurden, setzen wir die Variable "lcd" als die AndyPi_LCD() Klasse, initialisieren das LCD und stellen die Helligkeit der Hintergrundbeleuchtung ein (0=aus, 51 2=volle Helligkeit). Nun können wir das Feedparser-Modul nutzen, um die Variable "msg" auf den ersten Titel des BBC world news feed zu setzen. Um Text anzuzeigen, kannst Du die AndyPi_LCD Funktion static_text() nutzen. Hier wird der Text in den Zeilen 1 und 2 angezeigt und nach 30 Sekunden gelöscht: lcd.static_text(1, “c”, “World News:”) lcd.static_text(2, “l”, msg) time.sleep(30)

lcd.cls()

Dieser Artikel wird gesponsort von:

Dieses Script ist nützlich für die Anzeige eines kurzen statischen Textes. Da es nur die ersten 1 6 Zeichen darstellt, eignet es sich jedoch nicht für einen RSSFeed. Stattdessen können wir die Funktion scroll_clock nutzen, welche die Zeit auf einer Zeile und den vollen Text auf der zweiten Zeile anzeigt. Aber wenn man die Anzeige aktualisiert, indem man ein Zeichen nach dem anderen verschiebt, dann läuft die Funktion ewig - und dadurch wird kein Code danach ausgeführt. Um dies zu verhindern, können wir die Funktion in einem Thread (einem gleichzeitig laufenden Prozess) starten. So können wir weitere Kommandos übergeben (in diesen Fall den Test nach Nachrichten-Updates). Im Folgenden erstellen wir einen Thread-Prozess mittels scroll_clock, starten ihn, warten 60 Sekunden, aktualisieren"msg" auf den letzten RSS-Feed und stoppen den Thread. Die while-Schleife wiederholt dann das Scrolling des Textes. Generell ist es ein schlechter Stil, einen Thread zu terminieren; in diesen Fall wissen wir aber, dass scroll_clock eine Endlosschleife ist, die nie endet. while True: p = Process(target=lcd.scroll_clock, args=(1, "c", 0.3, msg)) p.start() time.sleep(60.0) msg=feedparser.parse('http://feeds. bbci.co.uk/news/rss.xml?edition=uk').e ntries[0].title p.terminate()

Die scroll_clock-Funktion hat vier Argumente. Als erstes kommt eine 1 oder 2, um zu bestimmen, auf welcher Zeile die Uhr platziert wird. Als zweites kommt "l", "r" oder "c", um die Uhr auszurichten. Als drittes wird die Scroll-Geschwindigkeit angegeben und zuletzt eine beliebige Zeichenfolge - bei uns die Variable "msg" (welche den Text des RSS-Feeds enthält). Im Internet gibt es eine Vielzahl an RSS-Feeds über die verschiedensten Themen, es gibt aber noch eine Menge anderer Dinge, die Du mit dem Display machen kannst - dieses Script ist erst der Anfang für Deine Experimente!

Alle Details der Funktionen der AndyPi_LCD Klasse und der Bausatz auf http://andypi.co.uk

15


PROJEKT CURACAO

Sensoren aus der Karibik fernüberwacht

Teil 2: Das Umweltsensoren

Subsystem

John Shovic Gastautor

ERFAHRUNG: MITTEL Was ist das Curacao Projekt? Das ist der 2. Artikel einer vierteiligen Reihe über das Design und den Bau des Curacao Projekts, das ein mit Sensoren bestücktes Gerät ist, welches an einem Funkturm des Inselstaates Curacao hängt. Curacao ist eine Wüsteninsel 1 2 Grad nördlich des Äquators in der Karibik. Das Curacao Projekt soll autonom die Umweltbedingungen über sechs Monate hinweg überwachen. Es wird durch Solarzellen gespeist und kommuniziert über die RasPiConnect iPad App mit der AuDenwelt. Alle Teile des Projekts sind auf Fernüberwachung ausgelegt.

Batterieüberwachung verbunden ist. Ein kleiner Lüfter ist unter dem Raspberry Pi befestigt um bei zu heiDem oder zu feuchtem Wetter für ausreichend Ventilation zu sorgen.

Systembeschreibung Das Projekt Curacao besteht aus vier Subsystemen. Ein Raspberry Pi Model A ist Gehirn und Schaltzentrale. Die Stromversorgung wurde schon im ersten Teil beschrieben. In Teil 2 beleuchten wir die Umweltsensoren.

Die Umweltsensoren Dieses Subsystem besteht aus Sensoren für Feuchte und Temperatur innerhalb der Box, sowie Luftdruck und Helligkeit. Im AuDenbereich sind Sensoren für Temperatur und Feuchtigkeit an der Unterseite der Box befestigt. Alle Sensoren sind mit dem Rasberry Pi Model A verbunden, mit Ausnahme des AM231 5 Temperatur/Feuchte AuDensensors, der mit einer Arduino basierten

16

Benutzte Hardware Wir benutzen die folgende Hardware für das Subsystem der Umweltsensoren: 1 Adafruit BMP085 Luftdruck/Temp. Sensor (I²C) 1 Adafruit DHT22 Luftfeuchte/Temp. Sensor 1 AM231 5 Luftfeuchte/Temp. Sensor im Gehäuse 1 Adafruit TSL2561 Digitaler Helligkeitssensor 1 Akust 5V–1 2V 8cm Computerlüfter 1 Evil Mad Scientist Simple Relay Shield

Was wird gemessen? Wir wollen Temperatur, Luftfeuchte und Helligkeit,


sowohl innerhalb als auch auDerhalb der Box messen. Diese Informationen werden in einer MySQL Datenbank zur späteren Analyse abgelegt.

Probleme mit den Sensoren Einsetzen der Sensoren BMP085 und TSL2561 werden auf eine Prototypen Platine gelötet deren I²C Bus vom Raspberry Pi kommt. Es gibt einen Stecker um den I²C zum auDenliegenden Luftfeuchte- und Temperatursensor mit Schutzgehäuse (AM231 5) weiterzuleiten. Der AM231 5 stellte sich als problematisch heraus (siehe unten), aber die anderen I²C Sensoren funktionieren einwandfrei. Der günstige DHT22 Feuchte/Temperatursensor für den Innenbereich verträgt sich gut mit zusätzlicher Software um Auslesefehler wegzufiltern. Es verursacht aber Probleme in der Software des Raspberry Pi, da sich sporadisch Verzögerungen ergeben bis ein Messvorgang erfolgreich ist. Der Lüfter ist über ein Relais mit dem Ausgang der Solarzellen verbunden (6.5V an Guten Tagen). Wir gehen davon aus, dass der Lüfter nur an sonnigen Tagen zum Einsatz kommt. Der Lüfter und das Relais brauchen jeweils 70mA. Wir suchen noch nach effizienteren Relais, da 1 40mA eine hohe Last bedeutet (Sainsmart: http://goo.gl/aSTU0z).

Sensoren und Lüfter aus der Ferne Projekt Curacao wird über das Internet per SSH und RasPiConnect (www.milocreek.com) Fernüberwacht. Jedes Subsystem hat eine andere Anzeige. Die Umweltanzeige hat Graphen für Temperatur, Feuchte, Helligkeit, Luftdruck sowie Lüfterzustand. Die Software der Anzeigen ist unter github.com/projectcuracao abgelegt.

Es gab zwei Probleme mit den Sensoren. Erstens ist der AM231 5 ein schräger Vogel. Die powerdown Sequenz erfordert es, dass er zweimal angesprochen werden muss (einmal zum Aufwachen und einmal zum Auslesen. Beispielsweise braucht es zwei Aufrufe von i2cdetect bis der Sensor erkannt wird. AuDerdem garantiert er keine 3.3V für den I²C. Man könnte einen Spannungswandler einsetzen, aber da die Arduino Batterieüberwachung einen 5V I²C Bus hat, haben wir entschieden den Sensor damit zu verbinden. Zum Zweiten, hat der DHT22 ein sehr kniffliges Timing. Der Raspberry Pi arbeitet mit mutitasking, deshalb kann man sich nicht zu 1 00% auf Timings verlassen. Dadurch gibt es regelmäDig Fehlauslesungen des DNT22. Eine Lösung ist, solange zu lesen, bis das korrekte Format empfangen wurde. Jedoch kann man den Sensor nur alle drei Sekunden auslesen, was schlecht zu einem HTTP basierten RasPiConnect mit Timeouts von 1 0–1 5 Sekunden passt. Das Problem wurde dadurch behoben, dass die Daten von der Software aus dem DHT22 gelesen werden und RasPiConnect nur die letzte Messung aus der MySQL Datenbank liest.

Ausblick Im dritten Teil geht es um eine Kamera am Raspberry Pi und Teil vier beschreibt die Software des Curacao Projekts. Jeglicher Code der in diesem Artikel verwendet wird, liegt auf GitHub unter github.com/projectcuracao.

Weitere Diskussionen unter: http://switchdoc.blogspot.com

17


The PDF has yet to be uploaded for page 18.

Article: ModMyPi Article 5


The PDF has yet to be uploaded for page 19.

Article: ModMyPi Article 5


The PDF has yet to be uploaded for page 20.

Article: ModMyPi Article 5


The PDF has yet to be uploaded for page 21.

Article: Milo Creek Ad 6


The PDF has yet to be uploaded for page 22.

Article: PiBrush


The PDF has yet to be uploaded for page 23.

Article: PiBrush


The PDF has yet to be uploaded for page 24.

Article: PiBrush


The PDF has yet to be uploaded for page 25.

Article: PiBrush


The PDF has yet to be uploaded for page 26.

Article: PiBrush


The PDF has yet to be uploaded for page 27.

Article: Ciseco and RS Half Page Ads 2


Mediatheken-TV

Verpass nie mehr Deine Lieblingssendung

Wie man OpenELEC konfiguriert um fernzusehen Schwierigkeit: Anfänger Möchtest Du Fernsehprogramme mit Deinem Raspberry Pi schauen? \ Kein Smart-TV nötig, um von Deinem HDTV auf Mediatheken wie die von ARD, ZDF oder MTV zuzugreifen. \ Benötigt keine Maus oder Tastatur, die das Aussehen des TV verschandeln würden. \ Benutze einen Raspberry Pi (mit W-LANAdapter), auf dem OpenELEC läuft - ein kompaktes und schnelles Linux mit vorinstalliertem XBMC Media-Center - und versteck den Raspberry Pi hinter dem Fernseher. \ Benutze eine Fernbedienungs-App auf Deinem Android-, iOS- oder Blackberry-Smartphone um XBMC über Dein W-LAN zu kontrollieren und so die Mediatheken auf Deinem TV zu steuern. \ Um OpenELEC auf Deinem Raspberry Pi zu installieren oder zu benutzen, benötigst Du keine Linux-Kommandos. Die Art, wie ich fernsehe, hat sich über die Jahre gewandelt. Früher habe ich hauptsächlich das Live-Programm und Aufzeichnungen gesehen, heute nutze ich die Mediatheken. Das ist vor allem dann praktisch, wenn man eine Sendung verpasst hat, von der man am nächsten Tag von Freunden oder aus der Presse erfährt, dass sie gut war. Ich zeige Dir, wie man Mediatheken-Dienste mit

28

Geoff Harmer Gast Autor

XBMC und OpenELEC auf einem Raspberry Pi für Deinen HD-Fernseher installiert. Das dauert ca. 60 Minuten und erfordert keinerlei LinuxKommandos!

Zu verbauende Komponenten \ Raspberry Pi Modell A oder Modell B \ Gutes 5V Netzteil für den Raspberry Pi (mindestens 700mA oder mehr) \ HDMI-Kabel, um den Raspberry Pi and Deinen HD-Fernseher anzuschliessen \ W-LAN nano USB-Adapter, falls Du keinen einfachen Internetanschluss per Kabel herstellen kannst (der Adapter von http://www.thepihut.com kommt mit den vorinstallierten Treibern aus und benötigt keine extra Stromversorgung) \ 4GB+ SD-Karte mit der neuesten NOOBS Version von http://www.raspberrypi.org \ Android, iOS oder Blackberry 10 Gerät mit einer Fernbedienungs-App für XBMC, wie z.B. XRMT für Blackberry 10 OS, Official XMBC Remote für Android oder Official XMBC Remote für iOS

Hinweis:

Die Raspberry Pi USB-Anschlüsse liefern für manche W-LAN-Adapter u.U. zu wenig Strom, was zu ruckelnden Videos führt. Die Lösung besteht dann darin, einen aktiven USBHub mit mindestens 2A Stromversorgung zu benutzen. Manche Hubs können sogar den


Raspberry Pi mit Strom versorgen, so dass dann nur ein Netzteil benötigt wird. Auf http://elinux.org findest Du eine Liste an guten Hubs.

I n stal l ati on san wei su n g en

Verbindung. Dafür benötigst Du den Namen Deines Netzwerks und das Passwort. StandardmäÁig werden Deine IP-Adresse und DNS-Server automatisch konfiguriert. U.U. möchtest Du einen anderen DNS-Server eintragen, um TV-Programme anderer Länder zu empfangen (z.B. über Dienste wie http://www.unblock-us.com) oder Du möchtest eine feste IP-Adresse verwenden. Wenn Du die Netzwerkeinstellungen später noch verändern willst, wählst Du auf dem Hauptbildschirm SYSTEM, OpenELEC und dann "Verbindungen". Klicke auf Deine Verbindung und wähle "Bearbeiten" im aufklappenden Menü. Eine feste IP-Adresse wird etwas zuverlässiger sein, weil sie gleich bleibt und sich somit z.B. Dein Smartphone leichter verbinden kann. Die vom DHCP zugewiesene IP-Adresse kann sich je nachdem, welche Geräte in Deinem Netz sind - verändern.

Schritt 1: NOOBS besorgen Eine feste IP einrichten (optional) Kopiere die aktuellste NOOBS-Distribution auf eine 4GB+ SD-Karte. AnschlieÁend steckst Du die SD-Karte in den Raspberry Pi und schlieÁt W-LAN-Adapter und HD-Fernseher (über ein HDMI-Kabel) an. SchlieÁe dann zuletzt das Netzteil an und fahre den Raspberry Pi hoch. Wenn Du NOOBS das erste Mal startest, wirst Du nach dem zu installierenden Betriebssystem gefragt. Wähle aber zuerst im unteren Menü "Deutsch" als Deine Sprache. Wähle dann OpenELEC. Die Installation wird ein paar Minuten dauern. Danach rebootest Du Deinen Raspberry Pi. Schritt 2: XBMC und Netzwerke Hinweis: Wenn Du einen Raspberry Pi Modell A benutzt, dann benötigst Du für diesen Schritt einen aktiven USB-Hub, um einen W-LAN Adapter und eine Maus anzuschlieÁen. Nachdem Dein Raspberry Pi hochgefahren ist, wird sich XMBC mit seinem "Confluence"Hauptbildschirm präsentieren (Hintergrund mit blauen Blasen), gefolgt vom initialen SetupWizard, der beim ersten Startetn angezeigt wird. Hier wählst Du Deine Region, einen Netzwerknamen und die richtige W-LAN-

Wähle die Verbindungseinstellungen wie oben beschrieben und klicke auf "IPv4". Du wirst sehen, dass die IP-Adress-Vergabe momentan auf "DHCP" steht. Klick darauf und setze sie auf "manual". Klicke jetzt auf die IP-Adresse und gib eine unbenutzte Adresse aus Deinem Netzwerk ein, wie z.B. 192.168.1.50. Die Subnetzmaske (z.B. 255.255.255.0) und das Default Gateway kannst Du so lassen. Um die DNS-Einstellungen zu ändern, wählst Du "DNS-Server". Du wirst nun Optionen für IPAdressen von bis zu 3 DNS-Servern sehen. StandardmäÁig sind hier die DNS-Server Deines Providers eingetragen, aber Du kannst sie jederzeit ändern. Zum Beispiel bietet OpenDNS durch die Nutzung eigener, frei verfügbarer DNS-Server verbesserte Sicherheit (http://www.opendns.com). [Ich habe meine auf die DNS-Server von Unblock-Us eingestellt, so dass ich als ex-pat weiterhin das Programm des BBC iPlayer in Kanada schauen kann]. Jetzt ist ein guter Zeitpunkt, um auf den Ein/Ausschalter auf dem Haupt-Bildschirm zu drücken und den Raspberry Pi neu zu starten. Sobald OpenELEC wieder gestartet ist, solltest

29


Du eine funktionierende Netzwerkverbindung haben. Schritt 3: weitere wichtige XBMC-Features 1. Ist der Bildschirm zu groÁ für Deinen TV oder siehst Du schwarze Ränder? Um die BildschirmgröÁe zu ändern, wähle SYSTEM, dann "Einstellungen" und klick auf "Darstellung". Gehe auf "Skin" und ändere den "Skin Zoom" so, dass die BildschirmgöÁe passt. 2. Den RSS-Feed am unteren Rand des Hauptbildschirms auschalten. Wähle auf dem Hauptbildschirm SYSTEM, dann "Einstellungen" und klcik auf "Darstellung". Gehe auf "Skin" und klicke auf "RSS-Newsfeeds aktivieren", um sie zu deaktivieren. 3. Um die Fernbedienung über Dein W-LAN zu aktivieren, wähle SYSTEM, "Einstellungen" und dann "Dienste". In der "Webserver"-Sektion klickst Du dann auf "Steuerung über HTTP zulassen", um diese Option zu aktivieren. Standard Username ist "xbmc" ohne Passwort. Wenn Du willst, kannst Du das an dieser Stelle ändern. In der "Fernsteuerung"-Sektion klickst Du noch auf "Steuerung über entfernte Programme zulassen". 4. Um sicher zu stellen, dass OpenELEC in der richtigen Arbeitsgruppe für Dein Netzwerk ist, wähle SYSTEM, "Einstellungen" und dann "Dienste". In der "SMB-Client"-Sektion siehst Du, dass die Arbeitsgruppe als Standard auf "WORKGROUP" steht. Wenn Dein Netzwerk einen anderen Arbeitsgruppen-Namen hat, kannst Du ihn hier ändern. Den Namen Deiner Arbeitsgruppe findest Du auf Deinem WindowsPC, indem Du in Deinen Netzwerkeinstellungen nachsiehst. Schritt 4: Mediatheken-Add-ons installieren Add-ons (Erweiterungen) müssen in XBMC installiert werden, um verschiedene Mediatheken zu aktivieren. Hier sind einige Beispiele, die funktionieren. Teilweise sind sie jedoch regional eingeschränkt.

30

UK: BBC iPlayer http://code.google.com/p/xbmc-iplayerv2/ downloads/list ITV player http://code.google.com/p/xbmc-itv-player/ downloads/list Irland: http://mossy-xbmc-repo.googlecode.com/ files/plugin.video.irishtv-2.0.11.zip Kanada: http://goo.gl/j6Fw5K Australien: http://xbmc-catchuptv-au.googlecode.com/ files/plugin.video.catchuptv.au.ten-0.4.0.zip [Anm. d. Übersetzers: weitere Add-ons findest Du auf auch der Seite http://addons.xbmc.org/ category/video/. Dort sind u.a. auch Add-ons für die Mediatheken der ARD http://mirrors.xbmc .org/addons/frodo/plugin.video.ardmediathek_de /plugin.video.ardmediathek_de-2.0.8.zip oder arte http://mirrors.xbmc.org/addons/frodo/plugin .video.arte_tv/plugin.video.arte_tv-2.0.5.zip zu finden.] Kopiere die aktuellen zip-Dateien auf Deinem PC auf einen USB-Stick. Stecke diesen dann an den USB-Port des Raspberry Pi und schalte ihn an. Um die Addons zu installieren, wähle im Haupfmenu "VIDEO", dann "Add-ons" und klicke auf "Get More". Am Kopf der Liste klicke auf ".." und auf der folgenden Liste ebenfalls auf "..". Nun wähle den Menu-Punkt "Install from zip file". In dem folgenden Popup kannst Du Deinen USBStick auswählen. Sollte er nicht sichtbar sein, ziehe ihn ab und stecke ihn erneut ein. Navigiere zum ersten Add-on, das Du installieren willst, und klicke es an. Es wird in den nächsten 30-40 Sekunden installiert, allerdings ist die nicht sichtbar. Du wirst zum "Install from zip file"-Menu zurückgeführt und kannst dann am rechten unteren Rand des Bildschirms sehen, dass das Add-on installiert wurde. Du kannst das überprüfen, indem Du im VIDEO-Menü wieder "Add-ons" auswählst. Dort solltest Du den Namen des installierten Add-ons sehen. Fehlt es, warte ein paar Minuten. Wenn es dann immer noch nicht sichtbar ist, starte Deinen Rasberry Pi neu. Wiederhole dies für jedes Add-on, eins nach


dem anderen. Schritt 5: XBMC-Fernbedienung Lade die 'Official XBMC Remote'-App auf Dein Android- oder iOS-Gerät, oder installiere XRMT für Dein Blackberry 10 OS-Gerät. Hier ist ein Beispiel, wie Du XRMT auf Deinem Blackberry konfigurierst. Einmal installiert, öffne die Applikation, klicke auf die drei Punkte unten rechts und wähle "Add Server". Als Server-Name gebe "openelec" (in Kleinbuchstaben) ein. Als Server IP gib die Adresse ein, die Du auf Deinem Raspberry Pi in Schritt 2 auf Seite 23 eingestellt hast. Lasse den Port unverändert auf 9090 und klicke auf ds Icon unten links. Scrolle nun herunter, klicke "Settings" und ändere as "Auto connect", indem Du "openelec" auswählst. SchlieÁe den Settings-Bildschirm. Nun kann die Applikation verwendet werden.

Deinem Windows PC aus bedienen? Das kannst Du mit dem Programm PuTTY tun. PuTTY nutzt das SSH Protokoll, um sich mit dem Rasbberry Pi zu verbinden. Lade die aktuelle Version von PuTTY von http://www.chiark.greenend.org.uk/ ~sgtatham/ putty/download.html herunter. Du musst OpenELEC so konfigurieren, dass es SSH-Verbindungen zulässt. Im Haupt-Bildschirm von XBMC wähle "SYSTEM", dann "OpenElec" und klicke auf "Services". Wähle die SSH-Option und aktiviere sie. Starte den Raspberry Pi neu. Wenn PuTTY auf Deinem Windows-PC isntalliert ist, starte es einfach. Im PuTTY Fenster gib die IP-Adresse Deines Raspberry Pi ein. Lasse den Port auf 22 und wähle SSH als VerbindungsTyp. Klicke auf "Open" und gib dann den Nutzernamen und das Passwort ein. Der Standard-Nutzer bei OpelELEC ist root und das Passwort ist openelec.

Sobald Du eine XBMC Fernbedienungs-App auf Deinem Smartphone installiert hast, kannst Du Dein XBMC ohne Maus oder Tastatur steuern. Benutz einfach die App, um auf dem XBMCBildschirm zu navigieren, wähle VIDEOS and dann Add-ons, so dass Deine Add-ons aufgelistet werden. Klick einfach auf eines der Add-ons, um es zu starten und genieÁe das Angebot der Mediatheken.

Weitere interessante Fakten und Tipps HDMI-Verbindungen Sind schon alle HDMI-Eingänge an Deinem Fernseher mit anderen Geräten belegt? Als Lösung gibt es HDMI-Umschalter z.B. von Belkin, so dass Du zwischen Deinem Raspberry Pi und einem anderen Gerät hin und her schalten kannst. XRMT-Verbindungsproblem Wenn Du eine Maus an Deinem XBMC benutzt hast, kann es sein, dass Dein Blackberry XRMT sich nicht verbindet. Zieh die Maus raus und starte Deinen Raspberry Pi neu. Danach sollte wieder alles funktionieren. Zugriff über die Kommandozeile Du willst das OpenELEC Betriebssystem von

31


The PDF has yet to be uploaded for page 32.

Article: PanaVise Ad 5


The PDF has yet to be uploaded for page 33.

Article: AB Electronics Ad 4


DER PI STORE

Ein Blick auf den Umfang an Applikationen des Pi Stores SCHWIERIGKEIT : ANFÄNGER Vor 1 2 Monaten wurde der Pi Store mit nur 24 Produkten eröffnet. Huete sind über 1 00 Pridukte vorhanden, die meisten davon frei. Das MagPi schaut sich einige der unterschiedlichen Produkte im Pi Store an; hierbei besonders die kostenpflichtigen, um bei der Auswahl zu helfen.

Digitale Downloads Als einer der ersten Firmen hat Apple die Idee des digitalen downloads von Musik und Filmen mit ihrem iTunes Store aufgegriffen. Es folgte der AppStore, der iBook Store und schliesslich iTunes U für Studenten. Der App Store war die einzige Möglichkeit, für mobile Apple Geräte Anwendungen zu beziehen; dies wurde später für Apples MacBook und iMac Computer erweitert.

Ian McAlpine MagPi Autor

Die bereitstellenden Firmen der soeben vorgestellten Stores haben ein kommerzielles Interesse. Dies war jedoch nicht der Fall für die Rasberry Pi Foundation, als sie den Pi Store startete. Anstatt an das Geld zu denken, sahen sie die folgenden Vorteile für die Einführung eines App Stores für für den Rasberry Pi: - Einen Platz, an dem Entwickler jedes Alters ihre Produkte mit der Raspberry Pi Gemeinschaft teilen können. - Einen Platz, an dem blutige Anfänger tolle Rasberry Pi Titel installieren und löschen können, ohne eine Kommandozeile nutzen zu müssen. - Einen Platz, an dem jeder Rasberry Pi Nutzer neue Inhalte für seinen Rechner entdecken kann.

Amazon war ein Pionier beim digitalen download von Büchern und heutzutage bieten alle grossen Bücherläden digitale downloads an. Und natürlich sind die Vorteile der sofortigen Bezahlung von digitalen Inhalten nicht an den Spielkonsolen Herstellern wie Microsoft, Sony und Nintendo vorbeigegangen, die alle digitale Shops für ihre Spiele anbieten. App Stores sind weniger häufig für Windows PCs, mit der grossen Ausnahme Spiele.

Leider haben einige dies nicht gesehen, und kritisierten die Foundation, dass sie Kindern Kapitalismus beibringen würden! Aber ist das denn etwas anderes, als wenn man Kindern Taschengeld gibt, wenn sie ihre Hausaufgaben machen? Nachdem das gesagt wurde: es gibt aktuell mehr als 1 00 Titel und während dieser Artikel geschrieben wird sind nur sechs kostenpfichtig... und man kann alle zusammen für weniger als 1 2,00$/8,00£ kaufen.

Vorstellung des Pi Store

Der Pi Store ist in fünf Kategorien unterteilt: Spiele (Games), Apps, Anleitungen (Tutorials), Entwickler-

34


Tools (Dev-Tools) und Medien (Media). Bevor wir uns die einzelnen Rubriken näher ansehen einige Tipps zur Navigation, die Dir bei der Suche helfen.

Spiele (Games)

Im 'Explore'-Tab des Pi Stores gibt es eine Option zum filtern des Inhaltes nach Status sowie zum Sortieren. Wenn Du Inhalt sehen willst, der noch in Arbeit ist (work-in-progress), dann ändere den Status-Filter nach 'In Progress'. Du kannst ihn auch auf 'Show All' setzen, um alles im Pi Store zu sehen. Es gibt viele Sortierungs-Optionen, die sinnvollsten sind 'Most Played', 'Newest First' und 'Top Rated'. Beachte, dass der Store zZt diese Einstellungen nicht speichert. Beim nächsten Aufruf des Pi Stores wird der Status wieder auf 'Finished' und die Sortierung auf 'Price - Highest' zurückgesetzt. Einige Programme im Store laufen nicht unter LXDE und benötigen einen Neustart bevor sie laufen. Obwohl eine entsprrechende Warnung auf der Seite existiert, gibt es kein endgültiges "Are You sure?" nachdem Du auf 'Launch' gedrückt hast. Gehe daher sicher, dass Du vorher alles gesichert hast.

Vergiss nicht zu Spenden! Wenn Du in einem Resaurant gut bedient wirst, gibst Du ein Trinkgeld. Fast alles im Pi Store ist kostenlos. Wenn Dir ein Spiel gefällt oder Du ein nützliches Programm gefunden hast, überlege, ob Du deine Anerkennung zeigen willst, indem Du eine Spende für den Entwickler hinterlassen willst. Dies ist ganz einfch: in deiner Bibliothek wählst Du den Titel aus, für den Du spenden willst und klickst auf 'View Details'. In der folgenden Seite klickst Du 'Tip this Project' um 1 ,00$/1 ,00£ zu spenden.

Erstaunlicherweise ist dies nicht die grösste Kategorie im Pi Store, aber mit 30 Titeln ist für jeden Spieler etwas dabei. Bei Dr Bulbaceous : Puzzle Solver (US$2.99/ £1 .99) lässt Du drei verschiedenfarbige Gegenstände fallen. Wenn drei oder mehr sich berühren, verschwinden sie. Das Ziel ist, den Bildschirm zu leeren, bevor die Gegenstände die Decke erreichen. Obwohl ich das Spiel zu einfach fand, werden Kinder es lieben. Es ist farbenfroh und gut implementiert. Tipp: um deinen aktuellen Gegenstand mit etwas besseren zu tauschen, drücke die Enter-Taste. Es sieht so aus, als ob die Maus funktionieren sollte, aber bei mir hat's nicht geklappt. Alas Zombie X Pro ($1 .60/£1 .00) lief bei mir nicht richtig, daher kann ich es nicht kommentieren. Es gibt eine Demo-Option, damit Du es vorher ausprobieren kannst.

DmazeD macht viel Spass. Du durchsuchst einen Irrgarten nach einen Schlüssel für den Ausgang. Es ist aber so dunkel, dass Du nur ein begrenztes Feld sehen kannst. Lausche auf die Monster, die auch mit Dir im Irrgarten sind! Ein weiteres Spiel, das mir sehr viel Spass gemacht hat, ist The Little Crane That Could . Durch geschickten Gebrauch von deinem Kran und seiner vielen Bewegungen musst Du eine Serie von immer schwieriger werdenen Aufgagen erfüllen. Viele Leute eines gewissen Alters (wie ich) nutzen den Rasberry Pi um das goldene Zeitalter der Home-

35


Computer wieder aufleben zu lassen. Es herrscht keine Knappheit an Spielen, die von diesen Jahrzehnt inspiriert sind. Im Pi Store beinhaltet dies Abandoned Framhouse Adventure und King's treasure - klassische Text Adventures, Chocolate Doom - spiele alle Versionen von Doom, NXEngine ein Clon der "Cave Story" Action-Adventure, Star Flite - ein Star Trek retro Spiel und einen Emulator für den At ar i 800 .

hier gefunden werden. OMX Player Remote GUI (US$3.00/ £1 .80) enthält ein Web Interface, welches auf Smart Phones oder Tablets zur Steuerung des OMX Player genutzt werden kann, der auf dem Rasberry Pimläuft. Gib einfach die angegebene URL in Deinen Browser ein, bestimme Deinen Medien Ordner und Du hast volle Kontrolle über die Playlists, Lautstärke und all die anderen üblichen Medien Einstellungen.

Andere exzellente Spiele sind Freeciv - ein Strategie Spiel, Sqrxz 2 and Sqrxz 3 - Action-Adventure, das beeindruckende Open Arena - Ego-Shooter, OpenTTD - ein Simulations Spiel, das auf Transport Tycoon Deluxe basiert und Iridium Rising - ein 3D Space Spiel, welches zZt. allerdings ein "Servers Full" Problem hat.

FastDosBox (US$2.37/£1 .35) ist ein schneller

Das erste kommerzielle Spiel im Pi Store war Storm In A Teacup. Es bleibt eines meiner beliebtesten Rasberry Pi Spiele; leider ist es vor Kurzen aus dem Pi Store entfernt worden. Hoffentlich kommt es bald zurück.

Anwendungen (Apps)

x386er PC Emulator und damit eine gute Möglichkeit, DOS Spiele aus den 90ern laufen zu lassen. Ein ähnliches Programm im Pi Store ist RPix86.

PiCon (US$1 .00/£0.60) ist ein sehr flexibler Konfigurations Manager für Hardware Optimierungen. Er enthält eine graphsiche Oberfläche zum übertakten des Rasberry Pi; für mich liegt seine wahre Stärke aber in seiner Video Konfiguration. Du bekommst schnell und einfach die perfekten Bildschirmeinstellungen angezeigt. Keine schwarzen Balken mehr! Man kann mehere Voreinstellungen speichern und so den Rasberry Pi an verschiedene Orten (zB. der Schule oder bei Freunden) nutzen und die besten Einstellungen schnell vornehmen, ohne die 'Heim'-Einstellungen zu verändern.

Timewaster (US$0.79/£0.49) verschwendet nicht nur Deine Zeit, sondern auch dein Geld, sofern Du dumm genug bist, es zu kaufen - was Ich getan habe und Du also nicht! Es ist schlimm, dass es überhaubt in den Pi Store gelangt ist.

Bei weitem die grösste Kategorie im Pi Store. Es existiert eine unglaubliche Auswahl an Titeln, von Hilfsprogrammen über Emulatoren, Medien Programmen bis zu schwergewichtigen Anwendungen. Ein Beispiel für letzteres sind Asterisk - ein Telefonanlagensystem und das brillianteLibreOffice - eine Microsoft Office kompatibles und gleichwertige Office Suite. Vier der sechs bezahlbaren Anwendungen können

36

Ich kannte den XIX Music Player nicht, aber er ist angenehm überraschend und definitiv wert, heruntergeladen zu werden. Ich nutze ihn, um Internet Radio zu hören (Absolute Radio aus England, Hit FM aus Belgien, MacJingle Heartbeat aus Österreich...) wärend ich diesen Arikel in Scribus layoute und alles läuft sauber auf dem Rasberry Pi. Um beim Musik-Thema zu bleiben: es gibt zwei Musik Erstellungs Programme im Pi Store. Schism Tracker ist sowohl ein MOD File Player als auch ein Kompositions Werkzeug. Einführende Anleitungen sind in den Ausgaben 2, 1 2 und 1 3 des MagPi


Magazins zu finden. Mit PXDRUM wirst Du eine Menge Spass dabei haben, coole Beats zu erzeugen. Du kannst gleichzeitig acht verschiedene Schlagzeug Instrumente spielen und ihren Klang durch verschiedene 'Drum Kits' verändern. Beginne mit einem der Demo Songs und finde Deinen Groove!

Anleitungen (Tutorials)

dennoch enthält sie sinnvolle Sammlungen wie HUD Sprite Pack, Effects Sprite Pack und Audio Effects Pack für Deine Python und Scratch Spuele... und natürlich alles umsonst. Hier ist auch das sehr hervorragende Pi3D , ein Python Modul, das die Erstellung von 3D Welten erleichtert und den Zugang zum Rasberry Pi GPU ermöglicht. Neben den 3D und 2D Rendering kann Pi3D Texturen und Modelle laden, fraktale Landschaften erstellen und bietet Vertex und Fragment Shaders an. Es gibt auch 1 9 eindrucksvolle Demos.

Medien (Media)

Die Anleitungs Kategorie enthält mehere sehr nützliche Handbücher, inklusive des Official Raspberry Pi Educational User Manual . Andere Handbücher sind die Python-SQL-Database - eine Anleitung wie man Datenbank Applikationen mit SQL und Python erstellt und Raspberry Invaders - Ein Python Programmier Kurs mit 1 7 Übungen, indem Du lernst, ein Space-Invader Spiel mittels Python zu erstellen.

Entwickler Tools (Dev Tools)

Zu guter Letzt gibt es noch die Medien Kategorie. Hier findest Du jede Ausgabe des MagPi Magazins das erste, meiner Meinung nach das beste Magazin für den Rasberry Pi... und natürlich ist es kostenlos! Es wird meist eine kurze Verzögerung geben zwischen dem Erscheinen des Magazins am Monatsanfang und dem Erscheinen im Pi Store. Das liegt daran, dass die Pi Store Version auch die Druckversion ist, sodass wir doppelt durch die Qualitätskontrolle müssen.

Fazit

Dies ist die kleinste Kategorie im Pi Store, uund

Mit weltweit über 2 Millionenverkauften Rasberry Pi und dem Pi Store auf dem Desktop von Rasbian hat es das Ptential, eine unglaubliche Quelle für Rasberry Pi Inhalt zu sein. Es ist einfach im Upload, also warum teilst Du nicht Deine Programme oder Anleitungen mit anderen? Der Pi Store ist für Dich und die Community, also nutze ihn.

37


The PDF has yet to be uploaded for page 38.

Article: PCSL Competition


The PDF has yet to be uploaded for page 39.

Article: Events 19


Weihnachten mit SONIC Pi Programmieren lernen mit Sonic Pi

Guter König Wenzeslaus

Claire Price MagPi Autor

Schwierigkeit : Anfänger Das von Sam Aaron entwickelte Sonic Pi ist ein hervorragender, einfacher und kreativer Weg programmieren zu lernen, vor allem weil es auf Ruby basiert. Es verwendet das MIDI-Noten Nummerierungssystem um Töne zu spielen. Das bedeutet, Du musst kein musikalisches Genie sein, um ein wenig Musik zu machen! Eine gute MIDI Referenztabelle findest Du auf http://www.midikits.net23.net/midi_analyser/midi _note_numbers_for_octaves.htm

Fernseher. Stöpsel sie einfach in die Kopfhörerbuchse am Raspberry Pi (siehe Diagramm).

Vorbereitungen Wenn Du die neueste Version von NOOBS oder Raspian Wheezy verwendest, sollte Sonic Pi schon installiert sein. Du kannst das einfach testen indem Du schaust, ob Du Sonic Pi im Hauptmenü unter "Programming" findest. Wenn Du noch ältere Versionen verwendest, musst Du entweder das neueste Image laden oder folgendes im Terminal eingeben: sudo apt-get update ; sudo apt-get install sonic-pi

Das Update ist wichtig, bevor Du Sonic Pi installierst - ansonsten wird es nicht laufen. Um die erzeugten Melodien zu hören, benötigst Du Lautsprecher oder Kopfhörer, es sein denn, Du bekommst den Ton schon über Deinen

40

Jetzt ist alles vorbereitet um ein wenig zu musizieren!

Töne erzeugen Starte Sonic Pi. Du wirst drei Bereiche sehen, wie auf dem Screenshot auf der nächsten Seite.


wir das einfach mal aus: play 48 sleep 1 play 52 sleep 0.5 play 55

Drücke "play". Kannst Du hören, wie sich die Änderung im Timing auf die Melodie auswirkt? Gib im linken Bereich folgendes ein play 48

Damit sagen wir dem Programm, dass es die MIDI-Note 48 spielen soll. Das entspricht einem c auf dem Klavier. Um sie zu hören müssen wir noch "play" klicken. Das ist der Knopf mit dem Dreieck ganz oben links. Eine Note sollte nun ertönen und im Ausgabebereich (oben rechts) sehen wir, was passiert (in diesem Fall, dass Note 48 gespielt wird). Wenn Du Tippfehler in Deinem Programm hast, ist das kein Problem. Der Bereich unten rechts zeigt Deine Fehler an. Versuch mal folgendes zu tippen ploy 48

und beobachte, was passiert wenn Du "play" drückst. Um eine Melodie zu erzeugen müssen wir mehrere Noten spielen. Lass' uns folgendes eingeben: play 48 play 52 play 55

Drücke "play". Du wirst feststellen, dass die drei Noten zusammen gespielt werden. Das ist prima wenn wir mehrere Noten gleichzeitig spielen wollen, aber nicht so gut, wenn wir einzelne Noten spielen wollen. Um die Noten einzeln nacheinander zu spielen, müssen wir sleep, gefolgt von der Anzahl Sekunden, bis die nächste Note folgen soll, eingeben. Wenn wir zum Beispiel 1 Sekunde Abstand haben wollen, dann würden wir sleep 1 eingeben. Probieren

Akkorde erzeugen Vielleicht möchten wir Akkorde in unseren Stücken verwenden. Das geht am Einfachsten mit der play_chord Funktion: play_chord [48,52,55]

Das sagt dem Programm, wir wollen die Noten 48, 52 und 55 gleichzeitig spielen. Auch hier können wir über die Sleep-Funktion das Timing zwischen den Noten verändern. Probiere es aus: play_chord [48,52,55] sleep 1 play 52

Schleifen verwenden Wenn wir einen Abschnitt wiederholen wollen, könnten wir alles nochmal eingeben oder wir verwenden eine Schleife. Dazu verwenden wir times do. In dem wir eine eine Zahl vor times do schreiben, wird der Abschnitt entsprechend oft wiederholt. Wenn wir also 2.times do schreiben, wird alles zweimal ausgeführt, schreiben wir 3.times do, wird alles dreimal ausgeführt. Ein end am Ende des Abschnitts bedeutet, dass nur dieser Abschnitt wiederholt werden soll. 2.times do play 48 sleep 1 play 52 sleep 0.5 end

41


Drücke "play". Jetzt solltest Du alle Noten zweimal hintereinander hören.

Muster abspielen In unserem Stück haben wir vielleicht mehrere Noten, die alle im gleichen zeitlichen Abstand gespielt werden sollen, z.B. play 48 sleep 1 play 52 sleep 1 play 55 sleep 1

Das lässt sich durchaus so programmieren, aber wir können es auch anders schreiben: play_pattern_timed [48,52,55],[1]

Das ist eine gute Art Folgen von Noten zu schreiben, da es kompakt ist und die Möglichkeit für Fehler reduziert, denn man muss nicht immer wieder play und sleep tippen. Diese Schreibweise können wir auch verwenden um Notenfolgen zu mischen, umzudrehen oder zu sortieren. Hängt man .shuffle an, so werden die NOten in zufälliger Reihenfolge gespielt: play_pattern_timed [48,52,55].shuffle,[1]

Achte drauf, dass .shuffle nach den Noten steht. Steht es hinter dem Pausenwert, werden die Noten in der angegebenen Reihenfolge gespielt. Probiere es aus: play_pattern_timed [48,52,55],[1].shuffle

Wir können auch die Reihenfolge der Noten umkehren, indem wir .reverse verwenden: play_pattern_timed [48,52,55].reverse,[1]

Auch hier gilt, wenn .reverse hinter dem [1 ] steht, werden die Noten in der Reihenfolge gespielt, wie sie im Text stehen. Wir können auch mit .sort die Reihenfolge der

42

Noten sortieren. Das funktioniert vor allem gut, wenn wir eine Reihe von Noten in irgendeiner Reihenfolge geschrieben haben und dann entscheiden, daD sie in sortierter Folge gespielt werden sollen. Wenn wir z.B. folgendes getippt haben play_pattern_timed [52,48,55],[1]

aber eigentlich die Noten als 48,52,55 gespielt haben wollen. Wir können das erreichen, indem wir .sort anhängen: play_pattern_timed [52,48,55].sort,[1]

Zwei Melodien gleichzeitig spielen Beim schreiben eines Lieds kann es vorkommen, dass wir mehrere Melodien gleichzeitg abspielen möchten, wie wenn jemand Klavier beidhändig spielt. Dazu verwenden wir in_thread do. in_thread do play 48 sleep 1 play 52 sleep 1 end in_thread do 2.times do play 55 sleep 1 end end

Die gleichzeitig zu spielenden Bereiche werden in in_thread do eingeschlossen, so dass das Programm weiD, wo Start und Ende sind. Das Programm wird dann diese beiden Bereiche gleichzeitig abspielen. Innerhalb in_thread do können auch andere Funktionen, wie in diesem Fall 2.times do verwendet werden.

Den Tongenerator wechseln ist der Standard-Tongenerator, aber man kann einen anderen wählen. Es stehen mehrere unterschiedliche Generatoren zur Auswahl: dull_bell, pretty_bell (standard), fm, beep und saw_beep. Um den pretty_bell


Tongenerator

zu ändern, benutzen wir gefolgt von dem Namen des Tongenerators, den wir nutzen möchten, z.B. with_synth

Jetzt können wir den Rest der Melodie schreiben play_pattern_timed [62,60,59,57,59,57],[0.5] play 55

with_synth “dull_bell”

Alle nachfolgenden Kommandos werden mit diesem Tongenerator abgespielt. Probieren wir es aus: with_synth “dull_bell” play 48

Wie Du merkst, hört sich die Note jetzt ganz anders an, obwohl die selbe Note gespielt wird. Probiere die anderen Generatoren aus und teste, welcher Dir am besten gefällt.

sleep 1 play_pattern_timed [52,50,52,54],[0.5] play_pattern_timed [55,55],[1] play_pattern_timed [50,50,52,54,55,55],[0.5] play 57 sleep 1 play_pattern_timed [62,60,59,57],[0.5] play_pattern_timed [55,60],[1] play 55 sleep 2

Die fertige Melodie sollte nun wie folgt aussehen: 2.times do play_pattern_timed [55,55,55,57,55,55],[0.5]

Lass' uns jetzt eine ganze Melodie schreiben!

play 50 sleep 1

Guter König Wenzeslaus Da es weihnachtet scheint es eine gute Idee ein Weihnachtslied to programmieren. "Guter König Wenzeslaus" (Anm.: ein in England bekanntes Lied) ist eine gute Wahl, bei der wir einige der hier besprochenen Funktionen einsetzen können. Der erste Bereich wird einmal wiederholt, also beginnen wir mit

play_pattern_timed [52,50,52,54],[0.5] play 55 sleep 1 play 55 sleep 1 end play_pattern_timed [62,60,59,57,59,57],[0.5] play 55 sleep 1 play_pattern_timed [52,50,52,54],[0.5] play_pattern_timed [55,55],[1] play_pattern_timed [50,50,52,54,55,55],[0.5] play 57

2.times do

Viele der Noten haben die gleiche Länge und können somit als Pattern zusammengefasst werden. Achte auf die Einrückung: play_pattern_timed [55,55,55,57,55,55],[0.5] play 50 sleep 1 play_pattern_timed [52,50,52,54],[0.5] play 55 sleep 1 play 55 sleep 1

sleep 1 play_pattern_timed [62,60,59,57],[0.5] play_pattern_timed [55,60],[1] play 55 sleep 2

Herzlichen Glückwunsch! Du hast Dein erstes Weihnachtslied programmiert! Weitere Informationen über Sonic Pi findest Du auf http://www.cl.cam.ac.uk/projects/raspberrypi/son icpi/ . Viel SpaD bei Deiner nächsten Melodie!

Jetzt müssen wir dem Programm mitteilen, dass nur dieser Bereich wiederholt werden soll end

43


Feedback & Frage Zeit Ich habe vor einer Weile einen Rasberry Pi gekauft und andere Dinge sind dazwischen gekommen, sodass ich noch nicht damit spielen konnte. Jetzt, wo der Winter unterwegs ist, und die Abende frei sind, habe ich wieder die Zeit, weiter mit dem Rasberry Pi herumzuspielen. Ich habe mir einige der vorherigen Ausgaben heruntergeladen und durchgelesen und ich mag wirklich das Format und die Inhalte. Macht weiter so, Robin Grossartiges Magazin, Allem der Preis!

vor

ZX80, Arcon Electrun und ähnlichen. Euer Magazin enthält sowohl eine Menge an Informationen für mich, als auch Ideen und Ansporn. Aufrichtigen Dank, Nigel Danke für all die harte Arbeit am The MagPi Magazin. Ihr Jungs macht einen fantastischen Job! Danke noch einmal für diese brilliante Quelle. Roeland Schumacher

Als Elektronik Ingenieur mit ein wenig Programmier-Hintergrund war ich begeistert, als ich den Start des Rasberry Pi zu so einen kleinen Preis gesehen habe.

Ich wollte nur Bescheid sagen, dass der Artikel (Pi Vision, Ausgabe 1 8) super aussieht! Meine Kinder sind sehr stolz!

Ich verbringe nun meine gesamte freie Zeit (was nicht viel ist) mit dem Aufbau und der Programmierung des Rasberry Pi. Das bringt mich zurück in die 80er, mit dem

Ich wurde auf euer Magazin aufmerksam gemacht als Hilfe mit LEDs und Motoren (Ausgabe 2).

B.J. Rao

fänger bei diesen Dingen und Euer Magazin hat mir gross geholfen. Ich werde nun auch die Python Programmierung versuchen. Ich bin dabei, ein YouTube Video zu ertellen, wie man als Neuling alles einrichtet und ausserdem einen Verweis auf Eure Webseite und Ausgabe posten. Ihr ward eine grosse Hilfe. Danke noch einmal! Chad Murphy Vielen Dank für Euer wundervolles Magazin. Es ist ohne Frage das notwendigste Hilfmittel für den Rasberry Pi. Martin Hodgson Frohe Weihnachten und eine gesundes Neues Jahr! Vergiss nicht unsere erste Ausgabe für 201 4 wird im Februar Online verfügbar sein.

Ich bin ein kompletter An-

The MagPi is a trademark of The MagPi Ltd. Raspberry Pi is a trademark of the Raspberry Pi Foundation. The MagPi magazine is collaboratively produced by an independent group of Raspberry Pi owners, and is not affiliated in any way with the Raspberry Pi Foundation. It is prohibited to commercially produce this magazine without authorization from The MagPi Ltd. Printing for non commercial purposes is agreeable under the Creative Commons license below. The MagPi does not accept ownership or responsibility for the content or opinions expressed in any of the articles included in this issue. All articles are checked and tested before the release deadline is met but some faults may remain. The reader is responsible for all consequences, both to software and hardware, following the implementation of any of the advice or code printed. The MagPi does not claim to own any copyright licenses and all content of the articles are submitted with the responsibility lying with that of the article writer. This work is licensed under the Creative Commons Attribution-NonCommercialShareAlike 3.0 Unported License. To view a copy of this license, visit:

http://creativecommons.org/licenses/by-nc-sa/3.0/

Alternatively, send a letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041 , USA.


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.