Banana Pi: Minecraft Server installieren

Mincraft ist eines der beliebtesten Spiele. Trotz der einfachen und verhaltenen Grafik überzeugt das Spiel durch viele Freiheiten. Jeder Spieler kann somit seine individuelle Spielatmosphäre gestalten. In diesem Tutorial wird gezeigt, wie man auf seinem Banana Pi einen eigenen Minecraft Server für zu Hause aufsetzt.

Zunächst überprüfen wir unser System auf Updates (optional) und installieren den Fenstermanager screen. Diesen benötigen wir zu einem späteren Zeitpunkt während der Mincraft Server Installation.

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install screen

Im nächsten Schritt laden wir uns mit wget den Minecraft Server (MCServer) herunter. Dieser ist in der Programmbiersprache C++ geschrieben und für Systeme mit ARM-Prozessoren vorkompiliert. Der bei wget angegebene Link bezieht sich immer auf die aktuellste Version des MCServers. Nach dem Download wird das Archiv entpackt und um Speicherplatz zu sparen anschließend wieder gelöscht.

wget http://builds.cuberite.org/job/MCServer%20Linux%20armhf/lastSuccessfulBuild/artifact/MCServer/MCServer.tar

tar -xvf MCServer.tar
rm MCServer.tar

Bevor wir den Server erstmalig starten, installieren wir noch eine aktuellere Version des g++ Compilers, damit die Serversoftware fehlerfrei komipiliert und gestartet werden kann.

sudo apt-get install g++-4.8

Als nächstes starten wir den Minecraft Server erstmalig. Dabei sollten einige Fehlermeldungen auftauchen. Grund dafür ist, dass der Software die zum Start notwendigen Konfigurationsdateien fehlen. Durch den ersten Start werden diese aber angelegt und gleichzeitig eine erste Minecraft Welt erzeugt. Ist der Vorgang abgeschlossen können wir den Server mit der Tastenkombination Strg + C wieder beenden.

cd MCServer
./MCServer

Der MCServer bringt neben dem Gameserver auch ein eigenes, passwortgeschütztes Webinterface mit. Die Standard-Logindaten lauten admin / admin und sind in der Konfigurationsdatei webadmin.ini festgelegt. Diese Datei wurde durch den vorherigen Schritt erzeugt. Zur Anpassung der Logindaten an einen benutzerdefinierten Benutzer / Passwort bearbeiten wir die genannte Konfigurationsdatei.

sudo nano webadmin.ini

Innerhalb dieser Datei finden wir folgenden auskommentierten Part:

; [User:admin]
; Password=admin

Diesen ersetzen wir durch unsere benutzerdefinierten Zugangsdaten Benutzername und Passwort. Die Anmeldeinformationen sollten natürlich individuell angepasst werden. Anschließend kann die Datei gespeichert und geschlossen werden.

[User:Benutzername]
Password=Passwort

Abschließend können wir den Minecraft Server mit dem zu beginn installiertem Tool screen starten. Der MCServer wird dabei in einer eigenständigen Screen-Instanz gestartet und läuft dauerhaft.

screen -dmS MCServer ./MCServer

Minecraft Server Webinterface

Screenshot MCServer Webinterface
Screenshot MCServer Webinterface

Das Webinterface vom Minecraft Server kann unter der IP-Adresse eures Pis und Port 8080 aufgerufen werden, also http://IP-BPi:8080/. Mit den zuvor festgelegten Zugangsdaten kann man sich über den Button WebAdmin Login anmelden. Innerhalb des Webinterfaces können anschliend diverse Servereinstellungen vorgenommen werden. Damit die Einstellungen aktiv werden, muss der MCServer neugestartet werden. Dies wird mit folgendem Befehl realisiert.

screen -S MCServer -X stuff "stop\n" && sleep 30 && screen -dmS MCServer ~/MCServer/MCServer

Der Vorgang dauert etwa eine Minute, da bei Beendigung des Servers die aktuelle Welt abgespeichert wird.

Minecraft Server Cronjob

Solltet ihr euren Einplatinencomputer regelmäßig als Minecraft Server verwenden, dann bietet es sich an diesen automatisch starten zu lassen mit Hilfe eines Cronjobs.

crontab -e

Am Ende der Crontab Datei fügen wir dazu folgenden Inhalt ein:

@reboot cd ~/MCServer/ && screen -dmS MCServer ./MCServer

Das wars auch schon! Damit ist euer Pi ein vollwertiger Minecraft Server für 2 bis 5 Leute, je nach Servereinstellungen.

Quelle: Jan Karres

Weiterlesen

Bananian Linux 15.01: Unterstützt Banana Pi, Banana Pro und BPi-R1

Mit Beginn des neuen Jahres ist eine neue Version von Bananian Linux veröffentlicht wurden. Die Version 15.01 bringt einige Neuerungen und Bugfixes mit sich. Außerdem unterstützt das Update mit einem Image die Systeme Banana Pi, Banana Pro und das Routerboard BPi-R1. Mehr Informationen dazu unter https://www.bananian.org/hardware.



