GPIO Schnittstelle: Mit WiringPi in 15 Minuten auf die GPIO Ports des Raspberry Pi zugreifen – Teil 3
Mit der wiringpi kann man leicht auf die GPIO Ports des Raspberry Pi zugreifen. Mit den Pins kann man dann leicht Hardware steuern. Auf dem Blog gibt es eine gute ausführliche Anleitung. Das will ich nicht wiederholen, sondern hier geht es darum wie man mit C++ auf die GPIO zugreifen kann. Obwohl man auch in 15 Minuten nach Installation der wiringpi Api die GPIO über Bash Scripte oder Python ansprechen kann.
Hier nun die nötigen Vorarbeiten um C++ mit wiringpi machen zu können. Es sind dort auch einige C Beispiele im Repo. Dazu aber später mehr.
Entweder man installiert das Package mit
1
sudo apt-get install wiringpi
oder wie hier nun beschrieben über Git die neueste Version und compiliert es selber mit dem Ausführen des build Scriptes. Das ist hier beschrieben da wir das als API für die C++ Programmierung brauchen.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
# das Repo aus Git holen
git clonegit://git.drogon.net/wiringPi
cd wiringPi
# Ausführen des Build und install Script
./build
# es dauert ca. eine Minuten
#
wiringPi Build script
=====================
WiringPi Library
[UnInstall]
[Compile]wiringPi.c
[Compile]wiringSerial.c
[Compile]wiringShift.c
[Compile]piHiPri.c
[Compile]piThread.c
[Compile]wiringPiSPI.c
[Compile]wiringPiI2C.c
[Compile]softPwm.c
[Compile]softTone.c
[Compile]mcp23008.c
[Compile]mcp23016.c
[Compile]mcp23017.c
wiringPi.c:1248:21:warning:‘digitalWrite8Dummy’defined but notused[-Wunused-function]
*ThisRaspberry Pi supports user-level GPIO access.
Nun ein erster echter Test, wir lesen alle Daten der GPIO Schnittstelle mit:
1
gpio readall
und schon haben wir alle Date in einer übersichtlichen Tabelle angezeigt, aus der wir auch die Pin Belegungen usw. entnehmen können:
Jetzt compilieren wir noch die Beispiele, dazu gehen wir in das ~/wiringPi/examples Verzeichnis und starten mit:
1
make really-all
Jetzt können wir aus dem Verzeichnis das Testprogramm blink starten, oder mein tw-blink.sh Script ausführen das alle 5 Sekunden an und aus schaltet:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters