GPIOs steuern mit wiringPi

WiringPi ist ein Programm mit dem man die GPIO Pins des Banana Pi ganz einfach ansteuern kann. Unter den Raspberry Pi Anwendern wird wiringPi vorzusweise verwendet. Das Tool ist auch für den Banana Pi verfügbar.

Die Programmbibliothek kann mit wenig Aufwand in die Programmiersprachen C/C++, Phyton, Java und PHP eingebunden werden. Die durch die Libary bereitgestellten Funktionen ermöglichen unteranderem das Schalten eines High- und Low-Zustandes auf gewünschte GPIO-Pins. Gleichermaßen können die Pins als Eingang genutzt und mit wiringPi ausgewertet werden. In diesem Artikel zeige ich wie man wiringPi installiert und einsetzt.

Zu Beginn öffnen wir das Terminal und laden uns wiringPi von Github herunter.

git clone https://github.com/LeMaker/WiringBPi.git

Wenn der Download abgeschlossen ist sollte im Verzeichnis /home/bananapi ein neuer Ordner erscheinen: wiringBPi. In diesem Ordner ist die Programmbibliothel von wiringPi abgelegt.

Um wiringPi verwenden zu können, müssen wir die Software im nächsten Schritt installieren. Zur Installation bringt die Software einen Skript mit, den wir im folgenden ausführen. Hierfür wechseln wir in das entsprechende Verzeichnis und setzen optional Zugriffsrechte.

cd /home/bananapi/wiringBPi
chmod +x build

Jetzt können wir den Installationsskript ausführen. Dies nimmt einen kurzen Augenblick in Anspruch.

sudo ./build

Screenshot Banana Pi - wiringPi
Screenshot Banana Pi – wiringPi

Nach dieser langen Ausgabe ist wiringPi erfolgreich installiert und kann verwendet werden. WiringPi ist sehr vielseitig und kann daher mit den Programmiersprachen C/C++, Phyton, Java und PHP genutzt werden. Außerdem ist das Schalten der GPIO Pins über die Konsole möglich. In diesem Tutorial beschränke ich mich auf die Ansteuerung des Pin Headers via Konsole und mit C/C++.

Grundlegend ist festzuhalten das die GPIO Pins als Eingang oder Ausgang konfiguriert werden können. Weiterhin gilt ein Pegel von 5 Volt bedeutet High und ein Pegel von 0 Volt bedeutet Low. Dies ist bei der Beschaltung des Banana Pi zu beachten: Zum einen um eine korrekte Funktionalität zu gewährleisten und zum anderen um den Banana Pi nicht zu beschädigen. Neben den Zuständen High und Low unterstützen einige Pins Funktionen wie PWM und UART.

GPIOs über Terminal steuern

Um herauszufinden wie die GPIO Pins momentan konfiguriert und beschalten sind, kann man folgenden Befehl im Terminal absetzen.

gpio readall

gpio readall - Screenshot Raspbian

Im folgenden wollen wir den GPIO Pin 17 ansteuern. Physikalisch ist das Pin 11 und aus Sicht von wiringPi ist es Pinnummer 0. Anhand der angezeigten Tabelle vom Befehl gpio readall kann dies nachvollzogen werden. Weitere Informationen zum Aufbau und Pindefinitionen gibt es hier.

Wenn wir Pin 17 beschalten wollen müssen wir diesem zunächst sagen, ob er als Eingang oder Ausgang fungieren soll. In diesem Tutorial möchte ich GPIO Pin 17 als Ausgang schalten. Dazu verwenden wir im folgenden Befehl den Parameter out. Als Eingang würde man in nehmen.

gpio export 17 out

Anschließend soll an GPIO Pin 17 ein High-Zustand (5 Volt) angelegt werden.

gpio -g write 17 1

Ruft man jetzt die Pinübersicht mit gpio readall erneut auf, wird ersichtlich, dass
der GPIO Pin 17 bzw. physikalisch 11 bzw. wiringPi Pin 0 auf Output und High geschalten ist. Wenn man anschließend vom High zum Low wechseln möchte, ersetzt man die 1 durch eine 0: gpio -g write 17 0

LED ansteuern mit wiringPi

Ansteuerung mit C/C++

Die Beschaltung der GPIO Pins mit Hilfe von wiringPi ist in Verbindung mit einer Programmiersprache wie zum Beispiel C/C++ sehr vielseitig und nützlich. Dazu muss die Programmbibliothek von wiringPi wie beschrieben installiert sein.

Im folgenden erstellen wir eine kleine C-Anwendung mit der wir über Pin 11 (GPIO 17, wiringPi 0) eine LED zum blinken bringen möchten. Dazu erstellen wir über das Terminal die Datei blinken.c .

sudo nano blinken.c

Der Inhalt der C-Anwendung kann wie folgt aussehen:

#include <wiringPi.h>

int main ()
{
// wiringPi initialisieren
if (wiringPiSetup() == -1) {
return 1;
}

// Pin 11 auf Ausgang schalten (GPIO 17, wiringPi 0)
// Achtung! wiringPi Layout nutzen
pinMode (0, OUTPUT);

// Dauerschleife
while(1) {

// Pin 11 High, LED an
digitalWrite (0, HIGH);
delay(500);

// Pin 11 Low, LED aus
digitalWrite(0, LOW);
delay(500);

}

return 0 ;
}

