Montag, 21. Dezember 2015

phpBB automatische Posts mit PHP

Für mein aktuelles Projekt habe ich ein PHP Skript erstellt, dass automatische Posts in einem phpBB Forum erstellt. Mit diesem Skript kann man zum einen sein phpBB Forum automatisieren oder aber mit einer anderen Webseite kombinieren. So kann man zum Beispiel WordPress Beiträge ins Forum ü...
phpBB automatische Posts mit PHP

Sonntag, 13. Dezember 2015

Raspberry Pi als Weihnachtsgeschenk?

Der Raspberry Pi als Weihnachtsgeschenk ist eine ganz schlechte Idee! Niemals würde ich einem meiner Freunde das antun. Warum ich das Nummer eins Technik Nerd Weihnachtsgeschenk, den Raspberry Pi, sicher nicht als Weihnachtsgeschenk erkläre ich euch im Detail.

Raspberry Pi als W...
Raspberry Pi als Weihnachtsgeschenk?

Freitag, 11. Dezember 2015

Systemmonitoring mit Conky

Je mehr man sich mit einem Rechner beschäftigt, desto wichtiger wird Systemmonitoring. Ein unter Linux sehr beliebtes Tool heißt Conky. Mit ihm lassen sich auf dem Linux Desktop jede Menge aktueller Daten zu, laufenden Rechner anzeigen. Ich zeige euch wie man Conky installiert und k...
Systemmonitoring mit Conky

Dienstag, 8. Dezember 2015

Raspberry Pi USB

Die Raspberry Pi USB Anschlüsse erweitern die Funktionalität des kleinen Rechners enorm. Im Gegensatz zu Smartphones und Tablets hat der Pi USB Anschlüsse die man wie an einem PC oder Laptop beliebig nutzen kann.. Er ist ein offenes System und kann insbesondere auch durch die GPIO Schnittstelle b...
Raspberry Pi USB

Montag, 7. Dezember 2015

Malware in Open Source Systemen

In den letzten Monaten ist es vermehrt zu Angriffen auf Open Source Software gekommen. Insbesondere die Top 3 der meist verwendeten CMS beziehungsweise Shopsysteme WordPress, Joomla und Magento waren ein beliebtes Ziel. Erbeutet werden neben eMail Adressen, Passwörtern und Accounts auch gerne ...
Malware in Open Source Systemen

Freitag, 4. Dezember 2015

Raspberry Pi SD Karte

Dieser Artikel widmet sich ausschließlich der Raspberry Pi SD Karte. Diese ist der primäre Speicher des kleinen Rechners und deshalb von zentraler Bedeutung. Eine Raspberry Pi SD Karte muss nicht nur groß genug für Daten sein, die Lese- und Schreibgeschwindigkeit muss ebenfalls gut sein. Sch...
Raspberry Pi SD Karte

Mittwoch, 2. Dezember 2015

LAMP installieren - PHP absichern

In diesem Artikel zeige ich euch wie ihr PHP absichern könnt. Auf einem Webserver sollte immer größte mögliche Sicherheit gewährleistet sein, da sich dort aber das Arbeitsfeld von Administrator und Programmierer überschneidet leidet gerade dort der Sicherheitsaspekt enorm. Besonders schlimm ist d...
LAMP installieren - PHP absichern

Montag, 30. November 2015

LAMP installieren - MySQL absichern

Im letzten Teil haben wir bereits am Linux System den Apache Webserver installiert und konfiguriert. Aktuell können wir damit zwar statische HTML Seiten anzeigen, für einen echten Webserver für Webapplikationen benötigen wir noch eine Datenbanklösung und eine Skriptsprache. Beispielsweise MySQL u...
LAMP installieren - MySQL absichern

Donnerstag, 26. November 2015

Raspberry Pi Zero

Der Raspberry Pi Zero ist da und verspricht einen sehr günstigen Verkaufspreis von 5$. Von den Maßen her ist er der kleinste aller Raspberry Pi Modelle und wird wohl vor allem für Projekte Verwendung finden in denen Platz eine wichtige Rolle spielt. Warum ihr für den Rechner jedoch mehr zahlen mü...
Raspberry Pi Zero

Sonntag, 22. November 2015

LAMP installieren

In diesem Tutorial zeige ich euch wie ihr LAMP installieren könnt. Mit einem LAMP Server betreibt ihr eure interaktiven, in PHP geschriebenen Webapplikationen oder Programme. Ein schneller und sicherer LAMP Server ist der Grundbaustein für ein erfolgreiches Programm, Forum oder Blog.
LAMP i...
LAMP installieren

Freitag, 13. November 2015

VNC automatisch starten

In den letzten Teilen habe ich bereits gezeigt wie man einen VNC Server installiert, konfiguriert und absichert. Nun zeige ich euch noch wie ihr den VNC Server bei Systemstart automatisch starten könnt. VNC automatisch starten geht recht einfach über init Skript, welches bei Systemstart für ei...
VNC automatisch starten

Mittwoch, 11. November 2015

VNC absichern

Auf Linux Servern benutzt man in der Regel SSH zur Anmeldung. Für gewöhnlich ist auf dem System gar keine grafische Oberfläche installiert. Verwendet man den Server aber auch als entfernten Desktop, dann möchte man auf diesem auch arbeiten. Ein sehr beliebtes Service ist dabei VNC. Leider ist die...
VNC absichern

Dienstag, 10. November 2015

Organisation in der IT

Ein wichtiges, aber meist stiefmütterlich behandeltes Thema ist Organisation in der IT. Jeder der im IT Bereich arbeitet, sei es nun Administrator, Programmierer, Projektleiter, Designer usw. hat eine fundierte technische Ausbildung – meist fehlen aber wichtige Skills zur Organisation. ...
Organisation in der IT

Montag, 9. November 2015

VNC Server installieren und konfigurieren

In diesem Tutorial zeige ich euch wie man den VNC Server installieren und konfigurieren kann. Genauer gesagt geht es um den TightVNCServer, welcher recht weit verbreitet ist und in wenigen Schritten einsatzbereit ist. Mit einem VNC Server kann man von entfernt auf den Dektop des laufenden PC...
VNC Server installieren und konfigurieren

Donnerstag, 5. November 2015

Developer-Blog lernt sprechen - 3. Geburtstag

Remember, Remember, … Heute feiert mein Blog den 3. Geburtstag. Zur Feier des Tages lernt der Blog sprechen!Klingt unglaublich, aber Speakstaff bietet für Blogger die Vertonung von Artikeln an. Ich habe das ausprobiert und das Ergebnis hört ihr im folgenden Link: Artikel anhören
3. Ge...
Developer-Blog lernt sprechen - 3. Geburtstag

Dienstag, 3. November 2015

SSH absichern mit fail2ban

Wer von euch meinen letzten Artikel zum Thema SSH absichern mit Denyhosts gelesen hat wird möglicherweise bei der Installation Schwierigkeiten gehabt haben. Bei einigen neuen Distributionen wurde Denyhosts durch fail2ban ersetzt. Ich zeige euch wie man fail2ban installiert und konfiguriert und ...
SSH absichern mit fail2ban

Sonntag, 1. November 2015

Blog Boosting

In den letzten Wochen habe ich das Buch Blog Boosting gelesen und sehr viel rund um das Thema Blogging dazugelernt. Obwohl ich mittlerweile fast 3 Jahre als Blogger tätig bin fand ich trotzdem zahlreiche neue Tipps und Tricks die meinen Blog langfristig besser und für euch Leser interessanter m...
Blog Boosting

Donnerstag, 29. Oktober 2015

SSH absichern mit Denyhosts

Denyhosts ist eine Software mit deren Hilfe man einen SSH Login auf einen Rechner sicherer machen kann. Im letzten Teile habe ich bereits 10 Punkte vorgestellt mit denen man einen Webserver, der in einem Rechenzentrum steht, vor Angriffen schützen kann. Denyhosts ist eine einfache, aber ...
SSH absichern mit Denyhosts

Mittwoch, 28. Oktober 2015

SSH Port ändern

Mit nur wenig Aufwand kann man den SSH Port ändern. In 5 Minuten Arbeit kann man den eigenen Server auf eine ganz neue Ebene der Sicherheit heben. Ich zeige euch wie das geht und Warum dieser Schritt so effektiv ist.
SSH Port ändern
Alle Änderungen zu SSH werden in der Konfigurationsdatei des SS...
SSH Port ändern

Dienstag, 27. Oktober 2015

SSH absichern

In meiner Artikelserie zum Thema “SSH absichern” zeige ich euch mehrere Möglichkeiten wie ihr euren SSH Zugang zum Server sicherer machen könnt um so weniger Angriffsfläche für Hacker zu bieten. Sofern man nicht sehr wichtige Daten auf dem Server hat und ein hohes Level von Sic...
SSH absichern

Mittwoch, 21. Oktober 2015

10 Tipps wie man seinen Server absichert

Einen eigenen Server zu administrieren machst Spaß und man lernt sehr schnell viel dazu. Sobald man darauf wichtige Daten speichert oder Applikationen betreibt ist die Sicherheit Thema Nummer eins. Wenn auf diesem Server auch noch Webseiten von Kunden gehostet werden, dann muss der Server rund ...
10 Tipps wie man seinen Server absichert

Donnerstag, 15. Oktober 2015

eBlocker Kampagne war ein Erfolg

Anfang Oktober war die eBlocker Kampagne auf IndieGoGo zu Ende. Zuletzt war der angepeilte Zielbetrag von 50.000 Dollar sogar um 50% überschritten. Dieser Erfolg spricht nicht nur für die Kampagne selber, sondern vor allem für ein steigendes Sicherheitsbewusstsein der Benutzer im Internet. An...
eBlocker Kampagne war ein Erfolg

Sonntag, 11. Oktober 2015

Roboter bewegen für Fortgeschrittene

In meinem Artikel “Roboter bewegen für Fortgeschrittene” zeige ich euch wie ihr das Python Skript für die Navigation eures Roboters aus dem früheren Artikel “Roboter bewegen für Anfänger” weiter verfeinert. Diesmal kommt die Geschwindigkeit hinzu. Diese wird beim Raspberry Pi über den PWM GPIO Pin gesteuert.


Roboter bewegen für Fortgeschrittene


Roboter bewegen für Fortgeschrittene