Folgende Neuerungen sind in Bananian Linux 15.01 zu verzeichnen.

  • Vollständige Hardware-Unterstützung für den Banana Pro
  • Vollständige Hardware-Unterstützung für das Routerboard BPi-R1
  • Neues Hardware-Konfigurationstool: bananian-hardware
  • Standardmäßig installierte Pakete: wireless-tools, wpasupplicant, iw, usbutils
  • Fex-Tools implementiert (bin2fex und fex2bin)
  • 8021q VLAN Modul aktiviert (nicht konfiguriert)

Alle Änderungen im Detail findet man im Changelog von Bananian Linux:
https://dev.bananian.org/changelog_page.php?version_id=11

Bananian Linux steht nun in der Version 15.01 zum Download auf der Entwicklerwebseite bereit. Wer momentan schon Bananian Linux in einer früheren Version installiert hat, kann mit dem Befehl bananian-update auf die aktuelle Version updaten.

Solltet ihr noch Bananian Linux in der Version 14.08 verwenden, dann findet ihr unter https://www.bananian.org/upgrade alle Informationen zum Update auf die neuste Version.

Bananian Linux ist ein vorinstalliertes Debian 7 (wheezy) Image, dass speziell für den Banana Pi optimiert wurde. Das System verwendet die von Debian wheezy bereitgestellten ARMhf Repositorien, ist aber nicht von Raspbian abhängig. Sowohl der Kernel, als auch der Bootloader (u-boot) sind an den Pi angepasst.

Mit Bananian fokussieren die Entwickler ein minimal gehaltenes System, dass sich durch einen einfachen Unterbau, eine gute Performance und maximale Sicherheit auszeichnet. Dadurch können Ressourcen effizienter für Anwendungen eingesetzt werden.

Insgesamt bildet das OS eine solide Grundlage für einen Server im Heimnetzwerk, ownCloud und diverse weitere Anwendungen.

Weiterlesen

Banana Pro: Raspberry Pi Alternative mit WLAN

Der im März 2014 erschienen Banana Pi ist gegenüber dem Raspberry Pi eine leistungsstärkerer Einplatinencomputer. Nur 7 Monate später hat die chinesische Bildungsinitiative LeMaker eine überarbeitete Version namens Banana Pro angekündigt und veröffentlicht. Das neue Board bringt im Vergleich zum britischen Pi, als auch gegenüber seinem Vorgänger einige interessante Features mit.

Banana Pro (Foto: lemaker.org)
Banana Pro (Foto: lemaker.org)

Die Hardware im Detail

Der Banana Pro ist mit einem ARM Cortex-A7 Dual-Core Prozessor ausgestattet und arbeitet wie der Banana Pi 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 Pro mit 1 GByte RAM und dem integrierten Mali-400-Chip wesentlich mehr. Die Netzwerkanbindung unterstützt eine Datenrate von 1 GBit/s.

An den Anschluss- und Kommunikationsmöglichkeiten sind beim Banana Pro gegenüber dem Banana Pi einige Neuerungen zu verzeichnen: Der Banana Pro bietet neben der Ethernetschnittstelle ein WLAN-Modul on Board und unterstützt den IEEE Standard 802.11b/g/n. Eine Bluetooth Verbindung ist nach wie vor optional.

Weiterhin wurde der SD-Kartenslot durch einen Mikro-SD-Kartenslot abgelöst und das headerlayout von 26 Pins auf 40 Pins erhöht. Damit hat der Banana Pro den gleichen Pin-Header wie der Raspberry Pi im Modell B+. Mit den bereitstehenden 40 Pins lassen sich 28 als GPIOs nutzen und unterstützen Funktionen wie UART, I2C, SPI, PWM, CAN, I2S, S/PDIF, LRADC, ADC, Line-in, FM-in und HP-in.

Wie auch schon beim Banana Pi ferfügt der Banana Pro über zwei USB 2.0 Anschlüsse, einen Mikro-USB- und USB 2.0 OTG-Port, eine Audiobuchse, HDMI- und AV-Video-Ausgang und eine SATA 2.0-Schnittstelle für eine entsprechend kompatible Festplatte.

Außerdem ist ein Infrarot-Empfänger, ein CSI Connector für ein Kameramodul, On-Board Mikrofon und eine TTL-Schnittstelle zum Debuggen auf dem Einplatinencomputer untergebracht. Auf dem Board befindet sich eine LED-Anzeige für Power- und Netzwerkstatus. Mit 92mm x 60mm ist der Banana Pro etwas größer als der Raspberry Pi.

Banana Pro, 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 Pro kaufen?

Bananian Linux Version 14.11 veröffentlicht

