Raspberry Pi – LAMP (Apache Webserver mit PHP und MySQL)

Der Raspberry Pi kann den im Internet weit verbreiteten Softwarestack aus einem Apache Webserver mit PHP Interpreter und MySQL-Datenbank bereitstellen. Im nachfolgenden wird die Installation der drei Komponenten beschrieben:

Apache 2 Webserver installieren

apache_webserver_logo
Software Verzeichnis aktualisieren:

sudo apt-get update

Apache-Webserver installieren:

sudo apt-get install apache2

Anschließend muss ein Servername gesetzt werden:

sudo nano /etc/apache2/httpd.conf

In die leere Konfigurationsdatei wird folgender Befehl aufgenommen:

ServerName localhost

Der Service des Webservers kann mit folgendem Befehl gestarrtet werden:

sudo service apache2 start [stop]

Wenn der Service nicht gestartet werden kann weil die Gruppe/User „www-data“ nicht vorhanden ist muss dieser noch angelegt werden:

sudo groupadd www-data
sudo usermod -g www-data www-data

Apache wird in das Verzeichnis „/etc/apache2“ installiert. Das Root Verzeichnis es Webserver, in das die Webseiten kopiert werden befindet sich unter „/var/www“. Um den Webserver zu testen kann dieser auf Port 80 unter der IP-Adresse des Raspberry Pi mit einem Browser aufgerufen werden:

http://IP_ADRESSE_DES_RASPBERRY_PI

Test des Apache 2 Services:

sudo apache2 status

In der Liste der offenen Ports muss der Apache Server auf Port 80 vorhanden sein:

netstat -ntl

PHP installieren

php_logo
Viele Webseiten nutzen den PHP Interpreter um dynamische Inhalte zu erstellen. PHP kann mit folgendem Befehl installiert werden:

sudo apt-get install php5-common php5-cgi php5

Soll eine MySQL Datenbank aus PHP angesprochen werden muss noch das Paket „php5-mysql“ installiert werden:

sudo apt-get install php5-mysql

Um zu Testen ob der Apache Webserver PHP Dateien interpretiert kann testweise eine Seite (z.B. info.php) im Webserver Root angelegt werden, die die Methode „phpinfo();“ aufruft. Die Webseite zeigt dann wenn alles funktioniert die PHP Einstellungen.

MySQL-Datenbank installieren

mysql_logo
Der MySQL Datenbankserver kann auf dem Raspberry Pi zur Datenspeicherung installiert werden. Allerdings ist die Performance der Datenbank sehr schlecht, da der Raspberry Pi nicht genügend Leistung hat.

sudo apt-get install mysql-server

Bei der Installation wird das Passwort für den User „root“ der Datenbank gesetzt. Die Datenbank ist nach der Installation unter dem Port 3306 erreichbar. Er kann zum Testen unter Linux oder Windows angesprochen werden:

Linux:

sudo apt-get intall mysql-client
mysqladmin -u root password 'PASSWORT'
show databases; 
use DATABASE;
show tables;

Unter Windows ist kann der Heidi SQL Client empfohlen werden:

IP:  IP des Raspberry Pi (über den Befehl ifconfig auf dem Raspberry Pi zu ermitteln)
Port: 3306
User: root
Passwort: Wurde bei der Installation vergeben

Raspberry Pi – USB Stick oder Festplatte einbinden