Im vorangegangenen Anfängerartikel habe ich euch ja bereits ein fertiges Skript präsentiert über dieses man den Roboter bereits mit der Tastatur – wahlweise auch über SSH – in die 4 Richtungen steuern konnte. Das Problem war die Geschwindigkeit. Das Roboter Board besitzt 2 Pins über die man die Geschwindigkeit der Räder links und rechts Regeln kann. Diese Geschwindigkeit wird über ein analoges Signal eingestellt. Der Raspberry Pi hat jedoch nur digitale Pins, weshalb nur zwei Einstellungen möglich sind:


  • 1: maximale Geschwindigkeit

  • 0: Stillstand

Im ersten Moment könnte man meinen das ist nun mal so und man muss sich damit abfinden. Glücklicherweise gibt es einen Pin der GPIO Schnittstelle, der PWM unterstützt. Das ist der Pin mit der Nummer 12 beziehungsweise GPIO 18.


PWM Theorie


Unter PWM versteht man die schnelle Änderung der Spannung. Bei dem PWM Pin kann man angeben wie oft er ein- und ausgeschaltet wird. Das geschieht innerhalb kürzester Zeit sehr oft. So oft, dass manche Geräte wie Servo Motoren dieses Signal als analoges Signal interpretieren. Je nach Geschwindigkeit, also der Häufigkeit der Umschaltvorgänge ist das analoge Signal unterschiedlich stark. Genau das benötigen wir für die Ansteuerung des Motors um eine bestimmte Geschwindigkeit zu setzen.


WiringPi kommt ins Spiel


Vor einiger Zeit habe ich euch die WiringPi2 Bibliothek vorgestellt, die unter anderem auch für Python portiert wurde. Mit dieser kann man recht einfach mit der GPIO Schnittstelle arbeiten. Als besonderes Feature stellt diese Bibliothek auch eine Funktion bereit um ein PWM Signal zu erzeugen.


wiringpi.pwmWrite(18, 550)

Die Funktion pwmWrite hat 2 Parameter. Das ist zum einen die Nummer des GPIO Pins (18 ist die einzig mögliche Eingabe!) und einen Wert für die Frequenz. Dieser muss zwischen 0 und 1024 liegen.


Anpassungen an der Hardware


Die schlechte Nachricht zuerst: wir müssen eine Modifikation an der Verkabelung vornehmen. Die gute Nachricht: es wird sogar etwas einfacher! Bis jetzt verwendeten wir 2 Pins für die Geschwindigkeit der linken und der rechten Seite. Dazu auch 2 Kabel (grün und gelb). Diese werden nun entfernt. Ersetzt werden diese durch einen einzigen Pin – wir erinnern uns: es gibt nur einen PWM Pin am Raspberry Pi. An diesen müssen wir nun 2 Kabel hängen und mit dem Roboterboard verbinden. Zu diesem Zweck benötigen wir ein Steckbrett – alternativ kann man diese Kabel auch zusammen löten.


Wie man gut sehen kann sind nun über den Umweg vom Steckbrett beide lila Drähte direkt mit dem PWM Pin verbunden.


PWM GPIO Pin


Anpassungen an der Software


Bevor man mit Änderungen an der Software durchführen kann muss WiringPi installiert werden. Wie das funktioniert habe ich bereits in einem der letzten Artikel zu WiringPi gezeigt.


Auch bei der Software können wir vereinfachen. Statt 2 Pins und Outputs benötigen wir nun pro Bewegungsaktion nur einen. Der Unterschied zum Anfängerskript ist nun, dass wir den PWM Pin nicht über die Standard GPIO Bibliothek ansprechen sondern über die WiringPi2 Bibliothek. Der vollständige Code sieht wie folgt aus:


import RPi.GPIO as GPIO
import wiringpi2 as wiringpi
import time

#pins
M1     = 40 #rot
PWM    = 18 #rot-lila
M2     = 36 #weiss
FULLSPEED  = 1024 #between 0 and 1024
LOWSPEED   = 450
TURNSPEED  = 460
GPIO.setmode(GPIO.BOARD)
wiringpi.wiringPiSetupGpio() #also setup GPIO for wiringpi

GPIO.setup(M1, GPIO.OUT)
GPIO.setup(M2, GPIO.OUT)
wiringpi.pinMode(PWM, 2)     #also set Pinmode for WiringPi PWM Pin

def move():
GPIO.output(M1, True)
GPIO.output(M2, True)
wiringpi.pwmWrite(PWM, FULLSPEED) #full speed

def reverse():
GPIO.output(M1, False)
GPIO.output(M2, False)
wiringpi.pwmWrite(PWM, LOWSPEED) #half full speed

def left():
GPIO.output(M1, True)
GPIO.output(M2, False)
wiringpi.pwmWrite(PWM, TURNSPEED) #quarter full speed

def right():
GPIO.output(M1, False)
GPIO.output(M2, True)
wiringpi.pwmWrite(PWM, TURNSPEED) #quarter full speed

def stop():
GPIO.output(M1, False)
GPIO.output(M2, False)
wiringpi.pwmWrite(PWM, 0)       #engine off

def init():
stop()

def getch():
import sys, tty, termios
old_settings = termios.tcgetattr(0)
new_settings = old_settings[:]
new_settings[3] &= ~termios.ICANON
try:
termios.tcsetattr(0, termios.TCSANOW, new_settings)
ch = sys.stdin.read(1)
finally:
termios.tcsetattr(0, termios.TCSANOW, old_settings)
return ch

init()
loop = True

_move = 0
_reverse = 0
_left = 0
_right = 0
while loop:
c = getch()
if c == 'a' and _left == 0:
left()
_left = 1
_right = 0
_move = 0
_reverse = 0
if c == 'd' and _right == 0:
right()
_left = 0
_right = 1
_move = 0
_reverse = 0
if c == 'w' and _move == 0:
move()
_left = 0
_right = 0
_move = 1
_reverse = 0
if c == 's' and _reverse == 0:
reverse()
_left = 0
_right = 0
_move = 0
_reverse = 1
if c != 'a' and c != 'd' and c != 'w' and c != 's':
_move = 0
_reverse = 0
_left = 0
_right = 0
stop()
if c == 'q':
loop = False
stop()
time.sleep(0.5)

GPIO.cleanup()

Neu ist die Importzeile für WiringPi2:


import wiringpi2 as wiringpi

Bei der Definition der Variablen wurden die zwei PWM Zeilen entfernt und durch eine einzelne PWM Zeile plus drei unterschiedlichen Geschwindigkeitsvariablen ersetzt:


PWM = 18 #rot-lila
...
FULLSPEED = 1024 #between 0 and 1024
LOWSPEED = 450
TURNSPEED = 460

Die Nummer des PWM Pins ist 18. Das ist wie bereits erwähnt die einzig korrekte Nummer. Bei der Geschwindigkeit gibt es die Höchstgeschwindigkeit und danach zwei Werte für den Rückwärtsgang und dem Drehen des Roboters.


Für WiringPi muss genau wie für die normale GPIO Schnittstelle in einer Initialisierung gesagt werden, wie die Pins durchnummeriert sind.


wiringpi.wiringPiSetupGpio() #also setup GPIO for wiringpi

Für den PWM Pin müssen wir dann auch noch definierten ob er ein INPUT, OUTPUT oder PWM_OUTPUT Pin ist. Die 2 steht für PWM_OUTPUT:


wiringpi.pinMode(PWM, 2) #also set Pinmode for WiringPi PWM Pin

Zuletzt gibt es noch in jeder der 4 möglichen Richtungsfunktionen eine Änderung. Die beiden PWM Pins sind weg und durch einen einzelnen PWN Aufruf ersetzt worden. Der Funktion pwmWrite übergibt man neben der Nummer des GPIO Pins auch noch die Geschwindigkeit.


wiringpi.pwmWrite(PWM, FULLSPEED) #full speed

Fazit


Mit nur kleinen Änderungen verbessert man das Bewegungsskript für den Roboter sehr stark. Der Faktor Geschwindigkeit lässt den Roboter viel schöner bewegen. Dieser steuert sich realistischer und vor allem durch die niedrigere Umdrehungsgeschwindigkeit auch deutlich präziser.



Roboter bewegen für Fortgeschrittene

Donnerstag, 8. Oktober 2015

BSD installieren

In diesem Artikel zeige ich euch wie man BSD installieren kann. Steven und ich hatten vor einiger Zeit zu Artikelideen für eine Zusammenarbeit aufgerufen. Die meisten Vorschläge drehten sich um das BSD Betriebssystem und dessen Derivate. Steven hat den ersten Beitrag dazu zu den Unterschieden d...
BSD installieren

Montag, 5. Oktober 2015

Domain Verzeichnisschutz für Multi-Domain Seiten

In diesem Artikel zeige ich wie man den .htaccess Domain Verzeichnisschutz auf eine bestimmte Domain einschränken kann. Das ist immer dann erforderlich, wenn man eine Mulit-Domain Seite gehostet hat. Mehrere Domains zeigen dabei auf den selben Webspace und verwenden ein und die selbe ...
Domain Verzeichnisschutz für Multi-Domain Seiten

Montag, 28. September 2015

WiringPi2 Bibliothek für Python

WiringPi2 ist eine zusätzliche Bibliothek um mit der GPIO Schnittstelle vom Raspberry Pi zu arbeiten. Für die meisten Anwendungen ist sie wenig sinnvoll, da man mit der GPIO Bibliothek schneller ans Ziel kommt, für die Ansteuerung analoger Geräte ist sie perfekt geeignet. Ich zeige euch wie man W...
WiringPi2 Bibliothek für Python

Freitag, 18. September 2015

Performance Optimierung für Profis

Durch eine Performance Optimierung konnte ich die Sichtbarkeit meines Blogs etwas erhöhen, denn für Google ist die Ladezeit einer Seite sehr wichtig. Je länger der Benutzer warten muss, desto ungeduldiger wird er und desto höher sind Abbrüche. Google honoriert deshalb Seiten die sehr schnell lade...
Performance Optimierung für Profis

Donnerstag, 17. September 2015

.htaccess Verzeichnisschutz für Profis

In den letzten Wochen habe ich sehr oft mit der .htaccess Datei für diverse Webprojekte zu tun. Dabei gab es teils recht unterschiedliche Anforderungen, alle mussten aber in eben jener Datei abgebildet werden. Ich zeige euch wie man einen Verzeichnisschutz für alle Unterverzeichnisse oder nur e...
.htaccess Verzeichnisschutz für Profis

Dienstag, 15. September 2015

eBlocker Software aktualisieren

Die eBlocker Software schützt meine Privatsphäre zu hause und filtert sowohl Werbung (Ads) als auch Spionagesoftware (Trackers) aus der Kommunikation mit dem Internet. Neben der Software benötigt man lediglich einen Banana Pi oder einen Raspberry Pi und eine SD Karte. Einmal an das Heimnetz an...
eBlocker Software aktualisieren

