Computer
Das Betriebssystem Linux ist aus meiner
täglichen Arbeit mit dem PC nicht mehr
wegzudenken. Dabei haben mich sowohl die
Möglichkeiten als auch die Philosophie von
Linux immer fasziniert und in ihren Bann
gezogen, auch wenn ich oftmals auf "leichtes"
Unverständnis stieß.
"Software is like sex: it's better when
it's free."
(Linus Torvalds)
Was ist Linux?
Linux ist ein scheinbar junges Betriebssystem
für Computer, das 1991 von Linus Torvalds auf
einem i386 entwickelt wurde. Da er mit seinem
Betriebssystem das alte Unix nachprogrammierte,
reichen die Wurzel bis zum Anfang der siebziger
Jahre zurück. Das aus verschiedenen Teilen
bestehende Betriebssystem wird von
Softwareentwicklern auf der ganzen Welt
weiterentwickelt. Es befindet sich schon seit
Jahren auf der Überholspur und stellt heute
eine echte und vor allem kostengünstige
Alternative zu Windows dar. Linux ist für viele
ein Betriebssystem, an das sie sich nicht recht
heranwagen, da es Gerüchten zufolge, der Umgang
mit komplizierten Befehlen notwendig ist.
Längst vorbei sind die Zeiten, in denen Linux
nur von Informatikern installiert und über
komplizierte Kommandos bedient werden konnte.
Der Umgang mit Befehlen kann in der Regel durch
die Verwendung von verschiedenen
Administrationstools umgangen werden. Trotzdem
haben erfahrende Nutzer auch weiterhin die
Möglichkeit, die von den grafischen Tools
verwendeten Befehle direkt und damit schneller
einzusetzen. Die Einsatzbereiche von Linux sind
vielfältig, so läuft es z.B auf
Desktop-Rechnern, Servern, Mobiltelefonen,
Routern, Multimedia-Endgeräten und auf
Supercomputern. Wobei bei Supercomputern Linux
mit 75% die Top-500 der Supercomputer weltweit
anführt. Linux verlangt von seinem Benutzer das
er bereit ist ständig dazuzulernen, dafür
bekommt er die volle Kontrolle über sein
System. Was die Applikationen unter Linux
betrifft, so reicht die Auswahl frei
verfügbarer Programme vom Office-Paket über
Datenbanken.
Mehr Infos zu Linux und der Entwicklung findest
du hier
Wiki Linux.
Tipp
Firefox-Browser sicher einstellen
Firefox bietet von Beginn an ein gewisses Maß an Sicherheit. Mit meinen Ratschlägen erhöhst Du die Sicherheitsstufe noch weiter und verfeinerst den Schutz vor Tracking, Fingerprinting und Überwachung.
Auch heute entscheiden sich viele langjährige Computernutzer am liebsten für Mozilla Firefox, wenn es um die Wahl eines Webbrowsers geht. Daran ändert sich nichts an der weltweiten Vorherrschaft von Google Chrome und darauf basierenden Browsern wie Microsoft Edge. Die Gecko-Engine von Firefox stellt eine der wenigen verbleibenden Alternativen dar, die nicht auf Chrome-Technologie basiert.
- Direkt nach der Installation bietet Firefox in seiner Standardkonfiguration bereits einen soliden und sicheren Browser. Die Entwickler von Mozilla haben verschiedene Wege vorgesehen, um ihn individuell anzupassen. Die einfachste Möglichkeit, seine Konfiguration zu ändern, besteht darin, über das Hamburger-Menü mit den drei horizontalen Strichen oben rechts auf die Einstellungen zuzugreifen, dann „Einstellungen“ auszuwählen und zu „Suche“ zu wechseln. Anstelle von Google verwendest Du bei der Standardsuchmaschine die Alternative DuckDuckGo. Diese Suchmaschine speichert die von Dir eingegebenen Suchbegriffe nicht und leitet keine Daten weiter. Das gleiche gilt für die Suchmaschine Startpage . Wenn Du diese verwenden möchten, scroll bis zum Ende der Seite und klicke auf Weitere Suchmaschine hinzufügen. Wähle aus der Liste Startpage aus und installiere es.
- Scrolle anschließend zu Firefox-Vorschläge und entferne die Markierungen vor Vorschlägen von Firefox sowie von Sponsoren (diese Optionen sind nicht in allen Versionen von Firefox verfügbar).
- Gehe jetzt links zum Abschnitt Datenschutz & Sicherheit. Bei „Verbessertem Schutz vor Aktivitätenverfolgung“ änder die Einstellung von „Standard“ auf „Streng“. In diesem Fall blockiert Firefox in normalen Fenstern sogenannte Inhalte zur Aktivitätenverfolgung und geht entschiedener gegen Fingerprinter vor. Es handelt sich um spezielle Skripte, die von Tracking-Unternehmen verwendet werden, um Nutzer über verschiedene Webseiten hinweg auszuspionieren. Klicke anschließend auf die Schaltfläche Alle Tabs neu laden, um die Änderungen auf bereits geöffneten Firefox-Tabs anzuwenden.
- Bei den Datenschutzeinstellungen für Websites aktiviere die Option „Websites anweisen, meine Daten nicht zu verkaufen oder weiterzugeben“. Allerdings funktioniert diese Einstellung nur, wenn die Anbieter der Websites, die man besucht, sich daran halten.
- Scrolle jetzt zu den Punkten „Datenerhebung durch Firefox und deren Verwendung“ und entferne an diesen Stellen alle Häkchen. Kommen wir zu DNS über HTTPS aktivieren mit, das Du am Ende findest. Ich empfehle, die Einstellung „Maximaler Schutz“ zu wählen, da Du damit genau steuern kannst, welche DNS-Anbieter Dein Browser nutzt. Dies ist eine bedeutsame Entscheidung, weil der Browser bei jedem Aufruf einer Seite den konfigurierten DNS-Server kontaktiert. Auf diese Weise ist es dem Betreiber möglich, Dein Surfverhalten zu beobachten.
- Bei der Konfiguration „Maximaler Schutz“ offeriert Firefox standardmäßig auch den US-DNS-Anbieter Cloudflare.
Zusätzlich zu den genannten Einstellungen existieren einige kostenlose Add-ons für Firefox, die mit geringem Aufwand eine zusätzliche Absicherung und Härtung des Webbrowsers vornehmen. Das Wesentliche ist uBlock Origin. Es entfernt nicht nur unerwünschte Werbebanner, sondern blockiert auch Tracking-Skripte und sogar Drive-by-Downloads, durch die Malware heimlich auf andere Computer gelangt. Um uBlock Origin zu installieren, klicke auf das Hamburger-Menü und wähle Erweiterungen und Themes. Wähle in der linken Navigation den Punkt „Erweiterungen“ aus und tippe im Suchfeld oben die Wörter uBlock Origin ein. Klicke auf den Eintrag mit dem gleichen Namen, dann auf Zu Firefox hinzufügen, anschließend auf Hinzufügen und schließlich auf OK. Die Erweiterung tritt sofort in Kraft. In Zukunft werden Werbung und versteckte Tracking-Skripte automatisch von uBlock Origin herausgefiltert. Das Resultat wird bei jedem Webseitenaufruf als kleine Ziffer über dem Erweiterungssymbol in der Adressleiste angezeigt. Detailliertere Informationen werden durch einen Klick auf das Symbol angezeigt.
Die Alternative zu Google
DuckDuckGo
Wer keine Spuren bei der Online-Suche hinterlassen will, sollte besser auf eine alternative Suchmaschine zurückgreifen. Ich nutze zur Recherche im Internet die Suchmaschine DuckDuckGo, die sich den Datenschutz der Nutzer auf die Fahnen geschrieben hat. DuckDuckGo speichert nach eigenen Angaben keine persönlichen Daten. Auch Cookies oder Searchlogs finden sich bei der Google-Alternative nicht.
Der Suchindex ist sicher kleiner als der von
Google, dafür gibt es weniger Spam- und
Linksammlungen in den Ergebnislisten. Die
Funktionalität meiner neuen Lieblingssuchmaschine
gefällt mir sehr gut. DuckDuckGo zeigt manchmal
eine Zero-Click-Box an, welche verschiede
Erklärungen des Begriffes aus unterschiedlichen
Quellen anbietet. Oft steht in der Infobox auch
schon das, was gesucht wird. Schön sind die
anpassbaren Voreinstellungen, in denen der Nutzer
die Suchmaschine nach seinem Geschmack
konfigurieren kann. Nach der Umstellung der Option
"Region" auf Deutschland werden regional angepasste
Ergebnisse auf Deutsch angezeigt. Auch das Aussehen
ist anpassbar. Alle Einstellungen werden mithilfe
von anonymisierten Cookies auf der heimischen
Festplatte gespeichert oder in der Cloud als Datei
mit Schlüssel abgelegt. Sichert der Benutzer die
persönlichen Sucheinstellungen in der Cloud, kann
er bequem die individuellen Einstellungen an jedem
beliebigen Computer im Internet wieder herstellen.
Die !Bang Suchsyntax macht DuckDuckGo so
interessant. Zum Suchen auf der deutschen
Wikipedia-Seite gibt man ein !wde vor, ein !g
durchsucht Google und ein !a sucht gezielt bei
Amazon. Ein \ vor dem Suchbegriff springt direkt
zum ersten Suchergebnis. Entwickler können mit
DuckDuckGo z.B. über !csharp array gezielter nach
Code-Dokumentationen suchen als mit der
Google-Suche.
Interessierte sollten sich folgende Seiten ansehen:
DuckDuckGo
die Suchmaschine mit Suchergebnissen in deutscher
Sprache
Goodies eine
Zusammenfassung aller Funktionen
!Bang Syntax
lange Liste aller möglichen !Bang Suchbefehle
Mein neues Spielzeug: Der Raspberry Pi
Der Raspberry Pi ist ein kleiner Einplatinencomputer mit ARM11-Prozessor. In Linux Kreisen sorgt die scheckkartengroße Platine schon seit einiger Zeit für Aufsehen und ist mit knapp 40 Euro recht erschwinglich. Eigentlich wurde er entwickelt und hergestellt, um bei Kindern die Freude am Programmieren zu wecken. Zur besseren Einschätzung der Leistung des Raspberry Pi, erst mal ein paar Technische Eigenschaften der Version B:
- Broadcom BCM2835 700 MHz ARM1176JZFS-Prozessor
- 512 MB RAM
- SD-/SDHC-Kartenslot (dienst als Laufwerk für das System)
- 10/100 BaseT-Ethernet-Buchse (Modell B)
- HDMI-Videobuchse
- RCA Composite Video-Buchse
- 2x USB 2.0-Buchse (Modell B), 1x USB 2.0-Buchse (Modell A)
- Stromversorgung über microUSB-Buchse
- 3,5-mm-Jack für Audioausgang
- Stiftleiste für GPIO
- Platz für Stiftleiste zum Anschluss einer Kamera
- Größe: 85,6 x 53,98 x 17 mm
Als Betriebssystem, für den Raspberry Pi, habe ich eine ARM Version vom Debian-Derivat Raspbian “wheezy” installiert. Wie ich das Linux-System installiert habe, wird weiter unten beschrieben. Die Verwendungszwecke für den Winzling sind natürlich vielfältig, ich denke darüber nach, ob ich mein Zuhause damit etwas mehr automatisieren kann oder den “kleinen Linux Zwerg” als eine Art Datenserver einzusetzen und alle meine mobilen und stationären Geräte damit zu verbinden. Darüber könnte ich dann auch meinen Drucker als Netzwerkdrucker betreiben. Natürlich habe ich noch viele andere Ideen in meinem Kopf, man könnte z.B. die Gartenbewässerung automatisch steuern oder das Garagentor mit Siri öffnen. Anfangen werde ich mit einem kleinen Projekt um ein paar Hardwarenahe Programme zu schreiben. Interessant ist hier natürlich die Hardwareschnittstelle über die GPIO-Ports.
Anleitungen
Projekte
Die Linux Installation
Raspbian-Image auf SD-Karte installieren
Hier beschreibe ich die Linux Installation, sowie die notwendige Konfiguration, nach dem ersten Bootvorgang des Raspberry PI. Ich habe mich für die Raspbian Distribution von Debian entschieden. Raspbian basiert auf Debian "wheezy" und wurde speziell für die Raspberry Pi Hardware optimiert. Das Raspbian Image wird auf eine SD-Karte mit mindestens 2GB Speicherkapazität installiert.
Raspbian herunterladen.
Das Raspbian Image kann über den folgenden Link geladen werden:
Nach erfolgreichem Download des ZIP-Archives sollte überprüft werden, ob es fehlerfrei und vollständig übertragen wurde.
Das Image auf die SD-Karte schreiben.
Die Installation von Raspbian unter Windows ist sehr einfach: Man benötigt dazu das Programm: Win32DiskImager.
- Image entpacken
- Win32DiskImager starten
- Mit einem Klick auf das Ordnersymbol öffnen wir den Explorer und suchen unser Image
- Zielquelle wählen (Laufwerksbuchstabe von dem SD Card-Reader/Writer)
- Mit "Write" Schreibvorgang starten
- Den Win32DiskImager beenden und die Speicherkarte aus dem Card Reader entnehmen.
Unter Linux ist es auch sehr einfach:
- Image entpacken
- Mit dem Kommando df -h nachsehen welche Discs gemountet sind
- SD Karte in Ihren SD Card-Reader/Writer einstecken
- erneut mit df -h nachsehen welche Discs gemountet sind
Die neu hinzu gekommene Disc ist ihre SD Karte. - Kommando als root user eingeben: unmount /dev/sdd1 /* Kann auch anders heißen Das unmounten ist notwendig damit Daten mit nachfolgendem Kommando auf die Disc geschrieben werden können.
- Kommando als root user eingeben:
dd bs=1M if=~/<ordner>/*.img of=/dev/sdd Das dd Kommando hat keine Fortschrittsanzeige und es kann ein wenig dauern. - Kommando eingeben: sync Damit alle Daten sicher auf die SD Karte geschrieben wurden und die SD Karte entnommen werden kann.
Das Schreiben des Images für MAC-User geht am besten so:
- Image entpacken
- Starten sie df -h vom Terminal
- SD Karte in Ihren SD Card-Reader/Writer einstecken
- erneut mit df -h nachsehen welche Discs gemountet sind
Die neu hinzu gekommene Disc z.B. /dev/disk1s1 ist ihre SD Karte. - Unmounten dieser Disc damit ein überschreiben möglich ist. Kommando: diskutil unmount /dev/disk1s1
- Den Disk Namen für das raw device ermitteln: /dev/disk1s1 --> /dev/rdisk1 (aus disk wird rdisk, s1 wird weggelassen)
- Kommando: sudo dd bs=1m if=~/Downloads//*.img of=/dev/rdisk1
- Kommando eingeben:
diskutil eject /dev/rdisk1
Der erste Start.
Nun die vorbereitete SD Karte in den Raspberry Pi stecken. Hiernach die Tastatur und Maus mit den USB-Anschlüssen des Raspberry Pi verbinden. Jetzt fehlt noch der Monitor. Entweder schließen wir ihn über den HDMI-Anschluss an ein HDMI-fähiges Wiedergabegerät oder wir benutzen den Composite Videoausgang. Wenn Sie den Raspberry Pi mit einem LAN Kabel an ihr Netzwerk angeschlossen haben, dann wird er versuchen über DHCP eine IP Adresse zu bekommen. Hat der Raspberry Pi Verbindung mit dem Internet, besteht schon beim ersten Start die Möglichkeit das Betriebssystem zu aktualisieren. Als letztes verbinden wir das Netzteil mit der micro-USB_Buchse. Wenn alles funktioniert blinken die LEDs auf der Leiterplatte und der Bildschirm füllt sich mit Meldungen. Nach einer Weile erscheint dann das Konfigurationsmenü "Raspi-config" für die Ersteinrichtung. Es hilft dabei, die wichtigsten Einstellungen des Systems vorzunehmen. Das Menü wird mit der Tastatur bedient. Mit der Pfeil-unten-Taste erreicht man den nächsten Menüpunkt und mit der Pfeil-oben-Taste gelangt zum vorhergehenden Punkt zurück. Die Select-Schaltfläche selektiert man durch Drücken der Tabulator- oder Pfeil-rechts-Taste. Mit der Leer- oder Returntaste wird der Menüpunkt zu aktiviert.
Wir fangen mit dem Punkt "expand_rootfs" an. Das Image des Betriebssystems ist es für eine SD-Karte mit 2 GB Speicher ausgelegt. Benutzt man eine größere Speicherkarte, kann der restliche verfügbare Speicherplatz der Systempartition hinzugefügt werden. Der eigentliche Prozess dieser Anpassung läuft beim nächsten Hochfahren ab.
Über den Menüpunkt "configure_keyboard" kann man die Tastaturbelegung auswählen. In den meisten Fällen reicht es aus, als Tastatur German und dann Generic 105-key (Intl) PC zu wählen.
Über den Punkt "change_locale" bestimmen wir Zeichensatz und Sprache des Systems. Wir setzen die Locale auf "de_DE.UTF-8 UTF-8" indem wir den Punkt mit der Leertaste markieren. Durch einem Druck auf die TAB-Taste gelangen wir auf die Schaltfläche "Ok" und wählen nun nochmal "de_DE.UTF-8" aus. Es dauert ein wenig, bis die Einstellungen gändert sind.
Mit "change_timezone" wählen wir die richtige Zeitzone. Wir nehmen Europa (Europe) Und in Europa natürlich Berlin.
"ssh" bietet die Möglichkeit den Raspberry Pi von einem anderen Rechner aus zu bedienen. Wir sollten diese Möglichkeit einschalten.
Mit der Schaltfläche "finish" verlassen wir das Hauptmenü. Beim erneuten Start des Raspberry Pi wird "Raspi-config" nicht automatisch mehr ausgeführt. Es kann aber im Terminal immer wie folgt aufrufen werden:
pi@raspberry:~$ sudo raspi-config
Nun sollte erst einmal das System auf den neusten Stand gebracht werden. Durch die Eingabe von:
pi@raspberry:~$ sudo apt-get update && sudo apt-get upgrade
wird die Datenbank des Paketmanagers auf den neuesten Stand gebracht und veraltete Pakete werden durch neue ersetzt. Es empfiehlt sich diesen Schritt, in regelmäßigen Abständen, durchzuführen.
Wlan konfigurieren
Nun möchte ich den Raspberry PI über Wlan in das Netzwerk einbinden. Hierfür verwende ich einen EDIMAX EW-7811UN USB-Wlan Adapter. Hierfür lasse ich die kabelgebundene Netzwerkverbindung bestehen, um mich per SSH mit dem Raspberry Pi zu verbinden.
Die Installation
- Zuerst wird der USB-Adapter an die USB-Buchse des Raspberry Pis angesteckt und danach wir fahren den Pi hoch.
- Nach dem Einloggen geben wir den Befehl
pi@raspberry:~$ sudo lsusbein, welcher alle am USB angeschlossenen Geräte auflistet. Der letzte Eintrag ist der Wlan USB-Stick. Er zeigt, dass hier der Edimax EW-7811UN-Adapter mit einem RTL8188CUS-Chipsatz von Realtek angeschlossen ist. - Der Edimax EW-7811UN-Adapter sollte vom Kernel automatisch
erkannt und das entsprechende Treibermodul geladen werden. Die
Präsenz des passenden Gerätetreibers wird durch Eingabe von lsmod
festgestellt. Das Kernel-Modul heißt 8192cu und nach diesem wird mit
folgendem Kommando gesucht.
pi@raspberry:~$ sudo lsmod | grep -i 8192cu - Bei geladenem Modul sollte der USB-Adapter beim Aufruf von iwconfig als WLAN-Schnittstelle aufgeführt werden.
- Um nun eine Verbindung mit unserem WLAN herzustellen, müssen wir
die Datei /etc/network/interfaces editieren mit:
pi@raspberry:~$ sudo nano /etc/network/interfacesHier suchen wir etwaige Einträge die mit der Bezeichnung "wlan0" bezeichnet sind und passen den Inhalt an.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 "WLAN-NAME"
wpa-psk "WLAN-SCHLÜSSEL" - Die IP-Nummer wird durch diese Einstellungen automatisch
zugewiesen. Den Raspberry PI mit
pi@raspberry:~$ sudo poweroffausschalten und die kabelgebundene Netzwerkverbindung trennen. Beim Neu-Start wird automatisch die Wlan Verbindung hergestellt.
Installieren der WiringPi Bibliothek
Für die Ansteuerung der GPIOs, wird die Bibliothek WiringPi gebraucht, sie kann in C, C++, Python, Java und PHP eingebunden werden. Voraussetzung für eine Installation der WiringPi Bibliothek ist das Paket git-core. Git ist ein dezentrales Versionsverwaltungssystem, es unterscheidet sich als dezentrales System von den traditionellen Programmen wie CVS und Subversion. Wir testen das Vorhandensein von git-core durch die Eingabe von:
pi@raspberry:~$ sudo git -version
Erhalten wir eine Meldung dass das Paket nicht vorhanden ist, installieren wir es durch:
pi@raspberry:~$ sudo apt-get install git-core
Jetzt sind die Voraussetzungen für eine Installation der WiringPi Bibliothek erfüllt. Wir laden den Quellcode von GitHub herunter und kompilieren ihn anschließend. Dies erledigen wir durch die folgenden drei Punkte:
- Wir clonen den Quellcode auf den Raspberry Pi.
pi@raspberry:~$ sudo git clone git://git.drogon.net/wiringPi - Und wechseln in das neu erstellte Verzeichnis wiringPi.
pi@raspberry:~$ cd wiringPi - Abschließend kompilieren und installieren wir wiringPi.
pi@raspberry:~$ sudo ./build
WiringPi ist nun erfolgreich installiert, falls alle Schritte ohne Fehler durchgeführt werden.
Eine LED mittels GPIO-Pin ansteuernDer Raspberry Pi bietet einige GPIO's (General Purpose Input/Output), die über die Steckerleiste 'P1' nach außen geführt sind. Die GPIO Pins sind als 3,3V Signale ausgeführt und nicht TTL kompatibel. Dabei übernehmen bestimmte Pins neben der einfachen Ansteuerung auch bestimmte Funktionen wie die Kommunikation per I2C, UART oder SPI.
P1: GPIO-Belegung:
|
wiringPi Pin |
BCM GPIO |
Name | Pinleiste | Name |
BCM GPIO |
wiringPi Pin |
|---|---|---|---|---|---|---|
| – | – | 3.3v | 1 | 2 | 5v | – | – |
| 8 | R1:0/R2:2 | SDA0 | 3 | 4 | 5v | – | – |
| 9 | R1:1/R2:3 | SCL0 | 5 | 6 | 0v | – | – |
| 7 | 4 | GPIO7 | 7 | 8 | TxD | 14 | 15 |
| – | – | 0v | 9 | 10 | RxD | 15 | 16 |
| 0 | 17 | GPIO0 | 11 | 12 | GPIO1 | 18 | 1 |
| 2 | R1:21/R2:27 | GPIO2 | 13 | 14 | 0v | – | – |
| 3 | 22 | GPIO3 | 15 | 16 | GPIO4 | 23 | 4 |
| – | – | 3.3v | 17 | 18 | GPIO5 | 24 | 5 |
| 12 | 10 | MOSI | 19 | 20 | 0v | – | – |
| 13 | 9 | MISO | 21 | 22 | GPIO6 | 25 | 6 |
| 14 | 11 | SCLK | 23 | 24 | CE0 | 8 | 10 |
| – | – | 0v | 25 | 26 | CE1 | 7 | 11 |
|
wiringPi Pin |
BCM GPIO |
Name | Pinleiste | Name |
BCM GPIO |
wiringPi Pin |
P5: Erweiterungsanschluss nur auf Revision 2 Leiterplatten:
| wiringPi Pin | BCM GPIO | Name | Pinleiste | Name | BCM GPIO | wiringPi Pin |
|---|---|---|---|---|---|---|
| – | – | 5v | 1 | 2 | 3.3v | – | – |
| 17 | 28 | GPIO8 | 3 | 4 | GPIO9 | 29 | 18 |
| 19 | 30 | GPIO10 | 5 | 6 | GPIO11 | 31 | 20 |
| – | – | 0v | 7 | 8 | 0v | – | – |
|
wiringPi Pin |
BCM GPIO |
Name | Pinleiste | Name |
BCM GPIO |
wiringPi Pin |
Der Raspberry Pi dient als Basis für einen minimalen Versuchsaufbau, der zum Ziel hat eine LED blinken zu lassen, sozusagen ein blinkendes "Hello World". Der ganze Versuchsaufbau eignet sich gut als Einstiegsprojekt, da es die Grundlagen der Hard- und Software behandelt. Ich habe eine LED und einen 330 Ohm Widerstand mit den Pin 11 (= GPIO 17 = WiringPi Pin 0) und den Pin 14 (Masse) verbunden.
Das erste Programm
Es wird ein möglichst einfaches aber garantiert funktionierendes Programm benötigt, welches in den Editor Nano eingegeben oder hinein kopiert wird.
pi@raspberry:~$ sudo nano blink.c
Der Quellcode:
#include <wiringP.h>
int main () {
// WiringPi-Api
wiringPiSetup () ;
// Schalte GPIO 17 (=WiringPi Pin 0) auf Ausgang
// Achtung: WiringPi Layout anwenden (siehe Tabelle oben)
pinMode (0, OUTPUT) ;
// Dauerschleife
for (;;)
{
// LED an
digitalWrite (0, HIGH) ;
// Warte 500 ms
delay (500) ;
// LED aus
digitalWrite (0, LOW) ;
// Warte 500 ms
delay (500) ;
}
}
Das kleine C-Programm lässt eine LED an einem Raspberry Pi blinken. Die LED wird alle 500 ms an bzw. ausgeschaltet. Die Bibliothek wiringPi.h muss installiert sein.
Nun wird das Skript kompiliert:
pi@raspberry:~$ gcc -Wall -o blink blink.c -lwiringPi
und mit Root-Rechten gestartet:
pi@raspberry:~$ sudo ./blink