Nachdem wiringPi initialisiert ist geht das C-Programm in eine While-Schleife. Innerhalb der Schleife wird Pin 11 (GPIO 17, wiringPi 0) auf High geschalten. Anschließend wartet das Programm mit Hilfe des delay-Befehls 500 ms und schaltet dann den Pin und damit die LED wieder ab.

Mit den Tastenkombinationen Strg+X, Y und Enter schließen und speichern wir unseren C-Skript ab. Anschließend kompilieren wir den Quellcode.

gcc -o blinken blinken.c -lwiringPi

Jetzt können wir unser Programm ausführen.

sudo ./blinken

Beschaltet man über Pin 11 eine LED, so würde diese jetzt im Takt von 500 ms blinken. Wie man eine LED hardwareseitig installiert erkläre ich im nächsten Schritt.

LED verbinden

LED ansteuern
LED ansteuern
Für dieses Beipiel verwende ich eine Standard LED (2,1 Volt), einen 140 Ohm Vorwiderstand, ein Breakboard und Jumperkabel.

Zunächst verbinden wir den Vorwiderstand mit der LED. Dabei ist auf die richtige Polung der Leuchtdiode zu achten (Anode +, Kathode -). Anschließend muss Pin 11 des Banana Pis (GPIO 17, wiringPi 0) mit dem Vorwiderstand verbunden werden. Den Masse Pin (GND) des Banana Pi wird abschließend mit der Kathode (-) der LED verbunden.

Warum benötigen wir einen Vorwiderstand?

Der Vorwiderstand einer LED dient der Strombegrenzung und Spannungsanpassung. In unserem Falle bekommen wir vom Banana Pi eine 5 Volt Betriebsspannung. Die Standard-LED arbeitet in der Regel mit etwa 2,1 Volt und hat eine Stromaufnahme von ca. 20 mA. Daher liegen zwischen den 5 Volt Betriebsspannung und 2,1 Volt für die LED ganze 2,9 Volt die über den Vorwiderstand abfallen müssen.

Vorwiderstand dimensionieren

Mit Hilfe des Ohmschen Gesetzes kann der Vorwiderstand dimensioniert werden. Wir wissen das über dem Widerstand 2,9 Volt abfallen müssen und das durch diesen 20 mA durchfließen (Reihenschaltung).

R= U/I = 2,9 Volt / 0,02 A = 145 Ohm

Der Vorwiderstand sollte etwa 145 Ohm groß sein. Je nach LED und deren Farbe kann die Arbeitsspannung und Stromaufnahme abweichen. Hierbei sollte das jeweilige Datenblatt beachtet werden.

Led Ansteuerung mit Banana Pi
Led Ansteuerung mit Banana Pi

Quellen (Stand:03.11.14): Wikipedia, wiki.lemaker.org

Weiterlesen

Aufbau und Pindefinitionen

In diesem Artikel wird der Aufbau und die Belegung der Pins am Banana Pi näher untersucht. Schwerpunkt der Ausführungen sind primär die Pindefinitionen. Sowohl beim basteln, als auch bei professionellen Anwendungen sollte man sich immer bewusst sein, welche Bedeutung und daher auch welche Beschaltung eines Pins zu beachten ist. Durch eine Fehlinstallation kann der Banana Pi, als auch eure angeschlossenen Bauteile zerstört werden.

Aufbau und Schnittstellen des Banana Pi

Im Vergleich zum bekannten Raspberry Pi* bringt der Banana Pi einige Schnittstellen mehr mit. Dazu zählen eine SATA-Schnittstelle für Festplatten, ein Infrarot Empfänger, Mikrofon, ein USB OTG Anschluss, LEDs on Board und verschiedene Buttons. Alle Anschlüsse sind in der folgenden Grafik verdeutlicht.

Banana Pi Schnittstellen (Quelle: lemaker.org)
Banana Pi Schnittstellen (Quelle: lemaker.org)

Banana Pi Pinbelegung

Der Banana Pi verfügt an mehreren Positionen auf der Platine diverse Pins. Diese können individuell für das eigene Projekt als Ein- oder Ausgang beschalten werden. Somit bietet der Banana Pi eine optimale Grundlage zum ansteuern von Sensoren, LEDs und vielem mehr.

Banana Pi Schnittstellen, Pins
Banana Pi Schnittstellen, Pins

Der Pi verfügt über die Pin-Schnittstellen CON1, CON2, CON3, J11 und J12. Alle Pins können als GPIO Schnittstelle genutzt werden. Darüber hinaus bieten einige Pins noch weitere Funktionen. Zunächst werden die einzelnen Pinblöcke nach ihren Funktionalitäten gegliedert.

  • CON1: CSI Kamera Schnittstelle
  • CON2: LVDS Display Schnittstelle
  • CON3: GPIO, CAN Bus, SPI Bus, I2C Bus, PWM, Serial Port, Pins beliebig einsetzbar
  • J11: UARTO Schnittstelle (UARTO-RX, UARTO-TX), Eingang / Ausgang Konsole
  • J12: UART, Serial Port

CON3 GPIO Header