Samstag, 12. September 2015

Zusammenarbeit mit canox.net

Auf Wunsch einiger Leser wird es zu einer Zusammenarbeit von developer-blog.net und canox.net kommen. Geplant ist eine mehrteilige Artikelserie in der wir (Steven und ich) gemeinsam über ein Thema berichten. Was wir aber noch brauchen sind Vorschläge zu Themen. Wir haben bereits ein paar Ideen, k...
Zusammenarbeit mit canox.net

Dienstag, 8. September 2015

Offizieller Raspberry Pi Touchscreen

Für den Raspberry Pi wurde nun endlich ein offizieller Raspberry Pi Touchscreen angekündigt. Diese Meldung erscheint zwar im ersten Moment etwas überraschend, jedoch besitzen die Raspberry Pi Boards bereits seit der ersten Generation einen Ausgang für ein Display. Was ist nun aber so neu und war...
Offizieller Raspberry Pi Touchscreen

Freitag, 28. August 2015

Analytics Sexyali Referrer-Spam

Bei der routinemäßigen Überprüfung meines Blogs auf Google Analytics habe ich einen merkwürdigen Sexyali Referrer entdeckt. Laut Analytics mehrere Besucher auf meinen Blog mit dem Suchbegriff “sexyali.com“. Das fand ich sehr merkwürdig, gibt es den Begriff doch gar nicht auf developer-blog.net. Eine Recherche brachte interessante Ergebnisse…sexyali Referrer


Analytics Sexyali Referrer


Ich war sehr erstaunt, dass 57 Besucher mit dem Suchbegriff “sexyali.com” auf meinen Blog gekommen sein sollen, vor allem weil ich diesen Text niemals verwendet hatte. Etwas stutzig machte mich das schon. Also gleich mal Google um Rat gefragt. Es stellte sich schnell heraus, dass es sich hier um ein bereits bekanntes Problem handelte.


Das Problem im Detail


Die Webseite sexyali.com (ich erspare mir bewusst die Verlinkung auf die Seite!) versucht durch Spam gezielt Analytics Traffic auf beliebigen Seiten zu erzeugen. Diesen Angriff bezeichnet man als Referrer-Spam. Diesen Begriff kannte ich bis vor kurzem noch gar nicht. Dadurch soll die eigene Seite beworben und nebenbei das Ranking bei den Suchmaschinen verbessert werden. Das wirkt sich aber negativ auf die eigene Seite aus, da Traffic entsteht der mit unter durch eine kurze Zeitspanne auf der eigenen Seite und einer hohen Absprungrate glänzt. Dies kann zu einer schlechteren Bewertung bei Google führen.


Mein Analytics Account zeigte folgendes Bild:


sexyali

So dramatisch waren bei mir die Auswirkungen glücklicherweise nicht. Die Absprungrate war nicht schlechter als bei manch anderen Schlüsselwörtern und die Zeit, die der Spambot auf der Seite war, war auch recht gut. Trotzdem wollte ich keine verfälschten Ergebnisse.


Maßnahmen gegen Spam und dem sexyali Referrer


Die Reaktion gegen diesen Spam Traffic ist recht einfach. Man kann über die .htaccess Datei Restriktionen für die eigene Seite erstellen, man denke an einen Verzeichnisschutz. Durch den folgenden Code verbietet man dem sexyali.com Bot den Zugriff auf die eigene Seite:


### sexyali den Zugriff verweigern
RewriteCond %HTTP_REFERRER sexyali.com [NC,OR]
RewriteCond %HTTP_REFERRER sexyali.com
RewriteRule .* - [F]

Diesen Code braucht man nur in der .htaccess Datei ergänzen und der Spam sollte ein Ende haben.


Fazit


Als Webseitenbetreiber sieht man mehreren Gefahren ins Auge. Neben bösen Hackern sind auch Bots unterwegs die durch Spam Daten verfälschen. Die sexyali Referrer Spam Angriffe waren mein erster Kontakt damit. Man sollte immer einen wachsamen Blick auf Google Analytics oder alternative Software haben und Unregelmäßigkeiten sofort nachgehen. Oft ist die einzige Möglichkeit gegen Spam oder andere Angriffe ein Block einer IP Adresse oder einer Domain.


Mein Tipp: behaltet eure Analytics Daten im Auge!


Habt ihr auch schon einmal Kontakt mit einem Referrer-Spam Bot gehabt? Wie habt ihr reagiert?



Analytics Sexyali Referrer-Spam

Mittwoch, 26. August 2015

Raspberry Pi BSD - raspbsd

Unter dem Namen raspbsd sind vorkonfigurierte FreeBSD 11 Images für den Raspberry Pi und dem Raspberry Pi 2 entstanden. Diese kann man auf einer eigenen Webseite herunterladen. In meinem FreeBSD Artikel habe ich euch bereits gezeigt, dass eine manuelle Installation funktioniert, die Konfiguration aber alles andere als einfach ist. Unter FreeBSD könnt ihr bekannte Desktopsysteme von Linux wie LXDE oder Xfce.Raspberry Pi FreeBSD raspbsd


Raspberry Pi BSD – raspbsd


FreeBSD ist ein UNIX ähnliches Betriebssystem wie auch Linux. Auf einer älteren BSD Version basiert das bekannte Mac OSX Betriebssystem von Apple. FreeBSD wird unabhängig und Open Source weiterentwickelt und erscheint aktuell in der Version 11. Bei FreeBSD wird besonders darauf geachtet GNU kompatibel zu ein und das System komplett ohne Closed Source Software aufzubauen. Von der Lizenz ist FreeBSD weniger restriktiv als Linux, sie erlaubt auch die Weiterentwicklung des Systems ohne den Source Code auch offen legen zu müssen. Das hat dazu geführt, dass es auch für kommerzielle Systeme einsetzbar ist, die Playstation 4 basiert auf diesem System.


Raspberry Pi Images


Auf der neuen offiziellen Projekthomepage findet man 2 unterschiedliche Images:


  • Raspberry Pi B und B+

  • Raspberry Pi 2

Für beide Versionen gilt, dass es sich hier um einen recht frühen Status handelt. Das Image ist fertig konfiguriert und ist damit voll funktionstüchtig, es ist aber nur eine Basis aus Paketen installiert. Derzeit steht nur eine Konsole zur Verfügung, der Autor verspricht aber recht bald auch einen grafischen Desktop nach zu liefern. Besonders interessant ist, dass es offenbar auch Versionen für den Banana Pi und dem BeagleBone geben soll, derzeit ist aber die Homepage recht sparsam mit weiteren Informationen dazu.


Fazit


FreeBSD ist ein tolles Betriebssystem, da man versucht zu 100% auf Open Source Basis zu setzen und damit ein wirklich freies System zu entwickeln. Besonders interessant ist das für Mac OSX Benutzer, die sehr viele Gemeinsamkeiten mit FreeBSD entdecken werden und ebenfalls für Linux Benutzer, da FreeBSD sehr viele Linux Pakete auch 1:1 installieren und verwenden kann. Das führt soweit, dass bekannte Linux Desktops auch unter FreeBSD laufen.


Die aktuellen Bestrebungen das System unter dem Namen raspbsd auf den Raspberry Pi zu bringen sind lobenswert und ich hoffe das Projekt wird auch weitergeführt und die Hardware irgendwann auch zu 100% unterstützt.



Raspberry Pi BSD - raspbsd

Dienstag, 25. August 2015

Raspberry Pi Roboter Einkaufsliste

Auf Anfrage mehrere Leser habe ich eine Raspberry Pi Roboter Einkaufsliste erstellt. Diese Liste soll euch als Anhaltspunkt dienen und zeigen, welche Produkte ich mir für diese Artikelserie zugelegt habe und wie viel euch das kosten würde. Die Liste ist lediglich eine Zusammenfassung aller Dinge die ich mir nach Recherche und Produktvergleich zugelegt habe. Es gibt vermutlich jeweils billigere oder bessere Produkte – diese Liste stellt deshalb keine Bewertung dar. Wie zufrieden ich mit den jeweiligen Produkten bin könnt ihr in meiner Raspberry Pi Roboter Artikelserie nachlesen.


Raspberry Pi Roboter Einkaufsliste


Raspberry Pi Roboter Einkaufsliste


In meiner Kindheit habe ich immer davon geträumt mir einmal einen eigenen Roboter zu bauen. Lego Technik Sets waren da schon recht spannend, glücklich wurde ich damit aber nie. Als ich den Raspberry Pi Computer zum ersten Mal in der Hand hielt wusste ich, damit könnte man perfekt einen Roboter steuern. Viele Monate sind seither vergangen und immer wieder habe ich nach Teile, Bausätze und Tutorials gesucht um endlich selber ein Projekt zu starten. Anfang 2015 war es so weit. Ich habe mir die ersten Teile bestellt.


Einkaufsliste


Die meisten Produkte beziehe ich direkt von robotshop.com. Leider gibt es kaum andere Shops die so ein passendes und umfassendes Sortiment bereitstellen. Ich war mit dem Ablauf der Bestellung sehr zufrieden. Ich hatte sogar mit dem Support Kontakt, da ich meine erste Bestellung stornieren lassen habe.


  • Cherokey 4WD Arduino Mobile Platform
    dieser Bausatz ist die Basis meiner weiteren arbeiten. Der Bausatz ist vom Preis in der mittleren Kategorie. Es gibt billigere komplett aus Plastik. Ich habe mich für diesen entschieden. da alles aus Metall besteht und das Design sehr ansprechend ist. Außerdem hat das Board bereits alle nötigen Motor Treiber dabei, Pi anstecken reicht um den Roboter in Betrieb zu nehmen. Einzig die Qualität der Räder und Motoren kann man bemängeln. Die Motoren sind sehr laut und die Plastikräder halten nicht perfekt. Zum Basteln und Testen aber ausreichend.

  • female-female Jumper

    zum Anschluss vom Raspberry Pi an das Cherokey Board benötigt man female-female Steckdrähte. Diese habe ich mir separat gekauft. Diese Drähte kann man für den Raspberry Pi immer gebrauchen!

  • Abstandsbolzen
    mit Abstandbolzen befestigt man den Raspberry Pi am Board. Diese Bolzen kann man sehr gut verwenden um Platinen zu stacken, also übereinander zu montieren. Solche Bolzen gibt es in unterschiedlichen Höhen.

  • Raspberry Pi

    natürlich verwende ich auch einen Raspberry Pi als Steuerzentrale meines Roboters. Falls ihr noch keinen habt könnt ihr euch diesen bei den unterschiedlichsten Stores kaufen. Ich verwende einen Raspberry Pi B+, besser wäre vermutlich sogar der Raspberry Pi 2 – der benötigt nur leider etwas mehr Energie.

  • Powerbank

    ich verwende zum Betrieb vom Raspberry Pi eine 10000mAh Powerbank. Ich habe bereits gezeigt, dass man damit den Raspberry Pi bis zu 19 Stunden betreiben kann. Meine ist leider zu groß und passt nicht auf das Board und muss deshalb zwischen den Achsen angebracht werden. Eventuell findet ihr da einen kleineren Akku.