Der Raspberry Pi besitzt keine IDE oder SATA Schnittstelle zum Anschluss von Festplatten. Um größere Massenspeicher anzuschließen empfiehlt sich daher die Verwendung eines USB-Sticks oder einer Festplatte die mittels eines USB/SATA Adapter an den USB Port angeschlossen wird. Solle eine Festplatte angeschlossen werden, so muss diese unbedingt zusätzlich mit Strom versorgt werden, da der USB Anschluss des Raspberry Pi nicht genug Strom zur Verfügung stellt. Micro USB StickFestplatten und USB Sticks können mit verschiedenen Dateisystemen formatiert sein. Das Dateisystem organisiert die Ablage und Struktur der Dateien auf dem Datenträger und besitzen verschiedene Funktionsumfänge und Einsatzgebiete. Unter Windows wird meist NTFS eingesetzt. USB Sticks werden häufig mit FAT32 ausgeliefert. Unter Linux kommen die werden zumeist die Dateisysteme EXT4 oder HFS eingesetzt. Für einen Datenträger der unter Raspberry Pi betrieben soll kann der USB Stick mit der Werkseitigen FAT Formatierung betrieben werden. Dadurch bleibt der USB Stick an einem Windows Computer lesbar. Sollen einzelne Dateien/Verzeichnisse auf dem Usbstick mit Berechtigen versehen werden, so muss dieser mit Ext4 formatiert werden. Besonders eignen sich für den Raspberry Pi Mico USB Adapter aufgrund ihrer geringen Abmessungen und dem Umstand das der Raspberry Pi sie direkt mit Strom versorgen kann.

Zunächst müssen auf dem Raspberry Pi die Treiber für das zu verwendende Dateisystem installiert werden:

sudo apt-get -y install ntfs-3g hfsutils hfsprogs hfsutils

Anschließend kann der USB Stick oder die Festplatte mit dem Raspberry Pi verbunden werden und dieser erkennt den neuen Datenträger automatisch. Mit dem folgenden Befehl kann ermittelt werden unter welcher Bezeichnung der Datenträger im System verfügbar ist:

tail -f /var/log/Messages
Oct  7 19:00:13 raspberrypi kernel: [333041.606385] usb 1-1.2: new high-speed USB device number 6 using dwc_otg
Oct  7 19:00:13 raspberrypi kernel: [333041.708081] usb 1-1.2: New USB device found, idVendor=8644, idProduct=8003
Oct  7 19:00:13 raspberrypi kernel: [333041.708110] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Oct  7 19:00:13 raspberrypi kernel: [333041.708126] usb 1-1.2: Product: Intenso Micro Line            
Oct  7 19:00:13 raspberrypi kernel: [333041.708141] usb 1-1.2: Manufacturer: Intenso                       
Oct  7 19:00:13 raspberrypi kernel: [333041.708172] usb 1-1.2: SerialNumber: 1241000000001088
Oct  7 19:00:13 raspberrypi kernel: [333041.723272] scsi0 : usb-storage 1-1.2:1.0
Oct  7 19:00:14 raspberrypi kernel: [333042.717699] scsi 0:0:0:0: Direct-Access     Intenso  Micro Line       1.01 PQ: 0 ANSI: 2
Oct  7 19:00:14 raspberrypi kernel: [333042.721869] sd 0:0:0:0: [sda] 62535680 512-byte logical blocks: (32.0 GB/29.8 GiB)
Oct  7 19:00:14 raspberrypi kernel: [333042.722690] sd 0:0:0:0: [sda] Write Protect is off
Oct  7 19:00:14 raspberrypi kernel: [333042.735054]  sda: sda1 Datenträger hat die Bezeichnung sda1
Oct  7 19:00:14 raspberrypi kernel: [333042.740746] sd 0:0:0:0: [sda] Attached SCSI removable disk

Soll das Ext4 Dateisystem verwendet werden, so muss der Usbstick entsprechend formatiert werden:

sudo mkfs.ext4 /dev/sda1

Um den Datenträger im System zu verwenden muss dieser in ein Verzeichnis gemountet werden. Dadurch steht der Datenträger später in diesem Verzeichnis zur Verfügung. Dazu legen wir ein Verzeichnis unter dem Verzeichnis Media an und mounten den Datenträger in dieses. Der Befehl zum mounten unterscheidet sich im verwendeten Dateisystem, Mount-Verzeichnis und einbunden Bezeichner im System (z.B. sda1)

sudo mkdir /media/usbstick

FAT
sudo mount -t vfat -o uid=pi,gid=pi /dev/sda1 /media/usbstick/

NTFS
sudo mount -t ntfs-3g -o uid=pi,gid=pi /dev/sda1 /media/usbstick/

HFS+
sudo mount -t hfsplus -o force,rw,uid=pi,gid=pi /dev/sda1 /media/usbstick/