Die GPIO Pins vom Header CON3 werden unter den Pi-Anwendern hauptsächlich genutzt. Die Pins können über die entsprechende Software als Eingang oder Ausgang beschalten werden. Außerdem unterstützen die Pins eine Kommunikation via CAN Bus, SPI Bus, I2C Bus, PWM und eine serielle Datenübertragung. Zur richtigen Beschaltung stellen wir euch im Folgenden die Pindefinitionen CON3 vom Banana Pi vor. Zur Orientierung ist Pin 1 bei jedem Connector-Block auf der Platine des Banana Pi beschriftet.

wiringPiGPIOFunktionPinPinFunktionGPIOwiringPi
VCC-3V3 12VCC-5V
8PB21 TWI2-SDA 34VCC-5V
9PB20 TWI2-SCK 56GND
7PI3 GPCLK 78UART3-TX PH0 15
GND 910UART3-RX PH115
0PI19IO-0(UART2-RX) 1112IO-1 PH2 1
2PI18IO-2(UART2-TX) 1314GND
3PI17IO-3(UART2-CTS)1516IO-4(CAN_TX) PH20 4
VCC-3V3 1718IO-5(CAN_RX) PH215
12PI12SPI0_MOSI 1920GND
13PI13 SPI0-MISO 2122IO-6(UART2_RTS) PI16 6
14PI11 SPI0_CLK 2324SPI0_CS0 PI10 10
GND 2526SPI0_CS1 PI1411

CON1 Pinbelegung

Bei den Pins von CON1 handelt es sich um eine CSI Schnittstelle. Diese besteht aus 40 FPC Pins die zum verbinden eines Kameramoduls dienen. Die Pinbelegung ist im Folgenden beschrieben.

CON1 Pin PindefinitionGPIO
CON1 P01 LINEINL
CON1 P02 LINEINR
CON1 P03 VCC-CSI
CON1 P04 ADC_X1
CON1 P05 GND
CON1 P06 ADC_X2
CON1 P07 FMINL
CON1 P08 ADC_Y1
CON1 P09 FMINR
CON1 P10 ADC_Y2
CON1 P11 GND
CON1 P12 CSI-FLASH PH17
CON1 P13 LRADC0
CON1 P14 TWI1-SDA PB19
CON1 P15 LRADC1
CON1 P16 TWI1-SCK PB18
CON1 P17 CSI-D0 PE4
CON1 P18 CSI0-STBY-EN PH19
CON1 P19 CSI0-D1 PE5
CON1 P20 CSI-PCLK PE0
CON1 P21 CSI-D2 PE6
CON1 P22 CSI0-PWR-EN PH16
CON1 P23 CSI-D3 PE7
CON1 P24 CSI0-MCLK PE1
CON1 P25 CSI-D4 PE8
CON1 P26 CSI0-RESET# PH14
CON1 P27 CSI-D5 PE9
CON1 P28 CSI-VSYNC PE3
CON1 P29 CSI-D6 PE10
CON1 P30 CSI-HSYNC PE2
CON1 P31 CSI-D7 PE11
CON1 P32 CSI1-STBY-EN PH18
CON1 P33 RESET#
CON1 P34 CSI1-RESET# PH13
CON1 P35 CSI-IO0 PH11
CON1 P36 HPR
CON1 P37 HPL
CON1 P38 IPSOUT
CON1 P39 GND
CON1 P40 IPSOUT

CON2 Pinbelegung

Die CON2 Pins dienen zum ansteuern eines LCD Displays / Panel (LVDS), wahlweise mit Touchfunktion (I2C). Der Header umfasst 40 FPC Pins. Die Definitionen sind nachfolgend dargestellt.

CON2 Pin PindefinitionErweiterte Funktion GPIO
CON2 P01 IPSOUT
CON2 P02 TWI3-SDA PI1
CON2 P03 IPSOUT
CON2 P04 TWI3-SCK PI0
CON2 P05 GND
CON2 P06 LCD0-IO0 PH7
CON2 P07 LCDIO-03 PH12
CON2 P08 LCD0-IO1 PH8
CON2 P09 LCD0-D0 LVDS0-VP0 PD0
CON2 P10 PWM0 PB2
CON2 P11 LCD0-D1 LVDS0-VN0 PD1
CON2 P12 LCD0-IO2 PH9
CON2 P13 LCD0-D2 LVDS0-VP1 PD2
CON2 P14 LCD0-DE SMC_RST PD25
CON2 P15 LCD0-D3 LVDS0-VN1 PD3
CON2 P16 LCD0-VSYNC SMC_SDA PD27
CON2 P17 LCD0-D4 LVDS0-VP2 PD4
CON2 P18 LCD0-HSYNC SMC_SLK PD26
CON2 P19 LCD0-D5 LVDS0-VN2 PD5
CON2 P20 LCD0-CS PH6
CON2 P21 CD0-D6 LVDS0-VPC PD6
CON2 P22 LCD0-CLK SMC_VCCEN PD24
CON2 P23 LCD0-D7 LVDS0-VNC PD7
CON2 P24 GND
CON2 P25 LCD0-D8 LVDS0-VP3 PD8
CON2 P26 LCD0-D23 PD23
CON2 P27 LCD0-D9 LVDS0-VN3 PD9
CON2 P28 LCD0-D22 SMC_VPPPP PD22
CON2 P29 LCD0-D10 LVDS1-VP0 PD10
CON2 P30 LCD0-D21 SMC_VPPEN PD21
CON2 P31 LCD0-D11 LVDS1-VN0 PD11
CON2 P32 LCD0-D20 CSI1_MCLK PD20
CON2 P33 LCD0-D12 LVDS1-VP1 PD12
CON2 P34 LCD0-D19 LVDS1-VN3 PD19
CON2 P35 LCD0-D13 LVDS1-VN1 PD13
CON2 P36 LCD0-D18 LVDS1-VP3 PD18
CON2 P37 LCD0-D14 LVDS1-VP2 PD14
CON2 P38 LCD0-D17 LVDS1-VNC PD17
CON2 P39 LCD0-D15 LVDS1-VN2 PD15
CON2 P40 LCD0-D16 LVDS1-VPC PD16