Neben diesen Dingen benötigt man auch noch Werkzeug. Ein kleines Set mit Schraubenziehern und Zangen ist ideal. Außerdem muss man die Kabel der Motoren anlöten, ich habe mir extra dafür eine Lötstation + Lötzinn zugelegt. Ich konnte bis dahin noch nicht löten, mittlerweile macht mir das wahnsinnig viel Spaß!


Das ist noch nicht alles…


Ich habe mir zusätzlich noch einige andere Produkte zugelegt mit denen ich die Basisfunktion (eine beweglicher Roboter) noch erweitern möchte, beispielsweise durch eine Kamera:


  • Dagu Mini Pan and Tilt Kit

    das ist ein kleiner Turm der dreh- und schwenkbar ist. Auf diesen möchte ich die Pi Kamera montieren um so frei drehbare Aufnahmen zu machen. Der Aufsatz passt perfekt in die hintere Öffnung der Dachplatine vom Cherokey.

  • Raspberry Pi Kamera

    für Video und Bild Aufnahmen gibt es im Zusammenhang mit dem Raspberry Pi kaum etwas besseres als die Pi Kamera. Man hat dabei sogar die Alternative mit einem Modell, dass keinen IR-Filter hat und somit auch Aufnahmen in Dunkelheit erlaubt (Nachtsicht). Ich habe mir zwar das Standardmodell mit IR-Filter bestellt, werde mir aber sicher noch das andere Modell zulegen.

  • Bright White and IR Camera Light for Raspberry Pi

    damit in der Nacht und bei schlechtem Licht gute Aufnahmen gelingen habe ich mir den Aufsatz zugelegt. Damit beleuchtet die Kamera aktiv die Umgebung. Achtung: das ist ein Bausatz. Man muss die LEDs selber auf die Platine löten. Ich hab das aber auch als Löt-Anfänger gut hin bekommen.

Ein weiterer wichtiger Punkt sind Sensoren. Mein Roboter soll einmal vollkommen autonom agieren können, dafür muss er ein gutes Bild seiner Umgebung haben. Zu diesem Zweck gibt es Sensoren zur Abstandsmessung. Neben dieser Hilfestellung bei der Navigation soll der Roboter auch Daten sammeln und analysieren. Ein recht einfacher Ansatz sind dabei allerhand Daten die über Sensoren gemessen werden können. Der Roboter soll ähnlich wie die Marsroboter Messwerte sammeln und schicken. Einfach zu ermittelnde Daten sind dabei Wetterdaten (Temperatur, Luftfeuchtigkeit, Luftdruck, …):


  • Ultraschall Sensor

    mit dem Ultraschall Sensor kann man die Entfernung zu Objekten bestimmen und somit auf Hindernisse reagieren.

  • Infrarot Sensor

    alternativ zum Ultraschall Sensor kann man auch einen optischen Abstandsensor verwenden.

  • Luftdruck Sensor

    ich habe bereits 2 unterschiedliche Luftdruck Sensoren vorgestellt mit denen man sogar die Temperatur bestimmen kann.

  • Temperatur Sensor

    vermutlich die wichtigste Messung wenn es um das Wetter geht. Es kann recht Spannend sein, wenn man den Roboter in die Sonne steuert und dann eine ansteigende Temperatur messen kann.

  • Luftfeuchtigkeit Sensor

    auch die Luftfeuchtigkeit kann man mittels eines Sensors recht einfach bestimmt.

Fazit


Meine Liste beinhaltet schon eine recht ausführliche Aufstellung von Hardware die man für einen Raspberry Pi Roboter verwenden kann. Es kommt sehr darauf an, wofür man den Roboter letztendlich einsetzen möchte. Für mich ist vor allem die Programmierung interessant, deshalb möchte ich besonders viele Daten sammeln können und darauf reagieren beziehungsweise diese auswerten. Die Liste dient euch hoffentlich als Inspiration, ich gebe zu den einzelnen Teilen bewusst keine Wertung ab – ich habe keinen Vergleich. Es gibt bestimmt bessere und billigere Teile. Falls ihr welche findet bitte als Kommentar posten.


Habt ihr Anregungen und Ideen wie man diese Liste erweitern oder verbessern kann? Was habe ich vergessen beziehungsweise was gehört unbedingt noch auf diese Liste?



Raspberry Pi Roboter Einkaufsliste

Donnerstag, 20. August 2015

Roboter bewegen für Anfänger

Im “Roboter bewegen für Anfänger” Kurs geht es um die Basissoftware des Roboters. In einem Python Skript legen wir den Grundstein für alle folgenden Funktionen und Einsatzbereiche des Roboters. Ich zeige euch Schritt für Schritt was man alles machen muss. Als Ergebnis erhaltet ihr ein Programm über das man den Roboter über die Tastatur wie ein ferngesteuertes Auto steuern kann.


Roboter bewegen für Anfänger


Roboter bewegen für Anfänger


Zugegeben, einen Roboter zu bewegen gehört zu den Paradedisziplinen des Programmierens. Man denke an das Google Driverless Car. Die Entwicklung solcher autonomer Systeme dauert Jahre und wird auf universitärer Ebene oder von großen Konzernen gemacht. Andere tolle Beispiele sind die Marsrover der Nasa. All diese Beispiele zeigen wie es geht.


Bewegungstheorie


Mein Roboter hat 4 Räder, zwei auf jeder Seite. Diese sind fix montiert und können sich nur in zwei Richtungen bewegen. Den Roboter können wir deshalb nicht wie ein Auto steuern, es fehlt die Lenkstange – dafür wäre ein fünfter Motor notwendig. Wir bewegen den Roboter deshalb wie folgt:


  • vorwärts fahren

    alle 4 Räder bewegen sich vorwärts. Das heißt alle 4 Motoren drehen sich in die selbe Richtung. Achtung: So trivial die Bewegung nach vorwärts auch erscheint, solange diese nicht funktioniert bracht man keine andere Bewegung implementieren. Warum? Die 4 Motoren müssen sich in die selbe Richtung bewegen aus der Sicht vom Chassis. Tatsächlich drehen sich die 2 Motoren links genau in die Gegengesetze Richtung als die beiden Motoren rechts, diese sind ja gespiegelt angebracht.

  • rückwärts fahren

    die inverse Bewegung zum Vorwärts fahren. Man muss alle 4 Motoren einfach in die gegenteilige Richtung drehen.

  • Drehung nach links

    Gedreht wird indem sich die Räder rechts und links in unterschiedliche Richtungen bewegen. Die linken bewegen sich rückwärts, die auf der rechten Seite vorwärts. Das Chassis wird gedreht.

  • Drehung nach rechts

    die inverse Bewegung zur Drehung nach links. Die rechten Reifen bewegen sich rückwärts, die Reifen auf der linken Seite vorwärts.

  • Stopp

    alle Motoren stehen still. Das Reset des Programms. Das muss immer als letztes Kommando im Programm ausgeführt werden, sonst kann es passieren, dass der Roboter trotz Programmabbruch weiter fährt.

Software


Meine erste Version der Software basiert auf dem Arduino Skript, dass vom Roboter Chassis Hersteller auf dessen Wiki Seite angeboten wird. Das der Raspberry Pi keine analogen Pins hat funktioniert das Skript nicht exakt gleich, man kann damit den Roboter aber schon sehr gut steuern. Das fertige Skript gibts auch als Download. Der Source Code schaut wie folgt aus:


import RPi.GPIO as GPIO

Wir benötigen lediglich Zugriff auf die GPIO Pins, deshalb wird nur diese Bibliothek eingebunden.


#pins
M1     = 40 #rot
M1_PWM = 37 #gruen
M2_PWM = 38 #gelb
M2     = 36 #weiss
GPIO.setmode(GPIO.BOARD)

GPIO.setup(M1, GPIO.OUT)
GPIO.setup(M1_PWM, GPIO.OUT)
GPIO.setup(M2, GPIO.OUT)
GPIO.setup(M2_PWM, GPIO.OUT)

Wir legen uns Variablen an die wie am Board beschriftet heißen (damit man den Code auch Monate später noch versteht). Ich verwende die 4 letzten Pins des Raspberry Pi Modell B+, ihr könnt natürlich auch beliebig andere GPIO Pins verwenden. Die Verkabelung habe ich im ersten Teil bereits gezeigt. Alle 4 Pins werden als Ausgabepins initialisiert.


Nun wird es spannend. Wir legen 4 Funktionen an für die möglichen Bewegungsarten vorwärts, rückwärts, links und rechts und zusätzlich noch eine Stopp Funktion.


def move():
GPIO.output(M1, True)
GPIO.output(M1_PWM, True)
GPIO.output(M2, True)
GPIO.output(M2_PWM, True)

def reverse():
GPIO.output(M1, False)
GPIO.output(M1_PWM, True)
GPIO.output(M2, False)
GPIO.output(M2_PWM, True)

def left():
GPIO.output(M1, True)
GPIO.output(M1_PWM, True)
GPIO.output(M2, False)
GPIO.output(M2_PWM, True)

def right():
GPIO.output(M1, False)
GPIO.output(M1_PWM, True)
GPIO.output(M2, True)
GPIO.output(M2_PWM, True)

def stop():
GPIO.output(M1, False)
GPIO.output(M1_PWM, False)
GPIO.output(M2, False)
GPIO.output(M2_PWM, False)

def init():
stop()

Bei den Funktionen erkennt man schnell ein Muster. Alle PWM Pins sind immer True. Diese geben die Geschwindigkeit an. Da wir nur digitale Pins haben müssen diese klarerweise Spannung angelegt haben, sonst dreht sich der Motor nicht. Einzig bei der Stopp Funktion wird auf allen 4 Pins die Spannung abgeschaltet. Diese 4 Funktionen bilden die Basis der Bewegung. Wir benötigen jetzt nur noch Code der auf Tastenklick die korrekte Bewegungsfunktion aufruft.