Mit dem Befehl „df -h“ kann überprüft werden ob das Einbinden des Datenträgers funktioniert hat und wie viel Speicherplatz auf den einzelnen Partitionen verfügbar ist:

root@raspberrypi:/media/usbstick# df -h
Filesystem      Size  Used Avail Use% Mounted on
rootfs          1.8G  1.7G   23M  99% /
/dev/root       1.8G  1.7G   23M  99% /
devtmpfs        235M     0  235M   0% /dev
tmpfs            49M  376K   49M   1% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs            98M     0   98M   0% /run/shm
/dev/mmcblk0p1   56M   19M   38M  33% /boot
/dev/sda1        30G   32K   30G   1% /media/usbstick

Soll der Datenträger bei jedem Systemstart eingebunden werden, so muss das mounten in der Datei fstab entsprechend der oben verwendeten Daten vorgenommen werden:

sudo nano -Bw /etc/fstab
/dev/sda1       /media/usbstick/ vfat   defaults,auto,users,rw 0

Um den Datenträger wo anders zu verwenden muss er mit folgenden Befehl ungemountet werden:

sudo umount /media/usbstick

Raspberry Pi – Linux installieren und Backup erstellen

Der Raspberry Pi nutzt als Datenspeicher keine Festplatte, sondern eine SD Karte. Diese kann mit verschiedenen Linux Distributionen, die als fertiges Image vorliegen und von der Raspberry Pi Webseite bezogen werden können, beschrieben werden. Die Imagedateien enden meist mit der Dateiendung *.img und können unter Windows mit dem Win 32 Disk Imager auf die SD Karte geschrieben werden. Zu beachten ist, das dass der korrekte Laufwerkbuchstabe für den SD Karten Leser gewählt wird und die SD Karte nicht hardwareseitig schreibgeschützt ist. Über die Buttons Write und Read kann dann das Image auf die SD Karte übertragen werden, oder ein ein Backup einer bestehenden Linux Installation auf der Festplatte abgelegt werden. Es empfiehlt sich das Backup zu zippen, da so einiges an Speicherplatz eingespart werden kann.

Win32 Disk Imager

Sollte Linux nach der Installation nicht starten, empfiehlt es sich zu kontrollieren ob die erste FAT Partition aktiv und bootfähig ist. Dies kan mit dem kostenlosen Partition Manager Tool – MiniTool® Partition Wizard durchgeführt werden.

RaspberryPi_Active_Boot_FAT_Partition

Elektronische Bauteile

Widerstände

Widerstände werden dazu eingesetzt um den Stromfluß zu begrenzen. Es ist es egal an welcher Seite Plus oder Minus angelegt wird. Den Widerstand berechnet man nach der Formel R = U / I. Um den Vorwiderstand für Leuchtdioden auszurechenen findest du weiter unten ein Formular. Widerstände sind recht robuste Bauteile, die einem eine längere Lötzeit meist nicht übel nehmen. Sollte man Lötneuling sein, und eine größere´Schaltung zusammenlöten, empfiehlt es sich mit den Widerständen anzufangen um ein wenig Ãœbung zu bekommen. Wikipedia Wiederstand

Dioden

Die Dioden sind Einbahnstraßen für den Strom, d.h sie lassen den Strom nur in eine Richtung durch und zwar von der Anode zur Kathode. In die andere Richtung wird der Strom gesperrt. An der Diode fällt eine gewisse Spannung ab. Die Ausgangsspannung ist daher um ca. 0.7 Volt kleiner als die an der Anode angelegte Eingangsspannung. Damit man die Diode in der gewünschten Richtung in den Stromkreislauf einbauen kann, wird die Kathode mit einem schwarzen oder weißen Ring makiert.Wikipedia Diode

Leuchtdiode (LED)