J11 Pinbelegung

J11 PinPindefinitionErweiterte FunktionGPIO
Pin 1TXDUART0-TX PB22
Pin 2RXDUART0-RX PB23

J12 Pinbelegung

J12 Pin Pin Name Multiplex Function Select GPIO
J12 Pin1 5V
J12 Pin2 3.3V
J12 Pin3 NC IO-7 PH5
J12 Pin4 RXD UART7_RX PI21
J12 Pin5 NC IO-8 PH3
J12 Pin6 TXD UART7_TX PI20
J12 Pin7 GND
J12 Pin8 GND

Quellen (Stand: 30.9.14): wiki.bananapi.org, bananapi.com, lemaker.org

Weiterlesen

Android auf SD-Karte installieren

Der Einplatinencomputer Banana Pi unterstützt neben den Betriebssystemen Raspbian und Ubuntu auch Android. Wie man ein OS auf einer SD-Karte installiert wurde bereits im Artikel Quick Start erklärt. Die Installation von Android sieht aber etwas anders aus.

Im Folgenden zeige ich dir, wie du Android auf deine Speicherkarte bringst und was du dazu alles benötigst.

1. Android und PhoenixCard herunterladen

Zunächst laden wir uns das Android Image von lemaker.org herunter: Download

Da die Installation mit dd-Kommandos unter Linux, als auch die Verwendung von Win32 Disk Imager unter Windows nicht funktioniert, benötigen wir das Programm PhoenixCard. Dieses kann hier heruntergeladen werden.

PhoenixCard ist eine Win32-Anwendung von Allwinner. Diese konvertiert ein Image zur einer bootfähigen, selbstinstallierenden SD-Karte.

2. Android auf SD-Karte schreiben

Als erstes formatieren wir die SD-Karte. Dazu starten wir das Programm PhoenixCard und wählen in der Programmoberfläche unter DiskCheck unsere SD-Karte aus. Über den Punkt Img File wählen wir das Android Image aus, welches wir zu Beginn heruntergeladen haben.

Im Bereich Write Mode sollte Startup ausgewählt sein. Jetzt können wir die Speicherkarte formatieren. Dazu klicken wir auf den Button Format to Normal.

PhoenixCard
PhoenixCard

Ist die Formatierung abgeschlossen, können wir über den Button Burn das Android Image auf die SD-Karte schreiben. Dies kann einige Minuten dauern. Ist der Schreibvorgang beendet kann die SD-Karte aus dem Computer genommen werden.

Zusammenfassung

  • Download Android Image
  • Download PhoenixCard
  • Phoenixcard starten
  • Einstellungen: DiskCheck: Speicherkarte auswählen, Img File: Android Image auswählen, Write Mode: Startup
  • SD-Karte formatieren: Button Format to Normal
  • Android Image auf SD-Karte schreiben: Button Burn

Erster Start

Jetzt kann die beschriebene SD-Karte in den Banana Pi gesteckt werden. Nach dem Anschluss von Monitor, Tastatur und Steckernetzteil startet der Banana Pi. Der erste Start von Android dauert eine ganze Weile, bis letztendlich der Startbildschrim erscheint.

Android 4.2 für den Banana Pi, Image V2.0
Android 4.2 für den Banana Pi, Image V2.0

Quellen (Stand 30.07.2014): Lemaker Wiki, Lemaker Forum, linux-sunxi.org

Weiterlesen

Quick Start

In diesem Beitrag wird gezeigt wie man in wenigen Minuten seinen Banana Pi in Betrieb nehmen kann und was man dabei beachten sollte. Neben dem Anschluss eines Monitors, sowie Maus und Tastatur, muss ein Betriebssystem auf der SD-Karte installiert werden.

  • Was braucht man alles?
  • Die SD-Karte vorbereiten
  • Erster Start

Was braucht man alles?

Um den Banana Pi nutzen zu können braucht man einige Dinge. Diese werden im Folgenden vorgestellt.

SD-Karte

Auf der SD-Karte wird das Betriebsystem für den Banana Pi installiert und Benutzerdaten gespeichert. Die Speicherkarte sollte mindestens 4 GB groß sein (besser 8 GB oder mehr) und die Klasse 4 besitzen. Dabei signalisiert die Klasse einer SD-Karte die Geschwindigkeit beim Datenschreiben. In diesem Fall arbeitet eine SD-Karte mit der Klasse 4 mit einer Schreibgeschwindigkeit von 4 MB/s.

HDMI und AV-Video Kabel