In der ersten Version steuern wir den Roboter über die Tastatur. Über eine SSH Session wird der Code ausgeführt und über die Tasten werden Kommandos gegeben. Die gedrückten Tasten werden in der definierten getch() Funktion von der Tastatur geholt, ihr kennt vielleicht diese getch Funktion von C. Python hat so etwas nicht, deshalb müssen wir uns diese selber schreiben:


def getch():
import sys, tty, termios
old_settings = termios.tcgetattr(0)
new_settings = old_settings[:]
new_settings[3] &= ~termios.ICANON
try:
termios.tcsetattr(0, termios.TCSANOW, new_settings)
ch = sys.stdin.read(1)
finally:
termios.tcsetattr(0, termios.TCSANOW, old_settings)
return ch

Damit sind wir mir der Definition der Variablen und der Funktionen fertig. Das restliche Programm ist recht einfach. Nach der Initialisierung wird in einer Endlosschleife mit getch() die Tastaturabfrage gemacht und abhängig der gedrückten Taste die gewünschte Bewegungsfunktion ausgeführt oder das Programm beendet.


init()
loop = True

_move = 0
_reverse = 0
_left = 0
_right = 0
while loop:
c = getch()
if c == 'a' and _left == 0:
left()
_left = 1
_right = 0
_move = 0
_reverse = 0
if c == 'd' and _right == 0:
right()
_left = 0
_right = 1
_move = 0
_reverse = 0
if c == 'w' and _move == 0:
move()
_left = 0
_right = 0
_move = 1
_reverse = 0
if c == 's' and _reverse == 0:
reverse()
_left = 0
_right = 0
_move = 0
_reverse = 1
if c != 'a' and c != 'd' and c != 'w' and c != 's':
_move = 0
_reverse = 0
_left = 0
_right = 0
stop()
if c == 'q':
loop = False
stop()

GPIO.cleanup()

Ganz wichtig ist die letzte Zeile. Ohne dem cleanup() würden bei Programmabbruch die Motoren munter weiter laufen und der Roboter ohne Rücksicht auf Hindernisse oder Klippen weiter fahren. Ganz schlecht!


Konfiguration


Ob ihr alles richtig verkabelt habt könnt ihr beim ersten Testlauf feststellen. In diesem lasst ihr den Roboter am besten umgedreht nach vorne fahren. Bewegen sich alle 4 Räder in die korrekte Richtung habt ihr schon gewonnen. Falls sich manche Räder falsch bewegen, dann gehören die beiden Kabel vertauscht. Dies ist am Board recht einfach möglich und erfordert keinen großen Aufwand.


Fazit


Den Roboter bewegen ist gar nicht so schwierig. Mit dieser Basissoftware könnt ihr den Roboter nun bereits über die Tastatur manuell bewegen. Das macht richtig Spaß! Das Skript kann man übrigens als Basis für eine spätere autonome Navigation des Roboters nehmen. Durch Sensoren lernt der Roboter seine Umgebung kennen und kann auf Basis dieser Informationen navigieren, aber dazu in einem der nächsten Artikel mehr!


Das Skript ist alles andere als perfekt. Vor allem die Steuerung über die Tastatur funktioniert mit Python recht schlecht. Habt ihr dafür Optimierungen? Vorschläge wie das besser geht?


Teil 1 | Teil 2



Roboter bewegen für Anfänger

Dienstag, 18. August 2015

Roboter Motoren ansteuern

In dieser Artikelserie zeige ich euch wie ihr die Roboter Motoren ansteuern könnt. Zuletzt habe ich ausführlich berichtet wie man einen Raspberry Pi Roboter zusammenbaut, nun ist es an der Zeit diesen auch zu benutzen. Das Wichtigste bei einem Roboter ist seine Mobilität, schließlich verstehen die meisten unter dem Begriff Roboter ein sich selbstständig bewegendes technisches Gerät (obwohl es auch stationäre Roboter in der Industrie gibt).


Roboter Motoren ansteuern


Ein Roboter wird durch Motoren bewegt. Elektromotoren sind recht einfach zu steuern, einfach herzustellen und es gibt sie in allen Größen und Stärken. In Roboterbausätzen finden sich üblicherweise Gleichstrommotor, die nur um einen bestimmten Winkel weiter gedreht werden können oder auch beliebig lange in eine Richtung.


Raspberry Pi verkabeln


Einen Schrittmotor kann man nicht direkt an den Raspberry Pi anschließen. Man benötigt einen Motor Controller oder auch Motor Driver genannt. Das ist ein technisches Bauteil über das man einen Gleichstrommotor steuert. Glücklicherweise hat mein Roboterbausatz ein Board, in dem bereits ein Motor Controller eingebaut ist. Laut Dokumentation einen mit der Typenbezeichnung L298P. So ein Bauteil ist aber auch für einen geringen Geldbetrag separat zu kaufen. Alternativ dazu gibt es auch noch zahlreiche andere Motortreiber.


In meinem Fall beschränkt sich die Verkabelung auf folgende Pins:


  • GND (schwarz)

    Die Masse vom Board muss unbedingt mit einem Masse Pin des Raspberry Pi oder alternativ einem Arduino verbunden werden. Macht man das nicht, dann fließt kein Strom und die Motoren bewegen sich nicht.

  • Motoren links (weiß)

    Liegt auf diesem Pin Spannung an, dann bewegen sich beide Motoren der linken Seite. Das Board hat einen Jumper mit dem man die beiden Motoren synchronisieren kann. Alternativ könnte man auch jeden der Motoren extra ansteuern, dafür müsste man jedoch diese über einen eigenen Motortreiber ansteuern.

  • Motoren links Geschwindigkeit (gelb)

    Jede Seite der Motoren wird mit 2 Pins angesteuert. Neben der allgemeinen Information “Motor an” liefert der zweite Pin die Geschwindigkeit. Diese wird analog angegeben – je mehr Spannung desto schneller bewegen sich die Motoren.

  • Motoren rechts (rot)

  • Motoren rechts Geschwindigkeit (grün)

Die Geschwindigkeit wird über ein analoges Signal gesteuert. Je mehr Spannung anliegt, desto schneller drehen sich die Motoren. Man kann damit gut die Geschwindigkeit des Gefährts steuern. Leider sind die Pins vom Raspberry Pi aber ALLE digital, weshalb man entweder keine Geschwindigkeit oder Vollgas einstellen kann. Dank eines Tricks geht es aber trotzdem – dazu in einem der folgenden Artikel mehr!


Roboter Motoren ansteuern


Roboter Motor


Hardware


Für einen fahrenden Roboter benötigt man folgende Dinge:


  • Motoren (2-x Motoren)

  • Stromversorgung Motoren

  • Steuereinheit (Raspberry Pi, Adruino oder vergleichbare Hardware)

  • Stromversorgung Raspberry Pi

  • Motortreiber

  • Steckdrähte

  • Steckbrett

  • fertiges Board (optional statt Motortreiber und Steckdrähte)

Ein Roboter wird über zahlreiche Motoren betrieben. Es gibt die unterschiedlichsten Modelle. Beginnend mit 2 Roboter Motoren (einer für den Antrieb und einen für die Richtungsänderung), über herkömmliche vierrädrige Fahrzeuge (mit Rädern oder Ketten), über Insekten artige Modelle mit beliebig vielen Beinen bis zu humanoiden mit 2 Beinen die jedes leicht 10 Gelenke haben kann. Je mehr Motoren man einsetzt, desto schwieriger wird die Fortbewegung. Mein Fahrzeug mit 4 Motoren ist da für Anfänger schon recht komplex.


Roboter Powerbank


Bei meinem Bausatz wird das Board und damit die Motoren über 5 1.5 Volt Batterien, also insgesamt 7.5 Volt, mit Spannung versorgt. Die DC Motoren benötigen eine Betriebsspannung von 6-12 Volt mit maximal 2 Ampere, sind also ziemlich flexibel. Die normale Spannung von 5 Volt vom Raspberry Pi reicht nicht aus um die Roboter Motoren ansteuern zu können. Aus diesem Grund habe ich neben den 5 Batterien noch meine Powerbank auf das Chassis geschnallt um den Pi zu betreiben. Aktuell wird es noch mit Gummiringerl festgehalten, ich überlege schon den Kauf einer kleineren Powerbank dir neben den Pi passt…das hat aber noch Zeit bis alles fertig ist. Angeschlossen wird die Steuereinheit direkt mit 5 female-female Steckdrähten an das Board.


Roboter Motoren Stromversorgung


Falls man kein fertiges Board hat und die Motoren direkt mit der Steuereinheit verkabeln muss, dann verwendet man üblicherweise ein Steckbrett und verkabelt dort einen Motorentreiber direkt mit den Motoren.


Fazit


Über das Board von meinem Roboterbausatz kann ich meine Roboter Motoren ansteuern. Alternativ kann man dies aber auch selber über ein Steckbrett erreichen, man benötigt aber einen Motortreiber. Wenn man gerne bastelt findet man auch recht einfach eine Lösung dafür – Tutorials gibt es genug. Im nächsten Teil zeige ich euch die Software damit sich der Roboter endlich bewegt. Dieses wird auf dem Beispiel der Dokumentation zum Arduino Board basieren.



Roboter Motoren ansteuern

Mittwoch, 12. August 2015

Werbemittel für Start-Ups

Eine gute Geschäftsidee ist oft nur der erste Schritt, die richtigen Werbemittel für Start-Ups entscheiden über Erfolg oder Misserfolg. Selbst die beste Idee bringt einem jungen Team wenig, wenn sie diese nicht präsentieren, vermarkten und vor allem bekannt machen können. Crowdfunding Plattformen sind da ein guter erster Schritt, die Präsenz dort alleine bringt jedoch meist nur wenig.


Werbemittel für Start-Ups


Werbemittel für Start-UpsDie Gründung eines Start-Ups beginnt mit der Idee und einer kleinen Gruppe Menschen die davon überzeugt sind. Was fehlt ist die Grundlage andere Menschen, vor allem Kapitalgeber, von der Idee zu überzeugen. Meist gibt es noch keinen Prototypen den man sehen und angreifen kann, oft gibt es auch kein physisches Objekt, man denke an Software. Trotzdem muss man potentiellen Investoren etwas geben, etwas handfestes, dass die Idee visualisiert. Werbematerial ist da die erste Wahl.


Coole Werbemittel für junge, dynamische und aufstrebende Start-Ups


