Raspberry Pi PN.key

Werbung
Raspberry Pi
Programmieren und Netzwerke bauen
Der Raspberry Pi ist ein Mini-Computer, der ursprünglich für Schüler und Studenten
gedacht ist, aus diesem Grund sehr günstig ist und nur ca. 35 Euro kostet. Dieser
Mini-Computer ermöglicht den Erstkontakt zu Linux, Shell Scripting,
Programmieren, Physical Computing und kann auch im Produktiveinsatz verwendet
werden. Ganz nebenbei kann man mit dem Raspberry Pi viel über die
grundsätzliche Funktionsweise von Computern lernen.
1
Raspberry Pi PN.key - 21. März 2016
Patrick Schnabel
•
Elektronik-Kompendium.de
•
Fachbuchautor für
Elektronik und IT
•
Dozent an der DHBW
in Stuttgart
•
Themenschwerpunkte:
Einführung in die IT und
Kommunikationssysteme
2
Patrick Schnabel ist ausgebildeter Kommunikationselektroniker und war mehrere
Jahre bei Bosch, Avaya und der LBBW als Servicetechniker im Bereich
Telekommunikation und Netze tätig. Heute ist er Fachbuchautor für Elektronik und
Informationstechnik. Er betreibt dazu auch die Webseite ElektronikKompendium.de für Azubis und Studenten, die sich in einer technischen
Ausbildung befinden. Parallel dazu ist er als Dozent an der Dualen Hochschule
Baden-Württemberg in Stuttgart für die Fachrichtung Wirtschaftsinformatik tätig. Er
hält dort die Vorlesungen "Einführung Rechnersysteme" und
"Kommunikationssysteme".
2
Raspberry Pi PN.key - 21. März 2016
www.elektronik-kompendium.de
Elektronik-Kompendium.de ist die Webseite über Elektronik, Computertechnik,
Kommunikationstechnik und Netzwerktechnik.
3
Raspberry Pi PN.key - 21. März 2016
Bücher
Elektronik-Fibel
Kommunikationstechnik-Fibel
Computertechnik-Fibel
Netzwerktechnik-Fibel
4
Raspberry Pi PN.key - 21. März 2016
Screencast
Aufzeichnung von Folien und die dazugehörigen Ausführungen.
Video auf YouTube.
5
Raspberry Pi PN.key - 21. März 2016
www.patrick-schnabel.de
6
Folien als PDF-Datei und Video zu finden auf www.patrick-schnabel.de.
6
Raspberry Pi PN.key - 21. März 2016
Der Raspberry Pi wurde ursprünglich für Bildungszwecke entwickelt, um ihn an
Schulen und Universitäten einzusetzen und den Unterricht und das Studium
interessanter zu gestalten.
Leider befindet sich der praktische Einsatz des Raspberry Pi oder eines
vergleichbaren Einplatinen-Computers in Deutschland, Österreich und der Schweiz
noch in den Kinderschuhen. Hört man sich zu dem Thema um, findet man nur
wenige Beispiele, die den Einsatz des Raspberry Pi im Schulunterricht, in der
Ausbildung oder im Studium zeigen.
7
Raspberry Pi PN.key - 21. März 2016
Programmieren
mit dem Raspberry Pi
8
8
Raspberry Pi PN.key - 21. März 2016
…
9
9
Raspberry Pi PN.key - 21. März 2016
Scratch ist eine erstmals 2007 veröffentlichte erziehungsorientierte visuelle
Programmiersprache für Kinder und Jugendliche inklusive ihrer
Entwicklungsumgebung und der eng verknüpften Online-Community-Plattform.
hr Ziel ist es, Neueinsteiger − besonders Kinder und Jugendliche − mit den
Grundkonzepten der Computerprogrammierung vertraut zu machen.
10
Raspberry Pi PN.key - 21. März 2016
Python
11
Python ist eine universelle Programmiersprache. Der Fokus liegt auf der
Programmlesbarkeit.
Python gilt als einfach zu erlernende Sprache, da sie über eine klare und
übersichtliche Syntax verfügt.
Python ist das moderne „Basic“ mit mehr Potential.
11
Raspberry Pi PN.key - 21. März 2016
Grundlagen: Python
•
Unterscheidung Python Version 2.7 und 3.x
•
ist auf Raspbian vorinstalliert (Raspberry Pi)
•
Verzicht auf geschweifte Klammern
•
Programmstruktur durch Einrückungen
12
12
Raspberry Pi PN.key - 21. März 2016
Unsere
Entwicklungsumgebung
IPython Notebook
https://try.jupyter.org/
13
IPython Notebook
Web-Dienst zum Editieren und Ausführen von Python-Code im Browser.
Python ohne Konsole im Browser ausprobieren:
https://try.jupyter.org/
13
Raspberry Pi PN.key - 21. März 2016
Rechts oben auf „New“ klicken und „Python 3“ auswählen.
14
Raspberry Pi PN.key - 21. März 2016
Hallo-Welt-Einzeiler
15
Raspberry Pi PN.key - 21. März 2016
Mathematische
Probleme lösen
16
Mathematische Probleme mit Python lösen
Nicht alle mathematischen Probleme und Aufgaben lassen sich schriftlich oder per
Taschenrechner lösen. Manchmal kann man sich mit einer Programmiersprache
behelfen.
Programmieren heisst Abläufe (Aufgaben, Prozesse) festzulegen, die anschliessend
ein Computer ausführen kann.
16
Raspberry Pi PN.key - 21. März 2016
Aufgabe 1:
Zwei mal zwei plus zwei
durch zwei minus zwei
17
17
Raspberry Pi PN.key - 21. März 2016
Wie viel ist 2 x 2 + 2 : 2 - 2?
Rechenregel beachten: Es gilt Punkt- vor Strichrechnung!
Unter Beachtung der Zwischenergebnisse:
4+1-2=3
18
Raspberry Pi PN.key - 21. März 2016
print ("Ergebnis:", int(2 * 2 + 2 / 2 - 2) )
Kennt Python die Rechenregeln richtig?
Was bewirkt „int()“?
Quellcode für Datei:
#!/usr/bin/python3
print ("Ergebnis:", int(2 * 2 + 2 / 2 - 2) )
19
Raspberry Pi PN.key - 21. März 2016
20
Raspberry Pi PN.key - 21. März 2016
21
Raspberry Pi PN.key - 21. März 2016
Aufgabe 2:
Summe einer
Zahlenfolge ausrechnen
Zum Beispiel von 1 bis 100
22
1 + 2 + 3 + 4 + … + 100 = ?
22
Raspberry Pi PN.key - 21. März 2016
summe=0
for i in range (1,101):
summe = summe + i
print ("Die Summe lautet", summe)
Einrückung von 4 Leerzeichen beachten!
Quellcode für Datei:
#!/usr/bin/python3
summe=0
for i in range (1,101):
summe = summe + i
print ("Die Summe lautet", summe)
23
Raspberry Pi PN.key - 21. März 2016
24
Raspberry Pi PN.key - 21. März 2016
Aufgabe 3:
Fakultäten von
1! bis 10! ausrechnen
25
1 * 2 * 3 * 4 * … * 10 = ?
25
Raspberry Pi PN.key - 21. März 2016
fakultaet=1
for i in range (1,11):
fakultaet = fakultaet * i
print ("Die Fakultät von", i, "lautet", fakultaet)
Beachten Sie bitte, dass „print“ durch die Einrückung noch in die for-Schleife
hineingehört.
Quellcode für Datei:
#!/usr/bin/python3
fakultaet=1
for i in range (1,11):
fakultaet = fakultaet * i
print ("Die Fakultät von", i, "lautet", fakultaet)
26
Raspberry Pi PN.key - 21. März 2016
27
Raspberry Pi PN.key - 21. März 2016
Haben Sie noch
eine Idee?
28
Raspberry Pi PN.key - 21. März 2016
29
Raspberry Pi PN.key - 21. März 2016
Netzwerke bauen
mit dem Raspberry Pi
30
30
Raspberry Pi PN.key - 21. März 2016
31
31
Raspberry Pi PN.key - 21. März 2016
OpenWRT
Alternative Firmware für Internet-Router
auf Basis von Linux und Open-Source-Treibern
32
OpenWRT gibt es auch für den Raspberry Pi.
32
Raspberry Pi PN.key - 21. März 2016
33
Raspberry Pi PN.key - 21. März 2016
Netzwerk bauen
•
Netzwerk-Konfiguration
•
Network Discovery
•
Remote-Service
•
Webserver
•
Datei-Server (Samba)
•
WLAN Access Point
34
34
Raspberry Pi PN.key - 21. März 2016
Netzwerk-Konfiguration ermitteln
35
Raspberry Pi PN.key - 21. März 2016
Netzwerk-Konfiguration
•
IP-Adresse
•
Subnetzmaske
•
Standard-Gateway
•
DNS-Server
36
Damit ein Netzwerk-Host in einem TCP/IP-Netzwerk teilnehmen kann benötigt er
zumindest eine IP-Adresse. Diese sollte zumindest im lokalen Netzwerk einmalig
sein (private IPv4-Adresse). Damit eine Kommunikation ins öffentliche Netzwerk
möglich ist, bedarf es zusätzlich der IPv4-Adresse des Standard-Gateways
(Default-Gateway). Damit die Auflösung von Domain- oder Computer-Namen
möglich ist, muss auch noch die IPv4-Adresse eines DNS-Servers. Erst mit diesen
vier Angaben ist eine IPv4-Konfiguration vollständig.
36
Raspberry Pi PN.key - 21. März 2016
IPv4-Konfiguration ermitteln
ip a
ip r
cat /etc/resolv.conf
Bitte diese Kommandos auf der Kommandozeile zum Ermitteln der aktuellen IPv4Konfiguration verwenden.
Alternativ:
ifconfig
route -n
37
Raspberry Pi PN.key - 21. März 2016
ip a
1: lo: <LOOPBACK,UP,LOWER_UP> …
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> …
link/ether b8:27:eb:a0:9c:57 brd ff:ff:ff:ff:ff:ff
inet 192.168.168.7/24 brd 192.168.168.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 2a01:1e8:e100:86be::7/64 scope global
valid_lft forever preferred_lft forever
inet6 fe80::ba27:ebff:fea0:9c57/64 scope link
valid_lft forever preferred_lft forever
38
Raspberry Pi PN.key - 21. März 2016
ip r
default via 192.168.168.8 dev eth0
192.168.168.0/24 dev eth0 proto kernel
39
…
Raspberry Pi PN.key - 21. März 2016
cat /etc/resolv.conf
# Dynamic resolv.conf(5) …
# DO NOT EDIT THIS FILE BY HAND
# YOUR CHANGES WILL BE OVERWRITTEN
nameserver 192.168.168.8
40
Raspberry Pi PN.key - 21. März 2016
Network Discovery
Alle genutzte IPv4-Adressen im gleichen Netz ermitteln.
41
Alle genutzte IPv4-Adressen im gleichen Netz ermitteln.
Es geht um die Fragestellung, „Welche Geräte sind im lokalen Netzwerk aktiv?“. nmap oder arp-scan
41
Raspberry Pi PN.key - 21. März 2016
sudo apt-get install nmap
sudo nmap -sP 192.168.1.0/24 -oG -
sudo apt-get install arp-scan
sudo arp-scan -vN -I eth0 192.168.1.0/24
sudo arp-scan -vN -I eth0 192.168.1.0/24 | grep „b8:27:eb“
42
Um sich einen Überblick über alle im lokalen Netzwerk befindlichen IP-Hosts zu
machen sollen Sie Tools ausfindig machen, mit denen Sie alle verwendeten IPAdressen im lokalen Netzwerk herausfinden können.
42
Raspberry Pi PN.key - 21. März 2016
Network Discovery mit „ip“
ip -4 n
ip -6 n
43
„ip“ ist leider nicht sehr gründlich.
43
Raspberry Pi PN.key - 21. März 2016
Remote-Service
Zugriff aus der Ferne auf einen anderen Computer
44
Mehrere Lösungen:
SSH (Konsole, Kommandozeile)
VNC (Sitzung/Session)
X11VNC (Display-Sharing)
RDP (Windows)
44
Raspberry Pi PN.key - 21. März 2016
Remote-Service mit SSH
•
Windows: PuTTY
•
Linux: Kommandozeile
•
Mac OS: Kommandozeile
45
45
Raspberry Pi PN.key - 21. März 2016
ssh [email protected]
ssh [email protected]
Standard-Passwort: raspberry
Achtung: Passwort muss „blind“ eingegeben werden.
46
Achtung: Passwort muss „blind“ eingegeben werden.
„Blind“ bedeutet, dass die Tastatur-Eingabe nicht sichtbar ist.
46
Raspberry Pi PN.key - 21. März 2016
Webserver
47
47
Raspberry Pi PN.key - 21. März 2016
Auf der Kommandozeile des Raspberry Pi eingeben:
sudo apt-get install lighttpd
sudo service lighttpd status
Im Browser des Clients eingeben:
http://raspberrypi.local/
http://{IP-Adresse_des_Raspberry_Pi}/
48
Raspberry Pi PN.key - 21. März 2016
Vielen Dank
49
Raspberry Pi PN.key - 21. März 2016
Kontakt
•
E-Mail:
[email protected]
•
Twitter:
@patrickschnabel
•
Noch mehr Ideen und Informationen:
www.elektronik-kompendium.de
•
Screencast + Folien + Notizen:
www.patrick-schnabel.de
50
Raspberry Pi PN.key - 21. März 2016
Herunterladen