Um direkt am Banana Pi arbeiten zu können, muss dieser mit einem Monitor verbunden werden. Der Banana Pi hat eine HDMI-Schnittstelle und einen AV-Video Ausgang. Über die HDMI-Buchse kann man mit Hilfe eines HDMI zu HDMI oder einem HDMI zu DVI Kabel einen Monitor anschließen. Die AV-Video Schnittstelle ermöglicht es ein TV-Gerät zu nutzen.

Steckernetzteil

Zur Stromversorgung benötigt man ein microUSB-Steckernetzteil. Dieses sollte bei 5 Volt mindestens 1 Ampere unterstützen um den Banana Pi versorgen zu können. Ein leistungsstärkeres Steckernetzteil ist, je nach Einsatzgebiet des Banana Pi, zu empfehlen.

Ein Handyladekabel mit microUSB kann ebenfalls verwendet werden. Jedoch sollte man überprüfen, ob dieses 1 Ampere hergibt. Diese Information kann man für gewöhnlich auf dem Steckernetzteil direkt ablesen.

Maus und Tastatur

Prinzipiell kann jede Maus und jede Tastatur mit einem USB-Anschluss verwendet werden. Funktionsumfangreichere Eingabegeräte wie zum Beispiel eine Gaming Tastatur kann unter Umständen extra Treiber benötigen.

Außerdem sollte man darauf achten das der Strom von einer USB-Schnittstelle begrenzt ist. Dazu kommt, dass Tastaturen relativ viel Strom ziehen können. Um den Banana Pi nicht zu beschädigen ist der EInsatz eines USB-Hubs mit extra Stromversorgung empfehlenswert.

Netzwerkkabel

Um den Banana Pi zu starten muss dieser nicht zwingend mit dem Heimnetzwerk bzw. Internet verbunden sein. Für spätere Anwendungen, z.B. die Nutzung des SSH-Dienstes oder Updates muss der Pi vernetzt sein. Dazu benötigt man ein Ethernet-Kabel. Dieses wird mit der RJ45 Buchse verbunden.

Sound

Wer mit dem Banana Pi Musikdateien abspielen will oder andere Multimedia Anwendungen nutzen möchte, hat die Möglichkeit den Sound über die 3,5 mm Klinken-Buchsen zu verarbeiten. Entweder kann man direkt Kopfhörer anstecken oder z.B. über ein Klinke zu Cinch Kabel das Audiosignal auf den Eingang eines anderen Wiedergabegerätes zu legen.

Die SD-Karte vorbereiten

Um den Banana Pi nutzen zu können muss ein Betriebssystem deiner Wahl auf der SD-Karte installiert werden. Unter lemaker.org werden die Image-Dateien von verschiedenenen Systemen zum Download angeboten. Wie man das gewählte OS auf der SD-Karte installiert, wird für Windows und Linux Systeme im nachfolgenden erklärt. Diese Anleitung funktioniert mit den meisten Betriebssystemen. Bei der Installation von Android muss jedoch anders vorgegangen werden. Eine Schritt für Schritt Anleitung findet man im Betrag Android auf SD-Karte installieren.

Windows

  • Stecke deine leere SD-Karte in den Computer
  • SD Formatter herunterladen und entpacken
  • setup.exe ausführen und SD Formatter installieren, anschließend starten
  • unter Drive die zu formatierende SD-Karte auswählen

    sdf1

  • Unter Option FORMAT TYPE: QUICK und FORMAT SIZE ADJUSTMENT: ON

    sdf2

  • Über den Button Format die Formatierung der SD-Karte starten
  • Betriebssystem herunterladen und entpacken
  • Win32 Disk Imager herunterladen, installieren und starten
    win32diskimager
  • entpacktes OS-Image und SD-Karte auswählen
  • mit dem Button Write das Schreiben des OS auf die SD-Karte starten

Linux

  • SD-Karte überprüfen fdisk –l
  • alle Partitionen der Speicherkarte aushängen: fdisk /dev/sdx
  • SD-Karte konfigurieren: sudo fdisk /dev/sdx, mit o alle Partitionen löschen, mit n eine neue Partition erstellen und mit w die Einstellungen speichern
  • neue Partition in FAT32 formatieren: sudo mkfs.vfat /dev/sdx1
  • Betriebssystem herunterladen
  • OS-Image entpacken: unzip [pfad]/[datei], wenn Dateiendung .tgz ist, dann den Befehl tar zvxf [pfad]/[datei] ausführen
  • alle Partitionen aushängen: umount /dev/sdxx
  • mit dem Befehl sudo dd bs=4M if=[pfad]/[datei] of=/dev/sdx wird das Schreiben des OS-Images auf die Speicherkarte gestartet

Erster Start

Das Betriebssystem deiner Wahl ist jetzt auf der SD-Karte installiert und bereit für den ersten Start. Dazu wird die Speicherkarte in den Banana Pi gesteckt und alle anderen Geräte wir Monitor, Tastatur und Netzwerk werden über die vorgestellten Schnittstellen und Kabel verbunden.

Quellen (Stand: 29.07.2014): lemaker.org, lemaker.org Wiki

Weiterlesen

Gehäuse

Der Banana Pi ist jetzt schon einige Monate auf dem Markt und das Angebot an Zubehör beginnt zu wachsen. Artikel wie SD-Karten und Steckernetzteile gibt es in diversen Variatonen und von unterschiedlichen Herstellern. Diese Produkte gibt es schon lange im Handel und können universell eingesetzt werden.