Basis der Werbekampagne ist die als Logo visualisierte Idee. Junge, dynamische Start-Ups können dabei gerne auf ein freches Design setzen. Dieses muss dann nur noch auf passende Werbemittel gebracht werden. Falls man selbst keinen Designer im Team hat sollte man sich einen guten Dienstleister dafür suchen. Die digitale Grafik wird dann durch einen Druckpartner umgesetzt. Auf der Webseite einer Online Druckerei findet man Druckvorlagen für jede Menge Werbemittel:


  • Aufkleber

    Aufkleber sind meiner Meinung nach unterschätzt. Ich liebe es, wenn ich zum Produkt Aufkleber der Kickstart Kampagne bekomme oder Logos des Produkts. Diese zieren dann den Deckel meines Laptops. Vor allem bei Konferenzen sollte das komplette Team mit solchen Stickern auf Laptops anreisen! Am Beispiel von Apple sollte jede Firma lernen.

  • Messewände

    Aufsteller fügen der Präsentation eine professionelle Note hinzu. Der Vorteil von solchen Messewänden ist, dass man diese auch im Besprechungsraum oder im Büro aufstellen kann.

  • Give-aways

    Blöcke, Ordner, Umschläge, Visitenkarten, … Dinge die man potentiellen Kunden oder Geschäftspartnern mitgeben kann hinterlassen auch längerfristig einen guten Eindruck. Besonders, wenn sie originell in der Aufmachung, der Farbe oder des Designs sind.

Auffallen zum kleinen Preis


Für welche Art von Werbemittel man sich auch entscheidet, je nach kalkuliertem Umsatz sollte man sich bereits frühzeitig bei der Druckerei einen guten Preis sichern. Lieber etwas mehr drucken und günstiger als zu wenig und ohne Rabatte. Wenn die Werbemittel zielgerichtet bei der angesprochenen Kundengruppe ankommen verteilen sich diese oft von selbst. Ich kann mich noch gut an die Apple Aufkleber erinnern die man zu jedem iPod bekam und habe diese oft auf Autos klebend gesehen. Ist man vom Produkt überzeugt, dann wirbt man gerne gratis für die Marke, man benötigt nur das passende Werbematerial!


Fazit


Gedruckte Werbemittel sind wichtig. Gerade mit Werbemittel für Start-Ups erreicht man schnell einen guten Bekanntheitsgrad und kann hoffnungsvoll die Crowdfunding Kampagne starten oder zum Pitching des Investors gehen.



Werbemittel für Start-Ups

Dienstag, 11. August 2015

Raspberry Pi für Kids

Das Buch Raspberry Pi für Kids von Michael Weigend ist speziell für Kinder geschrieben. Ich habe mir das Buch angesehen und versucht es mit den Augen eines Kindes zu sehen. Meiner Meinung nach gehört es zu den schwierigsten Aufgaben eines Autors, Lernstoff für Kinder passend zu verfassen. Schulbuchautoren genießen deshalb besonderen Respekt von mir.


Raspberry Pi für Kids


Bücher für Kinder schreiben ist schwer. Man muss als Autor besonders Rücksicht auf die speziellen Anforderungen der Leser nehmen. Die Texte müssen einfach aufgebaut sein und trotzdem müssen die Raspberry Pi für KidsInformationen verständlich erklärt werden. Besonders technische Grundsätze muss man so erklären und dabei annehmen, dass der Leser über keine Vorkenntnisse verfügt.


Dem Autor ist das bei Raspberry Pi für Kids recht gut gelungen, nur manchmal hatte ich das Gefühl, es wird etwas zu kompliziert erklärt. In einem eigenen Kapitel wird für Eltern erklärt was man an Geräten und Bauteilen alles für das Buch benötigt wird und wo man diese kaufen kann. Der Autor gibt bereits im ersten Kapitel einen Hinweis darauf und das man die Kapitel auch gemeinsam mit den Eltern lesen kann.


Das Buch findet ihr auf der offiziellen Seite des mitp Verlags. Dort findet man auch eine Leseprobe.


Der Aufbau des Buchs


Das Buch richtet sich an Kinder, also an Anfänger die noch keine oder wenig Erfahrung mit Computern und Elektrotechnik haben. Trotzdem müssen die Beispiele selbst erarbeitet werden. Die Leser müssen die, sich Kapitel für Kapitel aufbauende Theorie, in netten Beispielen anwenden. Vom Umfang her ist das Buch keinem anderen Raspberry Pi Buch unterlegen – es geht zwar nicht so tief ins Detail, die Beispiele die erarbeitet werden würde aber so auch in Fachbüchern für Erwachsene verwendet werden können.


Aller Anfang ist schwer


Das erste Kapitel widmet sich dem Raspberry Pi als Computer. Es zeigt anschaulich wie man das Betriebssystem installiert (vermutlich müssen da Eltern immer helfen) und wie man damit einen Musikplayer und ein Mediencenter baut. Durch diese praxisnahen und sinnvollen Anwendungsbeispiele sollten die Kinder erste Erfolgserlebnisse haben und motiviert für schwierigere Kapitel werden.


Kreativ geht es dann weiter. Mit Scratch werden kleine Spiele erstellt und Animationen (ein gespielter Witz) zusammen geklickt. Bis Kapitel 4 nimmt sich der Autor viel Zeit um die Kinder zu kreativen eigenen Projekten zu ermutigen. Die nötige Theorie wird dazu ausreichend erklärt.


Kinder und Technik


Ab Kapitel 5 wird es technisch. Mit dem PicoBoard hat der Autor ein einfaches Zusatzboard gefunden mit dem die Kinder in Kombination mit Scratch eigene Steuerelemente – Schalter und Knöpfe – basteln können um damit physisch virtuelle Figuren zu steuern. Beispielsweise baut man ein Lenkrad um damit einen Formel 1 Wagen um eine Strecke zu navigieren.


Python


Nachdem die Leser sowohl mit Scratch als auch über ein externes Board Programme erstellen und kontrollieren können wagt sich der Autor mit Python den Kindern eine Programmiersprache beizubringen. Nach einem eher schwierigen und theoretischen Kapitel geht es danach darum LED Lampen über die Raspberry Pi GPIO Schnittstelle und einem eigenen Python Programm zu steuern. Vermutlich ist bei diesem Kapitel erneut Hilfe von Eltern nötig. Basierend auf dem Wissen zeigen zwei praxisnahe Beispiele wie man einen Zähler für die Tür und eine Alarmanlage baut.


LEDs und Daten


Raspberry Pi für Kids wäre ein schlechtes Buch, wenn nicht auch auf die schulische Bildung der Kinder eingegangen werden würde. Im 11ten Kapitel wird eine 4 mal 4 LED Matrix gebaut. Diese wird in mehreren Beispielen unter anderem “Vokabeln lernen” zur Visualisierung eingesetzt. Noch einen Schritt weiter geht es dann mit einem LCD Display. Mit dieser zusätzlichen Hardware lernt der Leser auch noch Text auszugeben. Auch Sensoren kommen nicht zu kurz. In einem eigenen Kapitel wird mittels eines Ultraschall Sensors ein Abstandsmesser gebaut der mobil verwendet werden kann. Mit einem angeschlossenen Akku kann der Raspberry Pi auch mitgenommen werden. Der gemessene Abstand wird akustisch über Klänge ausgegeben – wie bei einem Abstandmesser im Auto.


Temperatur, Kamera und grafische Oberflächen


In den letzten Kapiteln werden noch weiterführende Themen mit praxisnahem Beispielen gezeigt. Darunter die Messung der aktuellen Temperatur, wie man Hausautomationsgeräte ansteuern kann, wie man mit Python grafische Programme erstellt und die Raspberry Pi Kamera benutzt. Im letzten Kapitel wird dann sogar noch ein Webserver aufgesetzt und eine kleine dynamische Seite erstellt.


Fazit


Das Buch Raspberry Pi für Kids zieht alle Register. Speziell für Kinder geschrieben bietet es jedoch einen Querschnitt durch den kompletten Umfang den man mit einem Raspberry Pi an Projekten abdecken kann. Im Vergleich zu anderen Fachbüchern ist es ebenbürtig. Besonders fällt bei dem Buch die grafische Gestaltung auf. Es ist komplett in Farbe und die Illustrationen speziell für Kinder ausgerichtet. Mich erinnert es sehr an ein Schulbuch, vor allem riecht es auch so – das war mein erster Gedanke als ich dieses Buch in Händen hielt.


Was denkt ihr über Kinderbücher für technische Geräte?

Ist das in der heutigen Zeit schon sinnvoll?

Sollte es bereits in der Grundschule ein Fach geben in denen Kinder Umgang mit Computer und Smartphones gelernt wird?

Würde ihr eurem Kind ein solches Buch kaufen und dieses mit ihm bearbeiten?



Raspberry Pi für Kids

Montag, 10. August 2015

eBlocker schützt meine Privatsphäre

Ich durfte in einem Early-Access die Software eBlocker testen. eBlocker schützt meine Privatsphäre im Internet und das ganze super einfach. Ich habe die Software ausführlich getestet und zeige euch warum ihr das Projekt auf Indiegogo unbedingt unterstützen solltet.


eBlocker schützt meine Privatsphäre


Auf der Crowdsourcing Plattform Indiegogo findet man seit heute das Projekt eBlocker. Dieses Start-Up aus Hamburg hat eine Software entwickelt die als Image für den Raspberry Pi oder den Banana Pi zur Verfügung steht und den kompletten Internetverkehr überwacht. Aktuell kann die Software folgendes:


eBlocker Vergleich mit Konkurrenz


Anders als die Konkurrenz bietet die Software eine komplette Lösung.


Wie funktioniert eBlocker?


eBlocker kommt als fertiges Image, dass auf eine SD Karte kopiert werden kann. Es gibt 3 Versionen:


  • Raspberry Pi B+ und Raspberry Pi 2

  • Banana Pi M1 oder Banana Pi Pro

  • Banana Pi M2

Je nach Modell lädt man das korrekte Image, kopiert dieses auf eine passende SD Karte. Den Raspberry Pi oder den Banana Pi samit Software schließt man über ein LAN Kabel an den Router beziehungsweise Modem und die Software übernimmt voll automatisch die Filterung der Kommunikation über das Internet.


Geschützte Privatsphäre


Warum sollte man von einer Software den Datenstrom ins Internet kontrollieren und bearbeiten lassen? Bei fast jedem Aufruf einer Seite wird Werbung angezeigt und gleichzeitig Benutzerinformationen gesammelt. Dadurch lernt zum Beispiel Google was man sucht und kann gezielt Werbung anzeigen. Doch damit nicht genug. Die gesammelten Daten werden auf teuer verkauft, damit in Shops beispielsweise höhere Preise verlangt werden, wenn man weiß, dass der Benutzer genug Geld hat. Außerdem  wird gezielt Werbung angezeigt und man bekommt oft eMails zu Themen die durch diese Methoden ausgeforscht wurden.


