Stephan Hüwe
Raspberry Pi für Windows 10 IoT Core
Der praktische Einstieg für Anwender und Entwickler
Inhaltsverzeichnis
6
1 Einführung
12
1.1 Für wen ist dieses Buch interessant?
12
1.2 Wie ist dieses Buch aufgebaut?
13
1.3 Wichtige Hinweise
14
1.4 Material zum Buch
15
2 Schnelleinstieg in die Welt des Raspberry Pi
16
2.1 Ursprung
16
2.2 Varianten
17
2.3 Der Weg zu Windows 10
19
2.4 Aufbau
19
2.5 Schnittstellen
20
2.5.1 GPIO
21
2.5.2 SPI
22
2.5.3 I2C
22
2.5.4 UART
23
2.6 Prototyping und Testaufbauten
24
2.6.1 Breadboarding
24
2.6.2 Softwareunterstützung
25
2.6.2.1 Fritzing
25
2.6.2.2 Virtual Breadboard
27
2.7 Elektrotechnische Grundlagen
28
2.7.1 Vorsichtsmaßnahmen im Umgang mit Spannung
28
2.7.2 Statische Aufladung vermeiden
28
2.7.3 Ohmsches Gesetz
29
2.7.4 Energieversorgung am Raspberry Pi
29
2.7.4.1 Stromstärke und Wahl des Netzteils
30
2.7.4.2 Unterbrechungsfreie Stromversorgung
31
2.7.4.3 Mobile Stromversorgung
31
2.7.4.4 Energieversorgung und GPIO
32
2.7.5 Stromversorgung von Bauteilen (z.?B. Motoren)
33
2.7.6 LEDs
34
2.7.7 Widerstände
36
2.7.8 Weitere Bauteile
37
2.8 Benötigte Ausrüstung
38
2.8.1 Raspberry Pi-Ausrüstung
38
2.8.2 Offizielles Zubehör
39
2.8.2.1 Offizieller WLAN-Adapter
39
2.8.2.2 Raspberry Pi-Touchscreen-Display
39
2.8.3 Allgemeine Elektronik
41
2.8.4 Was brauche ich sonst noch?
41
3 Internet of Things mit Windows 10 IoT Core
42
3.1 Chancen für Windows 10 IoT Core
42
3.2 Internet of Things (IoT)
45
3.2.1 Ursprung und Idee
45
3.2.2 IoT als wachsender Markt
46
3.3 Beschaffung und Wartung
47
3.4 Sicherheit
48
3.5 Rechtliche Themen
49
4 Windows 10 auf dem Raspberry Pi
52
4.1 Eine letzte Windows-Version für alle
52
4.2 Bezugsvarianten und Updates
53
4.3 Lizenzierung
54
4.4 Installation
55
4.4.1 Voraussetzung
55
4.4.2 Unterstützte Schnittstellen und Geräte
56
4.4.3 Download
57
4.4.4 Installation der Windows 10 IoT Core-Tools
57
4.4.5 Hinweise zur Netzwerkumgebung
59
4.4.5.1 Verbindung in das lokale Netzwerk
60
4.4.5.2 Direktverbindung zu Ihrem PC
60
4.4.6 Raspberry Pi für den ersten Start vorbereiten
60
4.4.7 Bootvorgang und erster Start
61
4.4.8 Administration des Raspberry Pi
63
4.5 Inbetriebnahme und Administration
63
4.5.1 Default-App
64
4.5.2 Raspberry Pi im Netzwerk finden
64
4.5.3 Verbindung über FTP
64
4.5.4 Verbindung über SSH
65
4.5.5 Verbindung über PowerShell
67
4.5.6 Allgemeine Kommandos
69
4.5.6.1 Lokale Benutzer anlegen
69
4.5.6.2 Benutzer zu Gruppen zuweisen
69
4.5.6.3 Passwort setzen
70
4.5.6.4 Gerätenamen abrufen und setzen
70
4.5.6.5 Netzwerkkonfiguration
70
4.5.6.6 Kopierwerkzeuge
70
4.5.6.7 Prozessverwaltung
70
4.5.6.8 Administration der Startup-App
71
4.5.6.9 Boot-Option festlegen
72
4.5.6.10 Geplante Aufgaben
72
4.5.6.11 Gerätetreiber
72
4.5.6.12 Zugriff auf die Registry
72
4.5.6.13 Dienste
72
4.5.6.14 Bootkonfiguration
72
4.5.6.15 Gerät herunterfahren oder neu starten
73
4.5.6.16 Bildschirmauflösung ändern
73
4.5.7 Weboberfläche
73
4.5.7.1 Grundlegendes
73
4.5.7.2 Administrationsbereiche
74
4.5.8 Bereich Home
74
4.5.9 Bereich Apps
75
4.5.10 Bereich Processes
76
4.5.11 Bereich Performance
76
4.5.12 Bereich Debugging
77
4.5.13 Bereich Realtime Event Tracking
78
4.5.14 Bereich Performance Tracing
79
4.5.15 Bereich Devices
80
4.5.16 Bereich Bluetooth
80
4.5.17 Bereich Networking
80
4.5.18 Bereich Windows Update
81
5 Entwicklung mit dem Raspberry Pi
82
5.1 Vorbereitung
82
5.2 Installation und Einrichtung
83
5.3 Windows IoT Core-Projektvorlagen
84
5.4 Das Konzept der Universal Apps
86
5.5 Beispielanwendung: Hello Pi
88
5.5.1 Benötigte Bauteile
89
5.5.2 Hardwareaufbau
89
5.5.3 Projekt in Visual Studio anlegen
90
5.5.4 Programmaufbau
92
5.5.4.1 Hinterlegen des Begrüßungstexts und Start-Buttons
93
5.5.4.2 Timer-Komponente
94
5.5.4.3 GPIO
94
5.5.5 Das gesamte Programm
95
5.5.6 Deployment und Debugging
97
5.5.6.1 Deployment und Test über Visual Studio
97
5.5.6.2 App-Pakete für den Store oder die lokale Verwendung
99
6 Projekte mit dem Raspberry Pi
106
6.1 Grundinformationen zum Source Code
106
6.2 Remote-Lichtschalter
107
6.2.1 Benötigte Komponenten
108
6.2.2 Hardwareaufbau
108
6.2.3 Softwareaufbau
108
6.2.4 Projektstruktur und Source Code
109
6.2.4.1 Besondere Projekteigenschaften
109
6.2.4.2 Modifizierung des Projekts
110
6.2.4.3 Hauptanwendung – HttpServer
111
6.2.5 Code auf GitHub
114
6.2.6 Demo
115
6.2.7 Ausblick
116
6.2.7.1 Verschönerung der Weboberfläche/Webservice
116
6.2.7.2 Schaltung einer „echten“ Lampe statt LED
116
6.3 Begrüßungsscreen für Besucher
119
6.3.1 Benötigte Komponenten
120
6.3.2 Hardwareaufbau
120
6.3.3 Softwareaufbau
120
6.3.4 Projektstruktur und Source Code
121
6.3.4.1 Format der Quelldaten
121
6.3.4.2 ViewModel
122
6.3.4.3 Hauptanwendung – Code Behind
123
6.3.4.4 Hauptanwendung – XAML
125
6.3.5 Code auf GitHub
127
6.3.6 Demo
127
6.3.7 Ausblick
127
6.3.7.1 Darstellung von Geschäftszahlen
127
6.3.7.2 Unser eigener TV-Sender
128
6.3.7.3 Wochenplaner für die Familie
128
6.4 Temperatursensor mit SPI
128
6.4.1 Benötigte Komponenten
128
6.4.2 Hardwareaufbau
129
6.4.2.1 Temperatursensor TMP36GT9Z
129
6.4.2.2 A/D-Wandler MCP 3002
130
6.4.2.3 Aufbau der Schaltung
131
6.4.3 Softwareaufbau
133
6.4.4 Projektstruktur und Source Code
134
6.4.4.1 Hauptanwendung – Code Behind
134
6.4.4.2 Hauptanwendung – XAML
136
6.4.5 Code auf GitHub
137
6.4.6 Demo
137
6.4.7 Ausblick
137
6.5 Kamera-Projekt (Mobile und IoT)
139
6.5.1 Benötigte Komponenten
139
6.5.2 Hardwareaufbau
139
6.5.3 Softwareaufbau
140
6.5.4 Projektstruktur und Source Code
140
6.5.4.1 Hauptanwendung – Code Behind
140
6.5.4.2 Hauptanwendung – XAML
143
6.5.5 Code auf GitHub
144
6.5.6 Demo
145
6.5.7 Ausblick
146
6.6 Mobile Datenerfassung mit dem Raspberry Pi
146
6.6.1 Benötigte Komponenten
147
6.6.2 Hardwareaufbau
147
6.6.2.1 Stromversorgung
147
6.6.2.2 Benutzerinteraktion und Bildschirmausgaben
151
6.7 Raspberry Pi und Cloud
152
6.7.1 Benötigte Komponenten
154
6.7.2 Hardwareaufbau
155
6.7.3 Softwareaufbau
155
6.7.4 Einrichtung der Cloud
155
6.7.4.1 Registrierung des Raspberry Pi am IoT Hub
158
6.7.5 Projektstruktur und Source Code
161
6.7.5.1 Projekt zum Nachrichtenversand – MessageSender
162
6.7.5.2 Projekt zur Nachrichtenverarbeitung – MessageProcessor
164
6.7.6 Code auf GitHub
166
6.7.7 Demo
166
6.7.8 Ausblick
166
6.8 Weitere Projektideen
168
6.8.1 Kommunikation über Bluetooth
168
6.8.2 Sprachausgabe
170
6.8.3 Bildschirmausgabe
172
6.8.4 Motoren
175
6.8.4.1 Gleichstrommotoren
176
6.8.4.2 Schrittmotoren
176
6.8.4.3 Servo-Motoren
177
6.9 Exkurs: Arduino Wiring/Sketch
178
6.9.1 Der Arduino
178
6.9.2 Crashkurs Arduino Sketch
180
6.9.3 Arduino Wiring-Apps mit Visual Studio
182
6.9.4 Umstellung des Controller-Treibers
185
Stichwortverzeichnis
188
© 2009-2024 ciando GmbH