Wer also schon ein Steckernetzteil für seinen Raspberry Pi hat, kann dies für den Banana Pi verwenden. Der Raspberry Pi hat einen Stromverbrauch von etwa 3,5 Watt (5 Volt bei 700 mA). Ich empfehle jedoch für beide Pis ein Netzgerät zu verwenden, welches 2 A liefert. Somit ist man auch beim Betrieb von energieintensiveren Anwendungen bzw. Verwendungen auf der sicheren Seite.

Wer auf der Suche nach einem Gehäuse für seinen Banana Pi ist, findet mittlerweile die ersten Exemplare. Auf Grund der größeren Platine des Banana Pi und der damit veränderten Position der einzelnen Bauelemente sind die meisten Raspberry Pi Gehäuse inkompatibel.

Auf Amazon ist unteranderem ein Gehäuse für den Banana Pi von Allnet erhältlich. Das Gehäuse überzeugt mit einem schlanken, minimalen und transparenten Design. Alle Schnittstellen und Buchsen werden über entsprechende Aussparungen passgenau zugänglich gemacht. Dazu zählen auch Schlitze für ein Flachbandkabel für GPIO-Pins und ein SATA-Kabel. Das große Loch im Zentrum des Gehäuses kann für einzelne Verkabelungen genutzt werden. Außerdem dient es zu Belüftung der Platine.

Das Gehäuse gibt es auch direkt in Kombination mit einem Banana Pi und anderem Zubehör zu kaufen.
Wem ein transparentes Gehäuse nicht zusagt, der kann auch ein Kunststoffgehäuse in schwarz oder weiß erwerben.

Momentan ist die Auswahl an Gehäusen für den Banana Pi noch nicht so vielfälltig wie für den Raspberry Pi. Daher werde ich von Zeit zu Zeit über neue Produkte informieren.

Weiterlesen

Unterstützte Betriebssysteme

Laut dem Hersteller lemaker.org unterstützt der Banana Pi die Betriebssysteme Android, Ubuntu, Debian und das beliebte Raspbian. Raspbian ist unter den Raspberry Pi Anwendern in der Regel die erste Wahl.

Unterstütze betriebssysteme
Unterstütze Betriebssysteme

Jedoch ist die Installation nicht so einfach wie der ein oder andere das vielleicht von seinem Raspberry Pi gewohnt ist. Prinzipiell ist zunächst ein Version einer Distribution nötig, welche an den Banana Pi angepasst ist. DIese sind auf der Herstellerseite zum Download verfügbar.

In dem Forum von lemaker.org wird dringend empfohlen eine hochwertige und schnelle SD-Karte einzusetzen. Gerade in Verbindung mit Lubuntu soll dies sehr hilfreich sein. Mit einer erfolgreichen Installation ist aber immer noch nicht alles getan: Beim Betrieb eines unmodifiziertem Ubuntu (Trusty Tahr) oder Lubuntu treten vermehrt Fehler auf.

Auf Grund des ARM-Prozessors im Banana Pi ist das Betriebssystem Android gut geeignet. Fedora hat sich ebenfalls auf den zum Einsatz kommenden Prozessor spezialisiert.

Quelle: aphilia.info

Weiterlesen

Erster Eindruck und Vergleich

Der Banana Pi ist erst seit wenigen Monaten auf dem Markt, aber schon in voller Munde. Viele fortgeschrittene User interessieren sich neben den technischen Spezifikationen für Antworten auf die Fragen:

  • Was ist mit dem Banana Pi alles möglich?
  • Inwiefern sind Shields, Gehäuse und weiteres Zubehör vom Raspberry Pi kompatibel?
  • Welche Betriebssysteme werden vom Banana Pi unterstützt?
  • Wie weit sind die Funktionalitäten (z.B. Unterstützung von wiringPi) ausgereift?

Grenzenlose Möglichkeiten

Der Banana Pi ist für jeden ein interessantes „Must-have“ der in die Welt der Elektronik eintauchen will. Ähnlich wie der Raspberry Pi wurde der Banana Pi von einer Bildungsinitiative entwickelt, um jedem den Einstieg und den Umgang mit modernen Technologien zu ermöglichen.

Der Banana Pi kann als normaler Desktop-Computer genutzt werden. Beliebt ist aber auch die Installation eines Servers, wie zum Beispiel ein Webserver, ein NAS-Fileserver, ein Mail-Server, ein Voice over IP Server und vieles mehr. Dabei kann der Banana Pi über Ethernet oder auch wireless in euer Heimnetzwerk eingebunden werden.

Der Mini-Computer kann problemlos HD-Videos abspielen und wird in Verbindung dessen oft auch als Media-Center eingesetzt. Im Vergleich zu teuren handelsüblichen Media-Stationen ist eine Lösung mit dem Banana Pi sehr schonend für den Geldbeutel. Außerdem kommt der Spaß- und Bildungsfaktor hinzu.

Der Banana Pi verfügt über eine Soundschnittstelle (Klinke 3,5 mm), sodass die Wiedergabe von Audiodateien möglich ist. Wem das noch nicht reicht, der kann auch seinen lieblings Internetradio-Sender mit dem Pi abrufen und wiedergeben. genauso ist das Erstellen eines eigenen Media-Streams möglich.