Mit eingeschaltetem eBlocker wird bei bekannten Werbeplattformen diese aus dem Inhalt der Seite heraus gefiltert und umgekehrt werden die Benutzerinformationen entfernt. Als Benutzer wird man unbekannt und das Daten sammeln hat keinen Sinn mehr. Laut den Entwicklern wird auch noch das Tor Netzwerk integriert, wodurch man durch seine IP Adresse nicht mehr erkannt werden kann und somit langfristig komplett anonym surft.


eBlocker in der Praxis


Anonymes Surfen klingt toll, jedoch war ich sehr skeptisch, dass das so einfach funktionieren soll. Bis jetzt musste man dafür Browser uns Betriebssystem konfigurieren und Software am Rechner installieren. All das war nur für Experten und ein normaler Benutzer wäre damit überfordert. eBlocker zeigt, dass es auch sehr viel einfacher geht. Meine Tests zeigen, dass sogar in der noch nicht fertigen Version die Werbung bei HTTP Anfragen gefiltert wird. Das im Browser eingeblendete eBlocker Interface zeigt auch bei jeder Seite wie viele Tracker es gibt. Tracker sind Dienste die Daten vom Benutzer sammeln.


eBlocker im Einsatz


Neben der Menüleiste mit allgemeinen Informationen kommt man über Settings auf ein eigenes Backend in dem man die Software konfigurieren kann. Dort kann man unter anderem eingeben welche Geräte im Netzwerk gefiltert werden sollen und man kann ebenso mehrere Benutzer mit Profilen anlegen. All das funktionierte bei meiner Version 0.7.1 leider noch nicht beziehungsweise noch rudimentär.


eblocker


eBlocker schützt die komplette Kommunikation


eBlocker mobileBemerkenswert fand ich die einfache Integration vom eBlocker Gerät im Netzwerk. Sobald dieses am Router angeschlossen ist wird standardmäßig jedes Gerät geschützt. Das funktioniert also auch bei Smartphones und Tablets.


Kein Raspberry Pi oder keinen Banana Pi zu Hause?


Ziel des Projekts ist eine fertige Software. Es wird aber auch ein fertiges Gerät zu kaufen geben, dass man lediglich anstecken muss. Ob dort nun ein Raspberry Pi oder ein Banana Pi zum Einsatz kommt ist relativ egal, wird wohl schlussendlich vom Einkaufspreis entschieden.


Fazit


Ich bin begeistert. Überraschenderweise funktioniert eBlocker nach 5 Minuten Aufwand (auf die SD Karte kopieren) und schützt meine Kommunikation von zu Hause. Meiner Meinung sollte diese Kampagne unbedingt ein Erfolg werden und ich kann auch nur jedem Raten sich so ein Gerät zuzulegen. Man erleidet zwar keinen Schaden, wenn das Surfverhalten ausspioniert wird, man bereichert aber Unternehmen und im schlimmsten Fall werden diese Daten irgendwann einmal gegen einen selbst verwendet (man bekommt beispielsweise keinen Kredit, oder muss mehr Krankenversicherung zahlen).


Was denkt ihr? Lohnt sich die Unterstützung des Projekts? Schützt ihr eure Privatsphäre bereits? Welche Alternativen gibt es?



eBlocker schützt meine Privatsphäre

Roboter Board verkabeln

Im vierten Teil meiner Raspberry Pi Roboter Artikelreihe zeige ich euch nun wie man das Board verkabeln kann und auf das Roboter Chassis montiert. Die 4 Motoren sind dann einsatzbereit. Die Montage wird dadurch beendet und wir können endlich mit der Software und der Konfiguration vom Raspberry Pi loslegen.


Roboter Board verkabeln


Die Montage des Boards ist recht einfach. Im letzten Artikel habe ich bereits erwähnt, dass unter dem Board der Akku montiert wurde. Auf der Oberseite ist bereits der Raspberry Pi angeschraubt. Nun werden die 4 Kabel der Motoren durch die Löcher gesteckt und das Board am Chassis angeschraubt. Das ganze sieht dann folgendermaßen aus:


Roboter Board verkabeln


Motoren am Board anschließen


Die Kabel müssen nun in die dafür vorgesehenen Halterungen gegeben und angeschraubt werden. Bevor man macht, sollte man sich folgendes überlegen: der Anschluss an Plus- und Minuspol legt die Richtung fest, in welcher sich der Motor dreht. Es ist darauf zu achten, dass beide Motoren einer Seite gleich angeschlossen werden, ansonsten würden sie sich die Räder gegen-gleich bewegen. Falls man später auf diesen Fehler stoßen sollte, dann tauscht man beim jeweiligen Kabel einfach die beiden Kontakte am Board aus.


Kabelenden verzinnen


Kabel verzinnenEinen kleinen Trick habe ich in einem Youtube Video zum Thema Löten für Anfänger gelernt. Nachdem man gut einen halben Zentimeter vom Kabelende ab isoliert hat sieht man, dass das Kabel aus mehreren sehr dünnen Drähten besteht. Diese so anzuschließen ist keine gute Idee, da man so schnell mehrere der ganz dünnen Drähtchen abbricht, vor allem dann, wenn man das Kabel später nochmal anders anbringen muss. Deshalb mein Tipp: die freigelegten Enden mit Zinn überziehen. Das geht so:


  • den ab isolierten Draht verdrehen

  • den heißen Lötkolben unterhalb des Drahtes anbringen

  • von oben Lötzinn auf den Draht halten, sobald der heiß genug ist verrinnt der Zinn schön und verteilt sich zwischen den einzelnen Adern des Drahtes und verklebt diese. Dieses verzinnte Ende kann man nun wunderbar mit der Schraubvorrichtung in der Halterung befestigen.

Sobald alle 4 Kabel angeschlossen sind ist die Montage fertig. Wenn man nun die Batterien ins Akkufach gibt, beziehungsweise einen geladenen Akku anschließt und den Schalter auf 1 stellt sollten die LED Lichter des Boards leuchten. Die Motoren bewegen sich noch nicht, das können wir erst mit der Software über den Raspberry Pi machen.


 


Rasperry Pi Cherokey Robot


Fazit


Das Roboter Board verkabeln ist gar nicht schwer, mit den angeschlossenen Motoren ist die Montage des Roboter Bausatzes abgeschlossen. Von nun an können wir uns im die Software kümmern und dem Roboter bewegen. Dazu mehr in einem der nächsten Artikel.


War die Anleitung für euch nachvollziehbar? Gibt es Bereiche die ich noch nicht ausführlich genug beschrieben habe?


Teil 1 | Teil 2 | Teil 3 | Teil 4



Roboter Board verkabeln

Sonntag, 9. August 2015

Roboter Chassis montieren

In diesem Teil zeige ich euch wie man das Roboter Chassis montiert. So ein Roboter Chassis kann recht einfach zusammengeschraubt werden, bei den Motoren gilt es aber auf einige Dinge zu achten. Macht man Fehler, dann kann es sein, dass diese nicht oder nicht korrekt laufen. Die Räder und Motoren müssen möglichst präzise laufen, ansonsten wird der Roboter nie gerade fahren!


Roboter Chassis montieren


Wir beginnen mit der Montage des Gestänges. Die Seitenteile werden mit jeweils 2 Querverbindungen (vorne und hinten) zusammengeschraubt. Die Teile bestehen aus schwarz gefärbten Aluminium und werden mit 16 Schrauben befestigt. Fertig montiert ist der Rahmen sehr stabil und sollte nicht wackeln.
Roboter Chassis Gestänge


Und da habe ich auch gleich den ersten Fehler gemacht. Natürlich fehlen noch die Motoren, diese gehören zwischen den beiden Querverbindungen. Insgesamt habe ich das Gestänge wohl 3 bis 4 mal zusammen- und wieder aufgeschraubt. Ich habe mir dafür viel Zeit genommen und wollte alles möglichst präzise machen.


Motoren montieren


Roboter Chassis MotorDie Motoren werden durch das gebohrte Loch der Seitenwände gesteckt und mit jeweils 2 langen Schrauben festgemacht. Die Montage ist recht einfach, man muss nur schauen, dass der Motor möglichst fest sitzt, man aber das Plastikgehäuse des Motors nicht bricht.


Die 4 Motoren sind schnell angeschraubt. Nun kommt der schwierige Teil. Jeder Motor hat 2 Anschlüsse, die man auf dem Bild als kupferfarbene Plättchen mit jeweils einem Loch identifizieren kann. Diese sind biegsam, brechen aber schnell ab, wenn man grob zu ihnen ist. In diese Löcher werden wir den Draht befestigen über den die Motoren die Spannung bekommen.


Mit dem Roboter Bausatz wird auch ein ca. 1,5 Meter langer zweiadriger Draht geliefert. Diesen muss man selber zerschneiden. Ich habe daraus 4 Stücke (einen pro Motor) mit ca. 20 Zentimeter geschnitten. Die Länge hängt von eurem Chassis ab und wo ihr das Kabel führen wollt. Bei mir werden dir Kabel direkt von unten durch das Board zu den jeweiligen Steckern geführt, überflüssiger Draht kann bis zu einem gewissen Grad unterhalb des Boards versteckt werden. Alternativ kann man die Stücke auch später noch kürzen.


Kabel anlöten


Der schwierigste Teil bei der Montage ist das anlöten der Kabel. Man benötigt folgende Dinge:


Roboter Chassis Draht lötenMit der Abisolierzange wird die Isolierung der Drähte auf ca. 0,5 bis 1 Zentimeter entfernt. Man wickelt den nackten Draht dann durch das Loch herum und verdreht diesen mit sich selbst, so dass der Draht am Motor hält. Er kann ruhig noch hin und her rutschen, wir löten diesen dann noch an. Am besten man verbindet zuerst beide Enden und kontrolliert dann, ob die Länge vom Draht passt.


Das Löten ist nicht schwierig. Man positioniert die Spitze des heißen Lötkolbens unterhalb des Drahtes und gibt von oben den Lötzinn dazu. Dieses verflüssigt sich und verklebt den verdrehten Draht sehr gut und schließt auch das Loch – der Draht sitzt nun fest. Man muss auf zwei Dinge Acht geben:


  • Lötspitze nicht zu lange auf den Draht halten, da sonst im Motor auch hohe Temperaturen entstehen

  • mit dem Lötkolben das Plastikgehäuse vom Motor nicht berühren – das verflüssigt sich sonst recht schnell