Auf der Webseite von Bananian Linux wurde kürzlich die Version 14.11 des leichtgewichtigen Betriebssystems veröffentlicht. Neben einigen Verbesserungen und Bugfixes fand ein Update des Kernels auf Version 3.4.104 statt. Alle weiteren Verbesserungen sind in der folgenden Übersicht zusammengefasst.

Bananian Linux Logo, Foto: bananian.org
Bananian Linux Logo, Foto: bananian.org
  • Update des Linux Kernels auf Version 3.4.104
  • Verbesserung der Fex Konfiguration: Einige Geräte booteten nicht, wenn OTG aktiviert war
  • 2 neue Shellfunktionen zum Auslesen der Thermosensoren vom A20 SoC und der AXP209 PMU
  • Fehler in der übermäßigen VLAN Protokollierung wurde behoben
  • CONFIG_FHANDLE=y zur Kernel-Konfiguration hinzugefügt (notwendig für Debian 8/Jessie)
  • Hardware Modul Watchdog hinzugefügt
  • Unterstützung von Banana Pro und OLinuXIno-LIME2 (https://www.bananian.org/hardware)

Alle Neuerungen im Detail findet man hier:
https://dev.bananian.org/changelog_page.php?version_id=6

Bananian Linux steht nun in der Version 14.11 zum Download auf der Entwicklerwebseite bereit. Wer momentan schon Bananian Linux in der Version 14.09 installiert hat, kann mit dem Befehl bananian-update auf die aktuelle Version updaten.

Solltet ihr noch Bananian Linux in der Version 14.08 verwenden, dann findet ihr unter https://www.bananian.org/upgrade alle Informationen zum Update auf die neuste Version.

Bananian Linux ist ein vorinstalliertes Debian 7 (wheezy) Image, dass speziell für den Banana Pi optimiert wurde. Das System verwendet die von Debian wheezy bereitgestellten ARMhf Repositorien, ist aber nicht von Raspbian abhängig. Sowohl der Kernel, als auch der Bootloader (u-boot) sind an den Pi angepasst.

Mit Bananian fokussieren die Entwickler ein minimal gehaltenes System, dass sich durch einen einfachen Unterbau, eine gute Performance und maximale Sicherheit auszeichnet. Dadurch können Ressourcen effizienter für Anwendungen eingesetzt werden.

Insgesamt bildet das OS eine solide Grundlage für einen Server im Heimnetzwerk, ownCloud und diverse weitere Anwendungen.

Weiterlesen

Die eigene Cloud mit Owncloud

Die Realisierung einer eigenen Cloud und netzwerkbasierter Dateiverwaltung ist einer der beliebtesten Anwendungsgebiete des Banana Pi. In diesem Tutorial erkläre ich wie man die Cloud-Software Owncloud installiert und einrichtet. Der Vorteil von Owncloud ist die einfache Steuerung und Verwaltung über ein Webinterface. Das bedeutet weiterhin, dass die Software lediglich einen Webserver deiner Wahl benötigt um installiert zu werden.

Vorbereitung

Bevor wir Owncloud einrichten können müssen wir zunächst einen Webserver installieren. Für dieses Tutorial entscheide ich mich für den Apache Webserver. Alternativ sind auch Serversysteme nginx und lighttpd empfehlenswert, da diese etwas ressourcenschonender sind.

Webserver mit Apache, PHP und SQLite3

Die Installation von Apache, PHP5 und MySQL habe ich bereits hier anhand des Raspberry Pi beschrieben. Die Installation ist unter dem Banana Pi analog. Anstatt eines Datenbanksystems mit MySQL empfehle ich die Verwendung von SQLite. SQLite benötigt wesentlich weniger Rechenleistung und erfüllt den Zweck für unser Vorhaben voll und ganz. Alle einzelnen Schritte zur Installation von Apache, PHP und SQLite werden im Folgenden erklärt.

sudo apt-get install apache2
sudo apt-get install php-apc php5-sqlite sqlite3

Neben SQLite3 als Datenbank installieren wir php-apc für ein simples Caching.

Webserver konfigurieren

Bevor wir mit der eigentlichen Installation von Owncloud beginnen, müssen wir den Webserver konfigurieren damit Owncloud läuft und auch mit großen Dateien umgehen kann. Dazu öffnen wir die Verzeichniskonfiguration von Apache.

sudo nano /etc/apache2/sites-enabled/000-default

Apache2 Config - Screenshot Raspbian (Banana Pi)
Apache2 Config – Screenshot Raspbian (Banana Pi)

In der Konfiguration ändern wir unter dem Verzeichnis (Directory) /var/www/ den Punkt AllowOverride None zu AllowOverride All. Mit der Tatenkombination Strg+O und Strg+X speichern und schließen wir die Konfigurationsdatei.

Anschließend konfigurieren wir PHP so, dass der Webserver auch größere Dateien mit Owncloud speichern und verarbeiten kann. Hierfür setzen wir die maximale Uploadgröße einer Datei und die maximale Größe einer Postanfrage auf 1024 MB. Wir öffnen die PHP-Konfiguration php.ini .

sudo nano /etc/php5/fpm/php.ini

Innerhalb der Datei ersetzen wir die Zeilen

upload_max_filesize = 2M
post_max_size = 8M

durch die folgenden:

upload_max_filesize = 1024M
post_max_size = 1024M

Wem 1024 MB als maximale Uploadgröße nicht genügen sollte kann natürlich noch höher raufgehen, zum Beispiel 2G bzw. 2048M (2 Gigabyte).

Abschließend löschen wir die von der Apache-Installation generierte index.html , aktivieren Htaccess und starten den Apache neu. Mit letzterem werden alle vorgenommenen Einstellungen aktiv.

sudo rm /var/www/index.html
sudo a2enmod rewrite
sudo a2enmod headers
sudo /etc/init.d/apache2 restart

Owncloud herunterladen und installieren

Bevor wir Owncloud herunterladen wechseln wir in das Verzeichnis des Webservers /var/www, in welchem die Webskripte abgelegt werden. Anschließend laden wir Owncloud herunter und entpacken das Archiv. Die entpackten Dateien liegen anschließend im Ordner bzw. Verzeichnis /var/www/owncloud. Damit Owncloud nachher direkt durch die IP-Adresse oder Domain erreichbar ist (ohne Ordnerangabe), verschieben wir den Inhalt des Owncloud-Verzeichnisses in das Wurzelverzeich der Webskripte /var/www.

cd /var/www
wget http://download.owncloud.org/community/owncloud-5.0.0.tar.bz2
tar xvf owncloud-5.0.0.tar.bz2
mv owncloud/* /var/www
mv owncloud/.htaccess /var/www

Optional kann das heruntegeladene Archiv von Owncloud gelöscht werden. Dieses wird ab jetzt nicht mehr benötigt.

rm -rf owncloud owncloud-5.0.0.tar.bz2

Jetzt vergeben wir noch die entsprechenden Recht: Die Eigentümerschaft von Owncloud übergeben wir an root. Anschließend muss der Server neugestartet werden.

chown -R www-data:www-data /var/www
/etc/init.d/apache2 restart

Owncloud einrichten und konfigurieren

Owncloud ist nun bereit für die erste Verwendung. Dazu rufen wir im Browser die IP-Adresse oder Domain des Banana Pis auf. Bei ersten Aufrufen von Owncloud müssen wir den ersten Benutzer anlegen. Außerdem haben wir die Möglichkeit ein Verzeichnis zu definieren, indem die Clouddaten abgespeichert werden. Da wir SQLite als Datenbank verwenden, benötigen wir keine Verbindungsdaten zur Datenbank.

Die Anleitung funktionier sowohl auf Raspbian als auch auf Bananian Linux.

Screenshot ownCloud
Screenshot ownCloud

Quellen (Stand: 10.11.14): forum-bananapi.de

Weiterlesen

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

Interview mit Noah Brandt: Banana Pi Forum

Heute im Interview ist Noah Brandt, der Betreiber des deutschprachigen Banana Pi Forums. Thema des Interviews ist die Entstehung, Entwicklung und Zukunft des Forums. Dabei stehen die Entwicklung der Besucheraktivitäten, das Feedback der Community und weitere kleine Projekte rund um das Hilfeforum im Vordergrund. Zu Beginn möchte ich mich gleich im Voraus bei Noah Brandt für die Beantwortung meiner Fragen bedanken!

Screenshot forum-bananapi.de
Screenshot forum-bananapi.de

Wodurch wurde dein Interesse für den Banana Pi geweckt?

Zunächst bin ich durch Zufall im Netz auf den Banana Pi gestoßen und war total begeistert: Ein Raspberry Pi mit doppelter Leistung, dass fand ich super!

Wofür verwendest du deinen Banana Pi?

Ich habe momentan 2 Banana Pis mit denen ich viel bastel und ganz verschiedene Sachen ausprobiere. Außerdem arbeite ich derzeit an einem XBMC auf Android der über ein Banana Pi NAS Filme streamt.

Wie kam es zum Banana Pi Forum?

Zu der Idee kam ich, weil ich darin eine Marktlücke sah und den Banana Pi auch in Deutschland bekannt machen will! Mein Ziel ist es eine große deutschsprachige Community aufzubauen. Insgesamt sehe ich im Banana Pi einfach eine größere Chancen als im Raspberry Pi. Wer weiß aber wie das 2017 schon wieder aussieht, wenn es den neuen Raspi gibt.

Wie groß ist das Interesse und die Aktivität der Nutzer im Forum?

Momentan sind im Banana Pi Forum schon über 100 Mitglieder registriert. Davon lesen und schreiben schätzungsweise 70 bzw. 35 Nutzer regelmäßig. Die Aktivität hält sich also noch in Grenzen, steigt aber kontinuierlich an.

Neben dem Forum betreibst du einen Blog: Gibt es noch weitere Projekte die du im Zusammenhang mit dem
Banana Pi Forum betreibst?

Na klar! Da wäre zunächst mein Blog, in dem ich so ziemlich über alles schreibe. Großtenteils beschäftige ich mich in den Artikeln mit den Themen Banana und Raspberry Pi.

Weiterhin betreibe ich testweise einen eigenen Link Shortener über den ich in Zukunft alle Links im Forum nach außen laufen lassen möchte. Die Dienste Twitter und Co. handhaben das ähnlich.

Um Blogger für den Banana Pi zu begeistern und sie mit Klicks „anzulocken“ betreibe ich noch einen News Aggregator. Im Prinzip handelt es sich dabei um ein System wie Raspifeed, nur für den Banana Pi.

Zu guter Letzt habe ich einen Image Mirror aufgesetzt. Dadurch können Anwender ihre Betriebsysteme auch von einem deutschen zuverlässigen Server herunterladen.

Welches Feedback erlangt dein Projekt von der Community?

Viele sind sehr froh das es endlich eine deutsche Community gibt in der man Fragen stellen. Über einnen Foren-internen Teamspeck Server stehe ich, wenn es die Zeit zulässt, ebenfalls gerne bereit um zu helfen! Insgesamt ist das Feedback von sehr positiver Natur.

Wo soll das Banana Pi Forum in der Zukunft stehen?

Wünschenswert wäre es, wenn das deutschsprachige Banana Pi Forum immer weiter wächst und die erste Anlaufstelle für Fragen und Tutorials ist. Dazu gehört auch ein gutes Ranking bei Google und Co. Dazu muss ich allerdings auch sagen, dass ich merke das die Community nicht so schnell wächst wie die vom Raspberry Pi. Außerdem gibt es natürlich immer wieder das Problem das manche Themen acht Mal gefragt werden, wodurch man dann im Ranking wegen doppeltem Content wieder abgestuft wird.

Wir tun jedoch wirklich alles um der Community zu helfen. Dazu kommt nun auch noch ein Thread mit häufig gestellten Fragen, der denke ich sehr hilfreich sein kann: http://forum-bananapi.de/Thread-FAQ

Besteht eine Zusammenarbeit mit anderen Bloggern, Vertriebsunternehmen oder LeMaker?

Ich arbeite daran! Mit LeMaker besteht bereits eine Partnerschaft, die ich hoffentlich soweit ausbauen kann, bis wir offizielles deutsches LeMaker Forum sind.

Auf Werbepartner-Suche sind wir ebenfalls. Nur schon mal als Vorwarnung: Sollten Wir genug Sponsoren zusammen bekommen, werden bald ein paar kostenlose Banana Pis verlost! 😉

Was machst du, wenn du nicht gerade im Forum unterwegs bist?

Dann lerne ich für die Schule! Nebenbei mache ich nämlich auch noch Abitur, um dann natürlich Informatik zu studieren.

Schlusswort

Anhand des Interviews und den Informationen von Noah Brandt ist zu erkennen, dass das Interesse an einer deutschsprachigen Community durchaus da ist. Die steigende Aktivität im Banana Pi Forum unterstützt diese Aussage. Ich bedanke mich bei Noah Brandt an der Teilnahme am Interviewund hoffe weiterhin auf eine gute Zusammenarbeit!

Da Interview wurde ebenfalls auf Einplatinencomputer veröffentlicht.

Weiterlesen

Interview mit Bananian Linux Entwickler Nico Isenbeck

Bananian Linux Logo, Foto: bananian.org

Das Interview mit Nico Isenbeck, dem Projektleiter von Bananian Linux, ist der Start in eine neue Artikelserie. Thema des Interviews ist die Entstehung, Entwicklung und Zukunft von Bananian Linux. Dabei steht der aktuelle Release und das Feedback der Community im Vordergrund. Zu Beginn möchte ich mich gleich im Voraus bei Nico Isenbeck für die Beantwortung meiner Fragen bedanken!

Wie kam es zu Bananian Linux?

Ich habe bereits seit einigen Jahren einen Raspberry Pi als „Miniserver“ im Einsatz aber leider ist die Performance des RasPi dafür nicht mehr ausreichend und daher habe ich mich nach einer Alternative umgesehen, die etwas mehr Performance bietet aber dennoch wenig Strom verbraucht. So bin ich dann zu meinem ersten Banana Pi gekommen.
Nachdem der Banana Pi beschafft war, musste ich leider feststellen, dass keines der angebotenen Images meine Anforderungen an ein performantes, Debian basiertes Minimalsystem ohne grafische Oberfläche erfüllt. Da LeMaker die Kernel Sourcecodes auf GitHub veröffentlicht hat, habe ich mir dann einen Kernel und ein U-Boot kompiliert und drumherum ein Debian System nach meinen Anforderungen erstellt. Als es dann fertig war, erzählte ich einen Freund davon und der fragte sofort: „Warum veröffentlichst du das nicht?“ Ja, warum eigentlich nicht?

Also noch schnell ein Config-Tool (bananian-config) runtergehackt, eine kleine Webseite erstellt und fertig war Bananian Linux 14.08!

Wofür verwendest du deinen „Miniserver“ auf Basis des Banana Pi?

Der Banana Pi erfüllt bei mir die folgenden Aufgaben:

  • IPv6 Terminierung (6in4 Tunnel)
  • IPv6 Router (radvd)
  • WLAN Access Point (hostapd)
  • Monitoring System auf Basis von OMD/Nagios/check_mk (siehe auch https://www.bananian.org/omd)
  • Backup meines Smartphones über WLAN mit rsync

Was machst du, wenn du nicht gerade an Bananian Linux arbeitest?

Beruflich bin ich Systemadministrator bei einem kleinen Internetprovider und IT-Dienstleister in Hamburg. Dort verbringe ich rund 90 % der Arbeitszeit in der Linux Konsole und ab und an muss ich mich auch mal mit den Problemen der Windows Endanwender herumschlagen.

Aktuell liegt Bananian Linux in der Version 14.09 vor (Released 18.9.2014). Welche Neuerungen und Funktionalitäten umfasst die aktuelle Version von Bananian Linux?

Wie oben schon angedeutet war das erste Release von Bananian (14.08) eine mehr oder weniger spontane Aktion und ich hätte niemals mit so einem Erfolg gerechnet. Leider gab es auch noch einige schwerwiegende Bugs und Unschönheiten, die mit dem aktuellen Release geradegezogen wurden.
Die Details kann jeder im Changelog unter https://www.bananian.org/changelog nachlesen. Hier nur ein paar Details:

  • Bananian setzt nur noch eine 2 GB große SD Karte voraus. (vorher 4 GB)
  • der neue Kernel bringt viele interessante Details wie z.B. den Temperatursensor
  • der USB OTG Port ist standardmäßig aktiviert
  • der für die Grafikbeschleunigung reservierte Speicher ist freigegeben, so dass man ca. 970 MB des Arbeitsspeichers auch wirklich nutzen kann
  • die CPU taktet sich dynamisch zwischen 600 und 1000 Mhz

Welche Neuerungen kommen mit dem nächsten Release und wann erscheint dieser?

Das nächste Release wird ein Minor Update sein und die Versionsnummer 14.09 r2 tragen.
Nach derzeitigem Plan wird dies ein reines Kernel Update auf Version 3.4.103.
Die Kernel Konfiguration wird sich in diesem Zuge ebenfalls etwas verändern:
Das Dateisystem XFS wird Einzug halten und VLAN Logging deaktiviert.
Den „Allwinner Security System Cryptographic Accelerator“ hoffe ich auch bereits im nächsten Release unterstützen zu können. Dieser bietet Hardwarebeschleunigung für diverse Cryptofunktionen, unter anderem SSH. Das Release ist für Ende Oktober/Anfang November geplant. Bestehende Installationen lassen sich bequem über bananian-update aktualisieren.

Wie sieht die Roadmap langfristig aus und wo steht Bananian Linux in der Zukunft?

Ob es dieses Jahr noch ein weiteres Major Update geben wird, vermag ich derzeit noch nicht zu sagen. Die Community ist aber sehr aktiv und bringt jede Menge Verbesserungsvorschläge ein. Daher kann ich zu diesem Zeitpunkt auch noch keine verbindliche Aussage dazu treffen.

Ihr seid alle aufgefordert euch daran zu beteiligen!
Das offizielle Forum, gehostet von LeMaker, ist der richtige Ort dafür. Wer mir persönlich etwas mitteilen möchte, findet dazu auf der offiziellen Projektwebseite die nötigen Kontaktinformationen.

Zwei Dinge werden sicher Einzug in das nächste Release finden:
Das ext4 Journaling auf der SD Karte wird deaktiviert (verlängert die Lebensdauer der Karte) und es wird ein Bananian apt Repository geben, über das die Bananian Pakete und Updates verteilt werden.

Inwieweit arbeitest du mit den Banana Pi Machern von lemaker.org zusammen?

Bananian Linux ist ein offizieller Partner von LeMaker und ich werde mit Informationen und Hardware-Samples versorgt. Eine finanzielle Unterstützung erfolgt nicht, Bananian ist eine herstellerunabhängige Distribution. Einzig die Community und in letzter Instanz das Bananian Team entscheidet, wohin die Reise geht. Ich lege auch sehr viel Wert darauf, dass dies so bleibt.

Ist es möglich / erdenklich, dass Bananian Linux zu einem späteren Zeitpunkt auf anderen Einplatinencomputern läuft?

Grundsätzlich ja. Insbesondere weitere Allwinner A20 Systeme würden sich dafür anbieten. Derzeit gibt es aber weder Pläne noch irgendwelche Tests in diese Richtung. Wir haben derzeit mit dem Banana Pi schon genug zu tun.

Welches Feedback erlangt Bananian Linux gegenwärtig von der Community?

Die Community ist mittlerweile recht aktiv. Leider ist dies von außen nicht unbedingt ersichtlich, da sich die Aktivitäten über mehrere Bereiche verteilen. Da wäre zum einen das LeMaker Forum, der Bugtracker und unsere E-Mail Adresse, über die sehr viel Feedback reinkommt.

Welche Thematiken werden zur Zeit primär von den Bananian Linux Anwendern erfragt / angesprochen?

Interessanterweise fragen viele Anwender nach eine grafischen Oberfläche. Ich kann hier aber direkt klarstellen, dass Bananian keine grafische Oberfläche erhalten wird. Bananian ist primär eine Serverdistribution und für den Headless Betrieb ausgelegt. Wer es dennoch als Desktop OS nutzen möchte, kann dies gerne tun und sich ein Desktop Environment nach Wunsch installieren.
Die folgende Seite ist ein hervorragender Einstiegspunkt in das Thema: https://wiki.debian.org/DesktopEnvironment

Angefragt wird zudem ein Image auf Debian 8 „Jessie“ Basis. Nach dem offiziellen Jessie Release wird selbstverständlich auch Bananian Linux aktualisiert und Jessie als Basis verwenden. Wer Jessie jetzt schon ausprobieren möchte, ändert die Paketquellen (sources.list) und macht ein dist-upgrade. Dies wird derzeit aber noch nicht empfohlen und passiert selbstverständlichauf eigenes Risiko.

Viel Ärger macht uns die Entscheidung den USB OTG Port standardmäßig zu aktivieren. Dadurch lässt sich dieser Port nicht mehr zum Stromversorgung nutzen. Leider ist vielen Anwendern nicht bewusst, dass es einen Unterschied zwischen den beiden Micro USB Ports gibt. Ein entsprechender Eintrag ist aber bereits in den FAQ enthalten.

Schlusswort

Anhand des Interviews und den Informationen von Nico Isenbeck werden die Vorteile von Bananian Linux als lightweight Betriebssystem für den Banana Pi verdeutlicht. Gerade wer den Pi als reines Serversystem nutzen möchte kann mit Bananian maximale Performance und Sicherheit herausholen. Mit diesem Interview steigen wir gleichzeitig in eine neue Artikelserie speziell zu Bananian Linux ein. Vielen Dank an Nico Isenbeck für die Beantwortung der Fragen und auf eine gute Zusammenarbeit.

Bild: Logo Bananian Linux (bananian.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

WLAN einrichten

Der Banana Pi kann bei zahlreiche Anwendungen, wie zum Beispiel ein eigener Webserver, eine eigene Cloud oder als Media Center zum Einsatz kommen. Für eine Verbindung ins eigene Netzwerk oder ins Internet muss oftmals ein Netzwerkkabel verlegt werden. Gerade dann, wenn der Pi beispielsweise hinter dem Fernseher oder ähnlichem stationiert ist, stellt sich das als Problem dar. Mit dem einrichten einer WLAN Verbindung findet man allerdings schnell einen kostengünstigen Ausweg.

Kürzlich habe ich mich mit diesem Thema auf dem Blog von Einplatinencomputer.com beschäftigt. Da die Einrichtung einer WLAN Verbindung beim Banana Pi prinzipiell gleich ist, möchte ich euch diese Informationen hier nicht vorenthalten.

Die Wahl des richtigen WLAN Sticks

Um eine WLAN Verbindung einzurichten benötigen wir zunächst natürlich erstmal einen passenden WLAN Stick. Die Auswahl an drahtlosen Sticks auf dem Markt ist groß. Je nach Stick kann die Einrichtung spielend einfach von der Hand gehen oder mit erheblichem Aufwand und Komplikationen verbunden sein. Ausschlaggebend sind die verschiedenen Chipsätze und die Kompatibilität von Treiber und Linux Kernel. Für den Banana Pi ist die Auswahl an WLAN Adaptern noch verhältnismäßig klein. WLAN Sticks, die mit den Treibern 8188cus, 8188cu und 8192 arbeiten laufen unter Raspbian, 8188eus, 8188eu und 8188tv laufen unter Android, soweit die Erfahrungen im Forum von lemaker.org.

Unter den Raspberry Pi Anwendern ist der WLAN Stick von Edimax meistens die erste Wahl. Dieser bringt eine Geschwindkeit von 150 MBit/s mit und arbeitet mit den genannten Treibern (Raspbian).


EDIMAX EW-7811UN Wireless USB Adapter, 150 Mbit/s, IEEE802.11b/g/n

Wenn wir unseren WLAN Stick an den Pi angeschlossen haben können wir direkt überprüfen ob dieser ordnungsgemäß erkannt wurde. Dazu geben wir folgenden Befehl in das Terminal ein.

dmesg

In der Ausgabe sehen wir, dass ein WLAN Adapter von Realtek gefunden wurde. Passend dazu der Treiber RTL8188CUS. Alternativ kann der Befehl lsusb zur Überprüfung genutzt werden. In der dazugehörigen Ausgabe sollten die gleichen Informationen wie mit dmesg ersichtlich werden.

lsusb

Gleichzeitig ist jetzt ein neues Netzwerk Device wlan0 vorhanden. Mit dem folgenden Befehl können wir uns alle Netzwerkschnittstellen anzeigen lassen.

ifconfig

Power Saving deaktivieren

Standardmäßig ist bei dem Edimax Stick eine Energiesparfunktion aktiviert. Das bedeutet, dass der Adapter bei Inaktivität die Netzwerkverbindung unterbricht. Diese Funktion kann durch anlegen einer Konfigurationsdatei deaktiviert werden, sodass die Verbindung dauerhaft gehalten wird. Dazu legen wir folgende Konfiguration an. Der Dateiname, in meinem Fall 8188cus.conf ist abhängig vom vorhandenen Treiber der mit dem Befehl lsusb mit angezeigt wurde und kann gegebenenfalls abweichen. Wenn das bei euch zutreffen sollte, dann einfach in den beiden folgenden Schritten die Eingabe anpassen.

sudo nano /etc/modprobe.d/8188cus.conf

Die Datei füllen wir mit dieser Zeile.

options 8188cus rtw_power_mgnt=0 rtw_enusbss=0

Anschließend speichern wir die Konfigurationsdatei ab und schließen sie mit der Tastenkombination Strg+X. Das Deaktivieren der Power Saving Funktion ist natürlich optional, aber dennoch empfehlenswert.

Verbindung zu einem WLAN Netzwerk herstellen

Um die verbindung mit einem WLAN Netzwerk herzustellen benötigen wir dessen Namen, also die SSID, als auch den WLAN Key. Solltet Ihr den Namen des Netzwerk mit dem Ihr euch verbinden wollt nicht genau wissen, dann suchen wir zunächst nach vorhandenen WLAN Netzwerken in der Umgebung.

iwlist wlan0 scan

In der Ausgabe sollte euer WLAN Netzwerk angezeigt sein, vorausgesetzt euer Pi befindet sich in dessen Reichweite.

Zum verbinden bearbeiten wir die Netzwerkkonfiguration. Dazu öffnen wir folgende Datei.

sudo nano /etc/network/interfaces

Die Einstellungen der WLAN Schnittstelle passen wir mit folgendem Inhalt an. Hierbei soll die Schnittstelle vorerst Ihre IP Adresse via DHCP zugewiesen bekommen.

auto lo

iface lo inet loopback
iface eth0 inet dhcp

auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-ap-scan 1
wpa-scan-ssid 1
wpa-ssid "NAME-WLAN-NETZWERK"
wpa-psk "WLAN-KEY"

Zwischen die Anführungszeichen muss einmal der Name, sprich die SSID, deines WLAN Netzwerkes angegeben werden, als auch der WLAN Schlüssel. Mit den Tastenkombinationen Strg+O und Strg+X speichern und schließen wir die Datei. Nachdem die Datei geschlossen wurde starten wir den Netzwerkdienst neu, damit dir Einstellungen wirksam werden.

sudo service networking restart

Das wars auch schon. Mit ifconfig könnt Ihr euch nochmal alle Netzwerkschnittstellen ausgeben lassen. Dabei werdet Ihr bemerken das dem wlan0 Device jetzt eine IP Adresse zugewiesen wurde. Der Raspi sollte jetzt via WLAN mit eurem Netzwerk verbunden sein.

WLAN Verbindung mit statischer IP Adresse

Wer den Banana Pi zum Beispiel als Server nutzt und diesen per WLAN an sein Netzwerk anbindet, für den ist es vorteilhaft wenn dieser immer unter der gleichen IP Adresse erreichbar ist. In dem letzten Abschnitt zeige ich euch, wir Ihr der WLAN Schnittstelle eine feste / statische IP Adresse zuweist.

Dazu müssen wir wieder die Netzwerkkonfiguration bearbeiten.

sudo nano /etc/network/interfaces

Den Inhalt passen wir jetzt wie folgt an.

auto lo

iface lo inet loopback
iface eth0 inet dhcp

auto wlan0
allow-hotplug wlan0
iface wlan0 inet static
address 192.168.2.3
netmask 255.255.255.0
gateway 192.168.2.1
wpa-ap-scan 1
wpa-scan-ssid 1
wpa-ssid "NAME-WLAN-NETZWERK"
wpa-psk "WLAN-KEY"

In der Zeile iface wlan0 inet static sagen wir, dass wir eine statische IP Adresse festlegen wollen. Weiterhin habe ich mit address, netmask und gateway meine gewünschten Netzwerkeinstellungen vorgenommen. Diese müsst Ihr individuell an euer Heimnetz anpassen.

Quellen (Stand:12.9.14): datenreise.de, tacticalcode.de, lemaker.org

Weiterlesen