Neben einer Vielzahl von Spielen kann die Software Scratch den Einstieg in die elektronische Welt vereinfachen. Scratch ist eine vom MIT bereitgestellte Umgebung, mit der man Programme, Spiele und Animationen ganz simpel erstellen kann. Unter dem Betriebssystem Raspbian ist Scratch standardmäßig installiert.

Die genannten Funktionen sind natürlich nur ein kleiner Teil von dem was noch alles mit dem Einplatinencomputer möglich ist.
Durch die vorhandenen Schnittstellen, z.B. die GPIO-Pins kännen Sensoren, LEDs und weitere Elektronik beschalten werden. Mit Hilfe von nur wenig Quellcode und den bereitgestellten Treibern können die Pins angesteuert werden.

Raspberry Pi Gehäuse inkompatibel

Die Platine des Banana Pi ist mit den Maßen 92 mm × 60mm etwas größer als der Raspberry Pi. Außerdem verfügt dieser über mehr Schnittstellen, wie zum Beispiel dem SATA-Anschluss. Folglich sind die meisten im Handel erhältlichen Gehäuse des Raspberry Pi inkompatibel mit dem Banana Pi. Unter Umständen kann es wenige Ausnahmen geben, jedoch ist mir an dieser Stelle keine bekannt.

Unterstützte Betriebssysteme

Nach Angaben von der Lemaker.org unterstützt der Banana Pi die Betriebssysteme Debian, Ubuntu Android und Android 4.4.

Raspberry Pi SD-Karte inkompatibel

Wer bereits im Besitz eines Raspberry Pis ist und zum Beispiel Raspbian installiert hat, wird sich bestimmt schon überlegt haben die SD-Karte einfach in den Banana Pi zu stecken und loszulegen. Denjenigen muss ich an dieser Stelle enttäuschen, dies funktioniert nicht. Da tut sich nix, der Bildschirm bleibt dunkel und es findet kein gewohnter Bootvorgang statt.

Für die Installation eines Betriebssystems auf dem Banana Pi ist ein speziell angepasstes Image notwendig. Das entsprechende Image kann unter http://www.lemaker.org heruntergeladen werden. Wie man dies und andere Betriebssysteme installiert werde ich die Tage in einem weiteren Beitrag erlären.

Pin-Header des Banana Pi

Viele Erweiterungen können über die GPIO-Pins mit dem Banana Pi verbunden werden. Der Pin-Header soll nach mehrfachen Vermutungen in Internet kompatibel mit dem des Raspberry Pi sein. Ich denke das dies zutrifft, jedoch werden die entsprechenden Softwaremodule wie zum Beispiel wiringPi oder RPi.GPIO noch nicht unterstützt laut Raspi.TV.

Shields und Zusatzplatinen kompatibel?

Da der Pin-Header genauso wie der des Raspberry Pi sein soll, können aus dieser Sicht Shields und andere Zusatzplatinen mit dem Banana Pi verwendet werden. Jedoch ist die Platine des Banana Pi mit den Maßen 92 mm × 60mm etwas größer als der britische Pi. Besonders auffallend ist die anders positionierte Ethernet-Buchse.

Im Detail bedeutet das, dass viele zusätzliche Platinen auf Grund der anderen Platinenmaße nicht optimal auf den Banana Pi aufgesteckt werden können. Dies sollte unbedingt vorher geprüft werden. Abhilfe schaffen kann man sich mit einer verlängerten Buchsenleiste. Dadurch steigt der Abstand zwischen Banana Pi und Shield / Zusatzplatine und die bisher ungüstigen Platinenmaße spielen keine Rolle mehr.

Zusammenfassung

Der Banana Pi bringt gegenüber dem Raspberry Pi in Sachen Schnittstellen und Leistung einiges mehr mit. Jedoch exisitieren noch einige Schwachstellen bzw. sind einige Aspekte noch nicht ausgereift:

  • Gehäuse von Raspberry Pi inkompatibel
  • eine SD-Karte kann nicht im Banana Pi und Raspberry Pi gleichzeitig verwendet werden
  • Software für wiringPi / RPi.GPIO noch nicht unterstützt
  • Shields und Zusatzplatinen vom Raspberry Pi gegebenfall mechanisch inkompatibel

Für die Bastler unter euch die vorwiegend mit Phython oder C/C++ die GPIO-Pins ansteuern, schalten und auswerten ist nach wie vor der Raspberry Pi die erste Wahl.

Insgesamt steckt in dem Banana Pi eine Menge Potential, welches mit der Zeit noch ausgeschöpft werden kann. Da der Mini-Computer open-source ist folgen mit der Zeit bestimmt die notwendigen Erweiterungen.

Ich werde versuchen den aktuellen Stand im Auge zu behalten und euch hier über Neuerungen informieren. Genauso gerne hoffe ich auf euer Feedback, eure Informationen und möchte in den Kommentaren zur Diskussion anregen.

Quellen: raspi.tv, pi3g.com

Weiterlesen

Banana Pi: Eine leistungsstarke Raspberry Pi Alternative

Der Banana Pi ist ein open-source Einplatinencomputer und wurde von der chinesischen Bildungsinitiative Lemaker.org entwickelt.

