Raspberry Pi
Last updated
Was this helpful?
Last updated
Was this helpful?
Elektronik-Kompendium
Hierbei handelt es sich um ein vollausgestattes Modell mit
4 USB-AnschlĂźsse
WLAN Modul
Ethernet Adapter
Kamera-Port
Display Port AnschluĂ fĂźr ein Touch Screen
GPIO-AnschlĂźsse verfĂźgbar
Der Raspberry PI Zero ist das kleinste Modell und mit 5 Euro extrem gßnstig. Er bringt allerdings auch keinen Netzwerkanschluà mit und nur einen einzigen USB-Anschluà fßr Periperiegeräte (ein USB-Anschluà steht zurätzlich fßr die Stromversorgung zur Verfßgung).
Die GPIO AnschlĂźsse mĂźssen noch eingelĂśtet werden.
Aber fĂźr 5 Euro ... ein Einstieg in IoT ist gemacht.
https://www.youtube.com/watch?v=97Or02ihJMo
Mit den GPIOs lassen sich
Eingaben (z. B. Taster)
Ausgaben (z. B. LEDs, Displays)
integrieren, um sie in einer Software zu benutzen (z. B. Steuerung fĂźr einen MP3 Player).
Zudem bieten GPIOs verschiedene Stromversorgungen an (3,3V und 5V).
Hiermit lassen sich GPIO-Verbindungen ohne LĂśten aufbauen ... also sehr praktisch zum Rumprobieren. Man benĂśtigt hierzu Female-Male-Kabel, das Female-Ende steckt man auf den GPIO und das Male-Ende in das Breadboard - damit fĂźhrt man den GPIO-PIN aus dem Raspberry PI Motherboard raus und schafft Platz fĂźr LEDs, Schalter, ... die auf das Breadboard verbaut werden. Wenn man alle GPIO Pins auf das Board rausfĂźhrt, dann belegt man schon 20 Zeilen auf dem Breadboard - je nach GrĂśĂe des Breadboards bleiben dann viel oder wenige Reihen zum Aufbau der eigenen Schaltung.
Man kann auf das Breadboard auch n
Die meisten Java-Biliotheken fĂźr RPi mĂźssen die Programme mit sudo
als root
laufen lassen, weil Raspbian den Zugriff auf die I/O-Ports sonst verweigert. Das will man aber natĂźrlich nicht mal auf seinem RPi. pigpio
verwendet einen Dämon-Prozess (= Server), der die Befehle im Auftrag ausfßhrt.
Installation auf dem Raspberry per
pigpiod
hat noch nichts mit Java zu tun ... es liefert aber eine Schnittstelle zur Hardware. Mit der Java-Bibliothek jpigpio
kommuniziert später das selbst-geschriebene Java-Programm mit dem pigpio
-Dämon. Verwendet man jpigpio.Pigpio
, so muĂ das Programm auf dem Raspberry-Pi laufen. Verwendet man hingegen jpigpio.PigpioSocket
, so kann das eigene Java-Programm lokal (z. B. auf einem Laptop) laufen - PigpioSocket kommuniziert dann remote.
https://pi4j.com/
ACHTUNG: Die Verwendung von Java statt Python hat den Nachteil, daĂ bei Java noch Bytecode mittels Java-Compiler aus dem Source-Code erzeugt werden muĂ. Beim interpretierten Python kann man den Source-Code einfach ändern.
Notwendige Vorbereitungen:
auf einem aktuellen Raspbian ist das Oracle Java runtime environment schon vorinstalliert
Java-Programme sehen dann beispielsweise so aus:
Ich habe dann aufgegeben ...
Arcade-Buttons sind schĂśne Taster wie man sie frĂźher an Arcade Spielautomaten fand.
ACHTUNG: man sollte vermeiden, die Schaltung aufzubauen während der RPi läuft, denn bei falscher Beschaltung kÜnnen die elektronischen Teile zerstÜrt werden. Hier ist ein Breadboard mit Extension Board sehr praktisch: man trennt das Flachbandkabel vom Breadboard (wodurch der RPi nicht mehr mit der Schaltung verbunden ist), baut die Schaltung auf, kontrolliert sie nochmals und verbindet RPi und Breadboard wieder mit Flachbandkabel. Somit muà man den RPi nicht runterfahren, um eine neue Schaltung aufzubauen.
https://www.raspberrypi.org/downloads/
Das Betriebssystem wird auf einer SD-Karte installiert. Hierzu braucht man einen PS/Laptop, um das Betriebssystem auf die Karte zu bekommen.
Der SD Card Formatter wird auf einem Laptop installiert und danach die SD-Karte formatiert.
https://www.raspberrypi.org/downloads/noobs/
https://www.raspberrypi.org/help/videos/#noobs-setup
Noobs ist ein Installer fĂźr verschiedene Raspberry Betriebssysteme. Noobs wird auf dem Raspberry installiert und kann sich dann verschiedene andere Betriebssysteme aus dem Internet ziehen und installieren.
Folgende Schritte durchfĂźhren:
Noobs-Zip-Archiv entpackt auf die formatierte SD Karte kopieren
SD-Karte in den Raspberry stecken
einen Bildschirm Ăźber HDMI anstecken
WLAN Modul Ăźber USB einstecken
Tastatur Ăźber USB anschlieĂen
Raspberry Ăźber USB mit Strom versorgen
Jetzt bootet das System in den Noob-Installer. Hier wählt man das gewßnschte Betriebssystem aus, das im Anschluà aus dem Internet gezogen und installiert wird.
https://www.raspberrypi.org/documentation/installation/installing-images/README.md
MĂśchte man keine Installation Ăźber Noobs machen, so kann man sich vorab auch fĂźr ein Betriebssystem entscheiden, das man auf die SD-Karte kopiert. Hierzu:
Download des Betriebssystem Archivs (z. B. Raspbian: https://www.raspberrypi.org/downloads/raspbian/)
Entpacken des Archivs (enthält eine *.img
Datei)
Nicht wundern, daĂ Windows die Karte nun mit 62 MB GrĂśĂe anzeigt. Hierbei handelt es sich ausschlieĂlich um die Boot-Partition (enthält u. a. kernel.img
). Das Image hat noch mehr Speicher belegt, aber das zeigt Windows nicht an.
Jetzt kann das System Ăźber die SD-Karte gebootet werden.
Bei mir hat das mit einem Rasspberry PI Zero nicht auf Anhieb geklappt. Der Ăźber HDMI angeschlossene Monitor blieb einfach schwarz. Vielleicht liegt es an der Micro-SD, die vielleicht nicht kompatibel ist: http://elinux.org/RPi_SD_cards
http://blog.gbaman.info/?p=699
https://gist.github.com/gbaman/975e2db164b3ca2b51ae11e45e8fd40a
Scheinbar schnell gemacht und unspektakulär.
Raspian kann Ăźber Noob oder direkt installiert werden (siehe oben).
Nach der Installation bootet das System per default in Runlevel 3 ... also keine grafische Oberfläche. Ăber ein Konsolenfenster startet man per startx
die grafische Oberfläche.
Die Konfiguration erfolgt Ăźber sudo raspi-config
. Hier lassen sich Einstellungen fĂźr
Boot
Netzwerk
Lokalisierung (Sprache und Tastatur)
Dienste
ssh
VNC
Hardarware
Kamera
vornehmen.
Nach der Erstinstallation (fĂźr die man zur Auswahl des per Noob zu installierenden Betriebssystems eine grafische Ausgabe benĂśtigt) braucht man keinen Bildschirm mehr. Eine Textkonsole bekommt man per ssh
und eine grafische Oberfläche per VNC (geht auch ssh mit X11-Forwarding?) ... allerdings geht die Kommunikation dann ßbers Netzwerk (Performance?).
In der Microsoft-Windows-Welt sind Remote-Desktop-Connections Ăźblich - Windows verwendet hierzu das Remote-Desktop-Protocol (RDP) und bringt auch das passende Tool (mstsc.exe
) mit.
Auf dem Raspberry Pi ein RDP-Server per sudo apt-get install xrdp
installiert werden. Danach kann man sich von einem Windows-Rechner per Remote-Desktop-Connection verbinden und erhält die grafische Oberfläche des Raspberry PI.
VNC-Server per sudo aptitude install tightvncserver
auf dem Raspberry installieren und per tightvncserver
starten. Danach eine VNC Session auf dem Raspberry mit vncserver :1 -geometry 1024x728 -depth 24
erstellen.
Man sollte darauf achten einen Raspberry PI Zero kompatiblen WLAN Sstick zu verwenden. AuĂerdem darauf achten, daĂ der WLAN-Stick nicht zuviel Strom benĂśtigt (die er Ăźber einen aktiven USB-Hub bekommen kĂśnnte) ... je nach Anwendungsfall kann das aber auch kein Problem darstellen.
NETGEAR WNA1000M-100PES N150 kostet nur 6 Euro
LogiLink WL0084E Wireless-LAN Nano-Adapter kostet nur 6 Euro
TP-Link TL-WN823N v1 fĂźr 10 Euro sollte passen (ABER ACHTUNG: angeblich nur die v1 - nicht die v2).
https://thepihut.com/blogs/raspberry-pi-tutorials/16018016-how-to-setup-wifi-on-the-raspberry-pi-raspbian
http://strobelstefan.org/?p=4282
Hiermit lassen sich sehr komfortabel Aktionsketten programmieren/konfigurieren.
Installation per
ZubehÜr gibt es häufig auch als Starter Kits ... das macht auf jeden Fall Sinn, um schon mal eine Basisausstattung zu haben.
https://raspberry.tips/hausautomatisierung/raspberry-pi-software-zur-hausautomatisierung/
http://raspberrypiguide.de/howtos/powerpi-raspberry-pi-haussteuerung/
Mit einem lassen sich ALLE GPIO AnschlĂźsse auf ein Breadboard rausfĂźhren. Man benĂśtigt dann keine Female Kabel mehr und hat alle AnschlĂźsse auĂerhalb des Motherboards zur VerfĂźgung. Das ist sehr praktisch, wenn man seinen Raspberry schon in ein Gehäuse verpacken will und der Zugang zu den GPIOs nur mit Aufwand mĂśglich ist.
"Bevor man einen GPIO als Eingang oder Ausgang benutzen kann, muss dieser konfiguriert bzw. eingestellt werden. Leider merkt sich der Raspberry Pi diese Einstellung nicht. Deshalb muss die Einstellung bei jedem Neustart erneut ausgefĂźhrt werden." ()
der nativen Bibliothek auf dem RPi
Ich meinem Raspberry Pi 3 B+ hat die Nutzung von WiringPi nicht funktioniert. Nachdem sudo apt-get install wiringpi
zu "undefined Symbol: wiringPiVersion" fĂźhrte, versuchte ich mich an der Installation per Git-Repository. Das erste Problem bei der Installation von git-core
(fehlendes Python Modul ConfigParser
) konnte ich noch lĂśsen, indem ich auf meinem System Python 2 als Default eingestellt habe (via update-alternatives
). Das nachfolgende Problem "Unable to determine hardware version. I see: Hardware BCM2835 - expecting BCM2708 or BCM2709" war zu hartnäckig. Weder die beschriebene Installation ßber Git (mit build
) hat funktioniert, noch die via sudo dpkg -i wiringpi-latest.deb
hat funktioniert.
mit dem das *.img
Image auf die SD-Karte schreiben
Dies ist die typischste Verwendungsform und sollte auf jeden Fall konfiguriert werden. Per X11-Forwarding und einem lokalen X11-Server (z. B. ) kann man dann auch auf Remote Desktop Connections via VNC verzichten.
Mit einem VNC kompatiblen Client (z. B. ) auf einem Laptop kann man sich dann - eine Netzwerkverbindung vorausgesetzt - mit dem Raspberry verbinden.