led
Die Leuchtdiode, auch LED(Light Emitting Diode) genannt, ist eine Halbleiterdiode, die beim Betrieb in Durchlaßrichtung Licht erzeug t(emittiert). Dabei gibt ein Halbleiterkristall ein Lichtsignal ab, das durch die linsenförmige Form des Kopfes gebündelt bzw. gestreut wird. Leuchtdioden gibt es in verschiedenen Farben, Größen und Bauformen. Deshalb Werden sie als Signalampen und Anzeigen verwendet. Dieses Bauteil ist je nach Farbe aus unterschiedlichen Halbleiterkristallen aufgebaut.Wikipedia LED

Anode(+)

Kathode(-)

– längeres Beinchen – kürzeres Beinchen

– kleineres Metallstück in der LED

– größeres Metallstück in der LED

-abgeflachte Stelle am LED Körper

Bei LEDs ist wie bei Dioden die Polung wichtig. Es gibt mehrere Merkmale an der LED um die Anode(+) von der Kathode(-) zu unterscheiden. (siehe Tabelle)
Meistens müssen die Leuchtdioden mit einem Vorwiderstand betrieben werden, um den Strom zu begrenzen. Den Wert für den Vorwiderstand errechnet man, indem man von der Gesammtspannung die LEDspannung subtrahiert und dann durch Stromstärke der LED dividiert. Die Formel für die Wiederstand sieht daher so aus:R = U / I
Mit Hilfe des untenstehenden Formulars kannst du die Werte für deine Vorwiederstände automatisch berechnen.

Widerstandsberechnung für
LEDs
Ausgangs-Spannung : Volt
LED Referenzspannung(Uref): Volt (z.B: 3.5)
LED Referenzstrom(Iref): mA
Benötigter Widerstand: Ohm

Transistor

Transistoren werden überwiegend aus Silizium gefertigt oder aus Mischkristallen wie z. B. Galliumarsenid.vDer Transistor ist ein Halbleiterelement, der entweder die Funktion eines Schalters übernimmt (indem er den Strom durch den Collektor leitet oder sperrt) oder aber einen Strom verstärkt. Mit einem kleinen "Steuerstrom" durch die Basis kann ein wesentlich größerer Strom durch den Collector gesteuert werden.

Transistoren haben drei Anschlüsse die wie folgt bezeichnet werden:

– Basis (B)
– Emitter (E)
– Collector (C)
Wikipedia Transistor

HTML Meta-Tag Generator


Mit Hilfe dieses Scriptes können Sie auf einfache weise Meta Tags für Ihre Webseite erstellen. Die generierten Meta Tags müssen in den Kopfbereich der HTML-Seite (zwischen <head> und </head>) eingefügt werden. Durch die Meta Tags wird ihre Seite durch die Suchmaschinen besser erfasst und erhält so mehr Besucher.

Titel
Autor
Herausgeber
Copyright
Revisit Wieder besuchen nach Tagen
Verfallsdatum
Keywords
Beschreibung
Themengebiet
Seitentyp

Zielgruppe
Robots
Sprache

Generierte Meta-Tags


Die Metatags innerhalb dieser Textbox über die Zwischenablage kopieren und in den Kopfbereich
(<head> …. </head>) Ihres HTML-Dokumentes einfügen.

Kopieren bitte mit der Tastenkombination: Strg + C  -kopieren | Strg + V  -einfügen

FTP-Backup mit PowerShell, ncFTP und 7-Zip

powershell_logoDas folgende Skript lädt alle Dateien von einem FTP Server herunter und fügt sie zu einem ZIP-Archiv zusammen. Für den FTP-Download wird ncFTP verwendet, da die in Windows integrierte FTP.exe nicht für den Download ganzer Verzeichnis-Hierarchien geeignet ist. Das Komprimieren der Dateien übernimmt 7-Zip.

Damit das Skript funktioniert müssen die Daten im Configuration Part des Skriptes angepasst werden. Um das Skript auszuführen wird die Windows PowerShell benötigt. Information zum Ausführen von PowerShell Skripten gibt es hier. Am Ende des Artikels gibt es einen Downloadlink für das Skript mit allen Binaries.

# BackUP files from FTP Server as ZIP
# Author: Marcus Hottenrott
# GNU GPL
#
#--- Configuration ------------------------------------------

$backupDestination = "D:\FTP_Backup\Backup"
$pathToThisScript = "D:\FTP_Backup"