Verglichen mit dem Raspberry Pi bietet der Banana Pi eine attraktive Alternative mit leistungsfähigerem Prozessor, mehr Arbeitsspeicher und einer schnelleren Ethernet-Schnittstelle. Für rund 80 Euro ist der Mini-Rechner bei deutschen Händlern zu erwerben.

Trotz der Namensverwandtschaften ist der Banana Pi kein offizieller Nachfolger des britischen Raspberry Pi.

Banana Pi Front
Banana Pi Vorderansicht
Der Banana Pi ist mit einem ARM Cortex-A7 Dual-Core Prozessor ausgestattet und arbeitet im 1 GHz Takt. Im Vergleich zu dem im Raspberry Pi verbautem Broadcom-Chip BCM2835 mit 700 MHz ist dieser deutlich leistungsfähiger.

Auch in Sachen Arbeitsspeicher und Grafik bietet der Banana Pi mit 1 GByte RAM und dem integrierten Mali-400-Chip wesentlich mehr. Die Netzwerkanbindung unterstützt eine Datenrate von 1 GBit/s. An den Schnittstellen hat sich auch einiges getan: Wie der Raspberry Pi, verfügt der Banana Pi über zwei USB 2.0 Anschlüsse, eine Audiobuchse, einem SD-Kartenslot, HDMI- und AV-Video-Ausgang. Neu dazugekommen ist eine SATA-Schnittstelle für eine entsprechend kompatible Festplatte, ein Infrarot-Empfänger, als auch eine CSI Connector für ein Kameramodul.

Auf dem Board befindet sich eine LED-Anzeige für Power- und Netzwerkstatus (rot und blau). Eine weitere grüne LED kann vom Benutzer selbst definiert werden. Mit 92mm x 60mm ist der Banana Pi etwas größer als der britische Einplatinencomputer. Im nachfolgenden werden alle Hardware-Speifikationen des Banana Pi aufgelistet und mit dem Raspberry Pi gegenübergestellt.

Banana Pi und Raspberry Pi im Vergleich

 Banana PiRaspberry Pi Model B+Banana Pro
ProzessorA20 ARM Cortex-A7 Dual-Core , 1 GHzARM1176JZF-S,
700 MHz
A20 ARM Cortex-A7 Dual-Core , 1 GHz
GrafikARM Mali400MP2Broadcom VideoCore IVARM Mali400MP2
Arbeitsspeicher1GB DDR3 SDRAM512 MB SDRAM1GB DDR3 SDRAM
Stromversorgung5 Volt MicroUSB5 Volt MicroUSB5 Volt MicroUSB
USB 2.0
Anschlüsse
242 + 1 Mikro USB OTG
Netzwerk10/100/1000 MBit Ethernet10/100 MBit Ethernet10/100/1000 MBit Ethernet

WLAn 802.11b/g/n
SpeicherSD/MMC-Kartenslot
(max. 64 GB)

SATA (max. 2TB)
SD/MMC-Kartenslot
(max. 128 GB)
Mikro-SD-Kartenslot

SATA 2.0
VideoausgabeHDMI, CVBS , LVDS/RGB, Composite VideoHDMI, S-VideoHDMI, CVBS , LVDS/RGB,
Composite Video via 3,5 mm Klinke
AudioausgangHDMI, 3,5 mm KlinkeHDMI, 3,5 mm KlinkeHDMI, 3,5 mm Klinke
AudioeingangMikrofon-Mikrofon
GPIO-Pins26 GPIO Pins

UART, I2C, SPI, CAN-Bus, ADC, PWM
40 GPIO Pins

SPI, I2C, UART
40 GPIO Pins

UART, I2C, SPI, PWM, CAN, I2S, SPDIF, LRADC, ADC, LINE-IN,FM-IN,HP-IN
Weitere SchnittstellenInfrarot-Empfänger

CSI Connector für Kameramodul
-Infrarot-Empfänger

CSI Connector für Kameramodul
LEDPower Status LED (rot)

Netzwerk Status LED (blau)

Benutzerdefinierte LED (grün)
Power Status LED

Netzwerk Status LEDs
LED-Anzeige für Netzwerk und Power
ButtonsReset, Power, UBoot-Reset, Power, UBoot

Wo kann man den Banana Pi kaufen?

Am besten kauft man den Banana Pi ganz bequem im Internet und lässt ihn zu sich nach Hause kommen.

Im Internet findet man eine große Auswahl an Pi´s und viele günstige Angebote. Ich empfehle den Shop von Amazon: Neben dem Banana Pi gibt es dort eine Reihe an Zubehör wie Gehäuse, USB-Peripheriegeräte, als auch Shields und Zusatzmodule.

Betriebssysteme für den Banana Pi

Neben den Betriebssystemen für ein Mediacenter laufen laut lemaker.org die Systeme Android, Android 4.4, Debian und Ubuntu.

Ein Betriebssystem eurer Wahl muss anschließend auf eine SD-Karte kopiert werden. Wie man eine SD-Karte vorbereitet und das Betriebssystem aufspielt wird am Beispiel Raspbian, das meistgenutzten Systems basierend auf Debian, hier vorgestellt. Die Installation für den Banana Pi erfolgt analog wie zur Installation unter dem Rapberry Pi.

Weiterlesen