Chassis zusammenschrauben


Nachdem alle 4 Motoren montiert und alle Kabel angelötet sind braucht man den Rest vom Chassis nur noch zusammen zuschrauben. Danach kann man die Plastikreifen direkt an den Motor anstecken. Dazu ist etwas Kraft notwendig.


Roboter Chassis montieren


Akkuhalterung anschrauben


Auf der Rückseite des Boards kann man die mitgelieferte Akku- oder Batteriehalterung anschrauben. Dort kann man 5 1,5 V Batterien befestigen, diese dienen den Motoren als Energiequelle. Falls man den Arduino verwendet, kann man diesen damit auch noch mit Strom versorgen. Alternativ zur Batteriehalterung kann man auch einen LiPo Akku montieren, dieser ist aber im Lieferumfang nicht enthalten.


Fazit


Nachdem das Roboter Chassis montiert ist fehlt nur noch der letzte Schritt, das Board muss angeschraubt und die Kabel korrekt montiert werden. All das zeige ich euch im nächsten Artikel.



Roboter Chassis montieren

Samstag, 8. August 2015

Raspberry Pi Roboter zusammenbauen

Im zweiten Teil meiner Artikelserie geht es nun darum, wie man den Raspberry Pi Roboter zusammenbauen kann. Das Roboter Chassis wird ohne Anleitung ausgeliefert, man findet im Internet aber schnell ein Wiki und auch diverse Youtube Videos.


Raspberry Pi Roboter zusammenbauen


Diese Anleitung bezieht sich zwar auf meinen Cherokey Bausatz, kann aber bis auf wenige Ausnahmen auch auf viele andere Roboter Chassis angewendet werden, denn diese sind von den Teilen oft identisch. Das wichtigste und entscheidende Kriterium für mich war, dass man die Motoren auch über den Raspberry Pi ansteuern kann. Deshalb war der erste Schritt zu sehen, ob man den Raspberry Pi überhaupt auf der Platine anschrauben kann.


Raspberry Pi befestigen


Die Platine des Cherokey Mobile 4WD Bausatzes ist sehr speziell. Die enthält mehrere Löcher für Kabel, einige zur Befestigung zusätzlicher Hardware wie ein Akkufach am Boden und ein Controller Board auf der Oberseite. Die Bohrungen sind unter anderem für den Arduino vorgesehen. Der große Vorteil des Boards ist, dass es Motor Driver für die 4 Motoren enthält und deshalb keine weitere Hardware erforderlich ist.
Raspberry Pi Roboter zusammenbauen


Die Montage vom Raspberry Pi war recht einfach, er ist über 2 Abstandsbolzen am Board angeschraubt, 2 weitere dienen dazu, dass der Raspberry Pi auf dem Board darunter aufsitzt. Diese Montage ist zwar nicht perfekt, für meine Zwecke aber ausreichend. Der Pi wackelt nicht und sitzt recht fest.


Auf dem Board befinden sich folgende Hardware:


  • 6 Stützen (weißes Plastik) um darauf eine weitere Platine anzubringen

  • Ein-Ausschalter für das Board und in Folge für die Motoren (nicht für den Pi!)

  • einen Ausgang um einen Arduino mit Strom zu versorgen – dieser wird von mir nicht genutzt

  • 4 Anschlüsse für die Motoren – die Kabel werden durch die Löcher im Board geführt

  • GND und 5V Pins für diverse zusätzliche Hardware – beispielsweise weitere LED Lichter oder Sensoren

  • 4 Anschlusspins für die Motorsteuerung und ein RX und TX Pin

  • LED Lichter um das Board herum – damit das ganze cool aussieht

Ansteuerung der Motoren


Die Motoren können über die 4 Pins D4, D5, D6 und D7 angesteuert werden. Die Platzierung vom Raspberry Pi passt perfekt, die GPIO Pins liegen nicht weit entfernt und können einfach über female-female Steckdrähte angeschlossen werden.


Cherokey Mobile Robot Raspberry Pi


Besonders wichtig war für mich, dass die Kabel nicht über das ganze Board verteilt liegen, denn schließlich möchte ich mit dem Raspberry Pi nicht nur die Motoren steuern. Der Roboter soll neben seiner Mobilität auch andere Aufgaben erfüllen. Nach Möglichkeit sollen alle GPIO Pins für irgend etwas verwendet werden.


Wie man die GPIO Pins verbindet und mit welchem Source Code man den Roboter steuern kann zeige ich in einem der folgenden Artikel. Es sei zumindest soviel gesagt, dass D4 die Richtung der Motoren auf einer Seite angibt (vor oder zurück) und D5 die Geschwindigkeit. Das selbe dann noch einmal mit D6 und D7 auf der anderen Seite.


Fazit


Beim Raspberry Pi Roboter zusammenbauen ist mir gleich aufgefallen, dass der Raspberry Pi am Board befestigt werden kann. Meine größte Sorge ist somit verflogen. Das Board mit dem Raspberry Pi ist soweit einsatzbereit im nächsten Teil zeige ich euch wie ich den Rest, also die Motoren, Räder und das Chassis montiert habe. Den Rest vom Roboter zusammenbauen ist dann mit handwerklichen Können kein Problem.


Wer von euch steuert mit dem Raspberry Pi auch Motoren? Welche GPIO Pins verwendet ihr?


Teil 1 | Teil 2



Raspberry Pi Roboter zusammenbauen

Freitag, 7. August 2015

Raspberry Pi Roboter

In dieser Artikelreihe zeige ich euch wie ich meinen Raspberry Pi Roboter gebaut und programmiert habe. Dabei zeige ich euch Schritt für Schritt, welche Teile ich verwende und wie ich diese montiert habe. Außerdem wird der komplette Source Code veröffentlicht, damit ihr auch einen ähnlichen Roboter basteln könnt.


Raspberry Pi Roboter


Ein eigener Roboter ist ein langer Traum den ich mir schon immer erfüllen wollte, der Raspberry Pi ist das perfekte Gerät dafür. Er fungiert als einfach zu programmierbares Gehirn der Maschine und soll neben der Steuerung auch zahlreiche andere Funktionen übernehmen wie die Kommunikation nach außen und das Verarbeiten von Messwerten. Mein Roboter soll nicht nur eine dumme Maschine sein, er soll auch automatisch navigieren können und einige Aufgaben erfüllen können.


Wo beginnt man?


Aller Anfang ist schwer. Die Idee einen Roboter zu bauen ist faszinierend und lässt einen Nächte lang nicht schlafen. Folgende Möglichkeiten hat man:


  • alles selber entwickeln

    Das ist die schwierigste Variante. Will man alles selber machen, dann ist man an nichts gebunden, man kann seine eigenen Ideen umsetzen. Leider benötigt man dafür jede Menge Kenntnisse und Erfahrungen. Alle Teile müssen selbst entwickelt und erzeugt werden.

  • Roboter Chassis

    Man kauft sich ein Roboter Chassis oder Bausatz der nur grundlegende Teile enthält. Das ist dann eine gute Basis und man kann den Rest kreativ umsetzen.

  • Roboter Bausatz

    Ein fertiger Bausatz kann laut Anleitung gebaut werden. Leider gibt es keine für den Raspberry Pi, also fällt diese Option schon mal weg.

Ich habe mich für einen Roboter Basis Bausatz entscheiden. Diese Bausätze enthalten ein Chassis aus Metall oder Plastik, 4 Reifen samt Motoren und eine Platte auf der man weitere Hardware montieren kann. Diese gibt es schon für wenig Geld. Ich habe mir ein Mittelklasse Modell geleistet, den Cherokey Mobile Robot von DFRobot. Dieser hat ein Metall Chassis und eine Platine die ohne weitere Hardware mit dem Raspberry Pi kompatibel ist (offiziell nur mit einem Arduino).


Welches Raspberry Pi Roboter Chassis passt zu mir?


Es ist recht schwer das passende Chassis zu finden. Es gibt viele unterschiedliche, manche mit Rädern, andere mit Ketten. Auch vom Preis kann man auch wenig bis sehr viel ausgeben. Da ich absoluter Anfänger bin, wollte ich nicht viel Geld investieren und habe mir ein günstigen Bausatz geleistet, der nebenbei auch recht gut aussieht (mit LED beleuchtete, schwarze Aluminiumplatine). Die mitgelieferten Motoren und die Plastikräder sind bei den günstigen Modellen eigentlich Standard und nicht sehr hochwertig. Die Motoren sind laut und die Räder laufen nicht ganz rund und gerade… für die ersten Versuche wird das reichen, wenn das Projekt gut läuft kann man immer noch in bessere Hardware investieren.


Raspberry Pi Roboter


Die Lieferung ist da


Das Warten war eine Qual, doch irgendwann klingelte der Postbote und ich hatte ein Paket mit Roboter Bauteilen. Der Roboter kommt in einem schön verpackten Karton, dieser lag nochmals mit Luftpolsterfolie ausgekleideten größeren Karton. Alle Teile sind separat verpackt in Schachteln. Die Platine ist in einer anti-statischen Folie verpackt. Beim Auspacken fällt mir gleich etwas wichtiges auf: es ist keine Anleitung enthalten.


Raspberry Pi Roboter auspacken


Keine Anleitung?


Etwas erstaunt war ich schon, dass in der Box keine Anleitung enthalten war. Nach kurzer Recherche fand ich im Internet eine Wiki Seite von der Firma DFRobot auf der auch eine genaue Aufbauanleitung für den Cherokey zu finden ist. Diese ist zwar auf Englisch und das Codebeispiel für den Arduino, trotzdem hat mir das aber weiter geholfen und ich konnte den Roboter auch nach einigen Versuchen fahr tüchtig machen, aber dazu in einem folgenden Artikel mehr.


Fazit


Der Bau eines Raspberry Pi Roboter bedeutet vorweg viel Planung. Ich habe lange Zeit Onlineshops nach dem passenden Roboter Chassis durchsucht und war sehr wählerisch. Bis jetzt bin ich aber sehr glücklich über meine Entscheidung, der Cherokey macht gute Arbeit und funktioniert einwandfrei. Die billigen Chassis sind für den Einstieg perfekt, will man präzisere und bessere Roboter, dann kann man später immer noch umsteigen.


Im nächsten Teil  zeige ich euch wie ich meinen Raspberry Pi Roboter zusammengebaut habe und worauf ihr achten müsst.


Wer von euch wollte auch schon immer einen Raspberry Pi Roboter bauen? Welches Chassis würdet ihr nehmen? Räder oder Ketten?



Raspberry Pi Roboter