$ftpHost = "localhost"
$ftpUser = "USERNAME"
$ftpPassword = "PASSWORD"
$ftpFolderToBackUp = "/"
$ftpPort = "21"


#--- Implementation ------------------------------------------

# Path to binaries
Set-Location $pathToThisScript
$sevenZipPath = Get-Item "bin\7z.exe" | Resolve-Path -Relative
$ncFtpGetPath = Get-Item "bin\ncftpget.exe" | Resolve-Path -Relative

# Backup filename
$backUpZipFileName = Get-Date -Format "yyyy-MM-dd-HH_mm_ss"
$BackupZIP = $backupDestination + "\" + $backUpZipFileName

# Create temp folder for downloaded FTP files
$tempFolderForFtpFiles = $env:temp + "\FTP_Backup"
New-Item -Path $tempFolderForFtpFiles -ItemType directory

# Download files from FTP Server
Start-Process  -FilePath $ncFtpGetPath -ArgumentList "-T -R -v -u $ftpUser -p $ftpPassword -P $ftpPort $ftpHost $tempFolderForFtpFiles $ftpFolderToBackUp" -wait

# Zip downloaded files
Start-Process  -FilePath $sevenZipPath -ArgumentList "a -Tzip $BackupZIP $tempFolderForFtpFiles" -wait

# Delete temp folder
Remove-Item -Recurse -Force -Path $tempFolderForFtpFiles

Download Skript

[wpdm_file id=4]

PowerShell Skripte ausführen

Die Windows PowerShell ist eine Alternative zum Windows-Kommandozeilenprogramm cmd.exe und zum Windows Script Host, die mit Windows 7 eingeführt wurde. Für Windows XP kann die PowerShell nachinstalliert werden. Ab Version 2.0 basiert die PowerShell auf dem .NET-Framework und verbindet die aus Unix-Shells bekannte Philosophie von Pipes und Filtern mit dem Paradigma der objektorientierten Programmierung. Mittels der PowerShell Scripting Language können komplexe Skripte erstellt werden. Die Skripte besitzen die Dateierweiterung *.ps1. Microsoft liefert mit PowerShell ISE einen grafischen Editor zum leichteren Erstellen der Skripte mit. (In Windows einfach nach PowerShell suchen)

PowerShell_ISE

Beim ersten Ausführen treten allerdings auch die ersten Hürden auf. Bei einem Doppelklick auf ein PowerShell Skript wird dieses nicht ausgeführt, sondern es öffnet sich Notepad. Macht man einen Rechtsklick auf das Skript und wählt „Mit PowerShell ausführen“ so wird die Skriptausführungs durch die standardmäßig sehr restriktive Execution Policy der PowerShell verhindert. Im Nachfolgenden wird für beide Probleme eine Lösung aufgezeigt:

Execution Policy

Die Execution Policy verhindert in der Standardeinstellung die Ausführung von Skripten. Detaillierte Informationen finden sich bei Microsoft. Für Testzwecke kann die PowerShell so konfiguriert werden das sie alle Skripte ausführt. Dazu führt man die PowerShell als Administrator aus. (z.B. Windowssuche -> PowerShell -> Rechtsklick als Administrator ausführen). In der PowerShell kann dann mit dem folgendem Befehl die Ausführung der Skripte freigeschaltet werden:

Set-ExecutionPolicy Unrestricted

PowerShellAktivieren

PowerShell Skript mit Doppelklick ausführen

Um ein PowerShell Skript per Klick starten zu können muss eine Verknüpfung erstellt werden, die powershell.exe mit dem auszuführenden Skript startet:

powershell.exe -Command "& 'C:\helloworld.ps1'"

Hilfreiche Eclipse Tastaturkürzel

eclipse_logoDurch die Verwendung von Tastaturkürzeln kann die Arbeit mit der Java IDE Eclipse deutlich beschleunigt werden. Die Tabelle zeigt die von mir am häufigsten verwendeten Shortcuts:

