Upload
others
View
31
Download
0
Embed Size (px)
Citation preview
Raspberry PiProgrammieren 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ürElektronik und IT
• Dozent an der DHBWin 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 Elektronik-Kompendium.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
Programmierenmit 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
Python11
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 ausrechnenZum Beispiel von 1 bis 100
22
1 + 2 + 3 + 4 + … + 100 = ?
22 Raspberry Pi PN.key - 21. März 2016
summe=0for i in range (1,101): summe = summe + iprint ("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=1for 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 bauenmit dem Raspberry Pi
30
30 Raspberry Pi PN.key - 21. März 2016
31
31 Raspberry Pi PN.key - 21. März 2016
OpenWRTAlternative 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 IPv4-Konfiguration verwenden.
Alternativ:
ifconfigroute -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 forever2: 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 OVERWRITTENnameserver 192.168.168.8
40 Raspberry Pi PN.key - 21. März 2016
Network DiscoveryAlle 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/24sudo 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 IP-Adressen 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-ServiceZugriff 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
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
Webserver47
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:
• 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