Warum Raspberry Pi
In meinem Studium an der HSLU in Horw haben wir in diesem Semester das Modul „Produktentwicklung 1“. In diesem haben wir die Aufgabe ein Gerät zu bauen, dass autonom 5 Tennisbälle in einen Abfalleimer befördert. Wir sind ein Team aus einem Elektronik Studierenden und jeweils 3 Personen aus den Richtungen Maschinenbau und Informatik.
Als Informatiker habe ich die coole Aufgabe den Abfalleimer irgendwie zu erkennen. Dabei gibt es verschiedene Möglichkeiten wie Ultraschall, Laser oder Kameraerkennung. Natürlich ist hier die Kamera die bevorzugte Erkennungsmöglichkeit der Informatiker.
Wie in der Softwareentwicklung üblich, versucht man möglichst viel wieder zu verwenden. Als Framework für die Bildverarbeitung kommt OpenCv zum Einsatz.
Was hat das ganze mit dem Raspberry zu tun? Ganz einfach. Für ein autonomes Gerät, muss ein möglichst kleiner Computer zum Einsatz kommen. Da Gewicht und Grösse in der Aufgabenstellung beschränkt wurden.
Ziemlich schnell stösst man im Netz auf den Raspberry Pi. Davon gibt es verschiedene Variationen. Die neuesten sind 2 Modelle A+ und B+. Wobei das A+ etwas kleiner ist in Sachen Schnittstellen und Performance.
Die Hardware
Für unsere Kameraerkennung haben wir uns bei pi-shop.ch das A+ Modell und die Raspberry HD Kamera bestellt.
Folgende Komponenten werden benötigt, um den Computer zu betreiben.
- Raspberry Pi A+
- HD Kamera
- Micro SD Karte mit mindestens 8 GB
- MikroUSB Netzteil mit 5V und einer Leistung von 700-1200 mA. Mein Ladegerät vom Smartphone hat ein bisschen mehr Power (1500mA), was jedoch auch funktioniert. Wichtig ist das die Spannung bei 5V ist
- Keyboard mit USB wird für die Installation benötigt
- WLAN Dongle für die spätere Kommunikation im Netzwerk
- HDMI Kabel für die Installation
- Optional: USB hub für die Verwendung einer Maus und anderer Peripherie
Komplett verkabelt sieht das dann so aus.
Installation
Als nächstes muss man das Betriebssystem auf der SD Karte installieren. Die Installation folgt nach Anleitung und den Download für NOOBS mit Raspbian gibt es hier. Nach der erfolgreichen Installation landet man direkt im Programm raspi-config. Darin lassen sich diverse Einstellungen treffen, unter anderem, ob die grafische Oberfläche oder die Konsole beim Booten gestartet werden soll. Ebenfalls musste ich die Kamera noch aktivieren.
Kamera Test
Mittels des Kommandos
raspistill -o ~/bild.jpg
kann ein Bild mit der Kamera aufgenommen werden. Ich würde sagen das nun der erste Meilenstein gemeistert ist.
Netzwerk Konfiguration
Als nächstes hatte ich mir die Netzwerk-Konfiguration vorgenommen. Für den Datenaustausch habe ich mir einen Share eingerichtet. Unter Linux geschieht dies mit SMB. Dazu habe ich diese Anleitung verwendet.
Am USB Port habe ich nun einen Hub eingesteckt und dann daran wieder Tastatur und WLAN Stick angeschlossen. Dann geht die Konfiguration im Terminal los.
sudo nano /etc/network/interfaces
Kurze Erklärung
- sudo, ist das Kommando, um zusätzliche Rechte für ein Programm anzufordern
- nano, ist ein einfacher Editor im Terminal
- /etc/network/interfaces ist der Pfad zum File
Das Kommando wird mittels Enter abgesetzt.
Danach muss vor allem der Teil ab „allow-hotplug wlan0“ eingefügt werden und die eigene SSID und das Passwort des WLAN Netzes eingegeben werden.
auto lo iface lo inet loopback allow-hotplug wlan0 auto wlan0 iface wlan0 inet dhcp wpa-ssid "ssid" wpa-psk "password"
Speichern im Nano funktioniert mittels Ctrl+O und dann mit Y (Yes) bestätigen. Verlassen ist dann mit Ctrl+X (Exit)
Um die Konfiguration zu übernehmen habe ich das System neu gestartet. Dies geht mit dem Kommando
shutdown -r now
Nach dem Neustart sollte nun das Netzwerk zur Verfügung stehen.
Nach dem Neustart kann mittels:
ifconfig -a
die IP Adresse ausgelesen werden und mittels \\<IP-Adresse> auf den Share zugegriffen werden.
Ebenfalls ist es nun möglich die Konsole mittels ssh (Remote Desktop für Terminals) zu steuern. Dies hat den Vorteil, dass man keinen Bildschirm und kein Keyboard für das Raspberry mehr benötigt, sondern die weiteren Befehle von einem beliebigen PC im Netzwerk abgesetzt werden können.
Die Einsatzmöglichkeiten für einen Raspberry Pi sind sehr zahlreich.
Raspberry Pi is a Trademark of the Raspberry Pi Foundation.