Tastaturkürzel Funktion
STRG + SHIFT + L Liste aller Tastaturkürzel
STRG + ALT + O Importe organisieren
STRG + SHIFT + F Markierten Quelltextbereich oder gesamte Klasse formatieren
STRG + SHIFT + C markierten Quelltext auskommentieren
STRG + D Zeile oder markierten Quelltext löschen
STRG + Leertaste Code Assist
STRG + SHFT + T Kalsse öffnen
STRG + SHIFT + R Resource öffnen
STRG + SHIFT + G Suche nach Referenzen im Workspace
STRG + F lokale Textsuche und Suchen / Ersetzen
STRG + H globale Suche
STRG + T Klassenhierachie
STRG + ALT + H Call Hierachie
STRG + W aktuell geöfnete Klasse schließen
STRG + L zur x ten Zeile springen
STRG + Q zur letzten editierten Stelle springen
STRG + 1 Quickfix
STRG + SHFT + J Statement inspect – makierten Bereich bei Brakepoint auswerten
STRG + ALT + Pfeilhoch oder runter Zeile oder markierten Block duplizieren
ALT + Pfeilhoch oder runter Zeile oder markierten Block verschieben
ALT + SHIFT + R Refactoring -> variable umbenennen
ALT + SHIFT + S – R Getter & Setter generieren
ALT – SHIFT + S – O Constructor generieren
ALT + SHIFT + M markierten Codebereich als Methode extrahieren
ALT , P , N Clean Project

Raspberry Pi – Netzwerkkonfiguration

Statische IP-Adresse für die Ethernet Schnittstelle

In der Standardeinstellung ist die Ethernet-Schnittstelle des Raspberry Pi Models B unter Raspbian Linux so konfiguriert, das sie sich die Netzwerkkonfiguration über DHCP automatisch bezieht. Üblicherweise ist in einem Heimnetz ein DHCP Server auf dem Router aktiv, so das der Raspberry Pi automatisch in das Netzwerk eingebunden ist, sobald er per Ethernetkabel verbunden wird. Um zuverlässig auf Serverdienste auf dem Raspberry Pi zugreifen zu können sollte dieser stets unter der gleichen IP-Adresse erreichbar sein. Im folgenden wird gezeigt wie eine statische IP-Adresse für die Ethernet Adresse gesetzt werden kann.

Die Datei Interfaces beinhaltet die Einstellungen für die Netzwerkschnittstellen. Um eine statische Adresse für die Schnittstelle eth0 zu vergeben muss die unten aufgeführte Konfiguration eingetragen werden. Dabei ist zu beachten, dass der Netzwerkbereich und das Gateway zum aktuellen Netzwerk passen. Welcher Netzwerkbereich verwendet wird, kann auf dem Router nachgesehen werden oder mit dem Befehl „ifconfig“ wenn der Raspberry Pi per DHCP eine Netzwerkkonfiguration bezogen hat. Abschließend sollte der Raspberry Pi neugestartet werden und die statische Netzwerkkonfiguration mit ifconfig überprüft werden. Die Befehle werden mit dem User pi auf der Shell ausgeführt.

sudo nano /etc/network/interfaces
auto lo
iface lo inet loopback
#iface eth0 inet dhcp
iface eth0 inet static
address 192.168.1.3
netmask 255.255.255.0
gateway 192.168.1.1

WLAN mit statischer IP-Adresse

EDIMAX EW-7811UNWireless-USB-AdapterDer Raspberry Pi bringt keinen integrierten WLAN Adapter mit. Mit dem EDIMAX EW-7811UN steht jedoch ein sehr kompakter 150 Mbit Wlan Adapter zur Verfügung, der problemlos über USB in den Raspberry Pi eingebunden werden kann. Der WLAN Stick kann z.B. bei Amazon erworben werden. Das Linux OS Raspbian bringt bereits alle nötigen Treiber mit. Mit dem Befehl lsusb kann überprüft werden ob der WLAN-Stick von Rasbian erkannt wurde.

pi@raspberrypi ~ $ lsusb
Bus 001 Device 004: ID 7392:7811 Edimax Technology Co., Ltd EW-7811Un 802.11n Wireless Adapter [Realtek RTL8188CUS]

Mit dem Editor Nano kann dann die Datei Interfaces bearbeitet werden und der neuen Schnittstelle wlan0 bei bedarf eine statische IP-Adresse gegeben werden.

sudo nano /etc/network/interfaces
auto lo

iface lo inet loopback
iface eth0 inet dhcp

wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

auto wlan0
allow-hotplug wlan0
iface wlan0 inet static
address 192.168.1.2
netmask 255.255.255.0
gateway 192.168.1.1 
wpa-ap-scan 1
wpa-scan-ssid 1
wpa-ssid WLAN SSID (Name des Wlans)
wpa-psk WLAN PASSWORT

Nach dem die Änderungen vorgenommen wurden sollte der Raspberry Pi neugestartet werden. Die Netzwerkkonfiguration kann mit dem Befehl ifconfig überprüft werden.
Eigener Erfahrung nach funktioniert die WLAN Schnittstelle über einen längeren Zeitraum für einen Server nicht ausreichend stabil. Nimmt der Raspberry Pi Serveraufgaben wahr sollte die Netzwerkverbindung über die Ethernet-Schnittstelle hergestellt werden. Besonders wichtig ist auch eine ausreichende und stabile Spannungsversorgung des Raspberry Pi, damit das WLAN gut funktioniert.

Einführung Raspberry Pi

Raspberry Pi Einleitung

Bei dem Raspberry Pi handelt es sich um einen kredikarten großen Einplatinen-Computer (SBC – Single Board Computer) auf Basis einer ARM CPU. Durch seine geringen Kosten, einem niedrigen Stromverbrauch von unter 5 Watt und der Möglichkeit eigene Hardware anzusteuern eignet er sich perfekt um als kleiner Server zu dienen und bietet die Basis für verschiedenste Hard- und Softwareprojekte. Als Betriebssystem wird zumeist das Linux Raspbian eingesetzt.

Raspberry_Pi

Systemspezifikation

Modell A Modell B
Größe 85,60 mm × 53,98 mm × 17 mm
SoC Broadcom BCM2835
CPU ARM1176JZF-S (700 MHz)
GPU Broadcom VideoCore IV
Arbeitsspeicher 256 MB (SD RAM) 512 MB (bis Oktober 2012 256 MB) SDRAM
USB 2.0 Anschlüsse 1 2
Videoausgabe HDMI, FBAS
Tonausgabe 3,5 mm-Klinkenstecker (analog), HDMI (digital)
Nicht-flüchtiger Speicher SD (SDHC und SDXC) / MCC / SDIO-Kartenleser
Netzwerk – 10/100 MBit Ethernet-Controller (LAN9512 vom Herstellers Han Run)
Schnittstellen Bis zu 16 GPIO-Pins, SPI, I²C,UART, EGL
Leistungsaufnahme 5 V, 500 mA (2,5 Watt) 5 V, 700 mA (3,5 Watt)
Stromversorgung 5 V Micro-USB-Anschluss (Micro-B)
Betriebssysteme Linux (u.a. Rasbian), BSD, RISC OS, Plan 9

GPIO (General-purpose input/output)Pins

Der Raspberry Pi bietet mit seinen GPIO Pins die Möglichkeit unterschiedlichste Schaltungen zu realisieren. Die Pins sind über die 2,54 mm Stiftleiste P1 zugänglich, liefern 3,3V Signale und können per Software geschaltet werden. Sie sind nicht 5V tolerant und vertragen nur kleine Ströme wodurch ein direkter Anschluss an den TTL Level zur Zerstörung des Raspi führen kann. Hier ist Vorsicht geboten! Einige Pins können für SPI, I²C und UART Schnittstellen genutzt werden. Das Pin Layout unterscheidet sich zwischen Revision 1 und Revision 2.

Pin Layout Revision 1:

Raspberry-Pi-GPIO-Layout-Revision1

Pin Layout Revision 2:
Raspberry-Pi-GPIO-Layout-Revision2

Produktionsprozess des Raspberry Pi

Die Webseite Electronicsweekly konnte einen Blick in die Sony Produktionsstätten des Raspberry Pi werfen: