Raspberry Pi - first step's with ubuntu

Ähnliche Dokumente
Raspberry Pi: Betriebssystem installieren und WLAN einrichten

I2C Serial 2.6 LCD Modul. Verwendung mit einem Arduino

webpdf für VMware SoftVision Development GmbH Kurfürstenstraße Fulda, Deutschland Tel.: +49 (0) Fax: +49 (0)

Einrichtung der Raspberry Pi

Raspberry Pi Appliances. Das richtige Betriebssystem für die eigene SW Lösung finden Pi and More 7 Nico Maas

DV4mini_compact. 1 Inhalt 1 Inhalt... i

Manuelles Update eines DV4Mini-Raspberry Pis

Raspberry Workshop. User des Raspberry abmelden: Folgende befehle werden angenommen: Logout / Exit oder die Tastenkombination Ctl + D

RFID RC522. Ausgabe Copyright by Joy-IT 1

Network-Attached Storage mit FreeNAS

Installations-Dokumentation, YALG Team

Rechnernetze Praktikum. Versuch 5: Linux embedded. Ziel

Den Websurfer absichern

Installation eines Orgamax-Servers in Linux mit CentOS 7

How to install freesshd

Datenbank auf neuen Server kopieren

Free MC Boot per PS1 Exploit installieren

Installations-Anleitung von TeamSpeak 3 Client auf Ubuntu 15.10

vadmin Installationshandbuch für Hostsysteme v Bit auf Server von Hetzner Copyright by vadmin.de Seite 1

Leitfaden für die Installation der freien Virtual Machine. C-MOR Videoüberwachung auf einem VMware ESX Server

DK Doku.de. Neu VM. (Specials Documentation von: DK Doku.de, )

Druckereinrichtung unter Ubuntu LTS mit Keyring

Anleitung: DV4Mini auf einem Raspberry Pi

1 Linux-Befehlsübersicht

Anleitung zur Einrichtung des Virenscanners Sophos...1. A. Einstellungen unter dem Betriebssystem WINDOWS...4

Installation von Git für unsere OpenDCC/Fichtelbahn Entwickler Stephan Bauer, Christoph Schörner, Andreas Kuhtz

Um mit dem Dialogpost-Manager effektiv arbeiten zu können, sollte Ihr PC folgende Mindestvoraussetzungen erfüllen:

Leitfaden für die Installation der Videoüberwachung C-MOR

Installation des Citrix Receiver v1.2 Manuelles Upgrade auf die neuste Version

Grundlagen - Konsole/Terminal :

SX3 PC Software rev. 0.99c

flexx-gui SDK Anleitung Installations- und Bedienungsanleitung

Kurzanleitung für den MyDrive Client

Installation unter LINUX mit PostgreSQL DB

HowTo OpenVPN Client mit öffentlich erreichbaren Feste IP Adressen

Migration Howto. Inhaltsverzeichnis

CUPS, Samba, Apache. Drucken mit CUPS. Dateifreigabe mit Samba. Web-Server mit Apache

Installation Raspberry Pi + Siemens MC35i

netfabb for fabbster

Anleitung zum Update von Sun Java mit Secunia:

Fernwartung des Schulservers übers Internet Anleitung ssh - putty winscp - für Arktur v bzw. v

10.1 Zoll HDMI LCD. Ausgabe Copyright by Joy-IT 1

Wie arbeite ich mit dem Eyetracker Tobii? Eine kleine Einführung

sudo diskutil unmount /dev/disk2s1 sudo diskutil eject /dev/rdisk2

Erste Schritte mit dem RaspberryPi

Einrichten eines MAPI- Kontos in MS Outlook 2003

DC 5V Stepper Motor 28BYJ-48. Verwendung mit einem Arduino

Leitfaden für die Installation der Videoüberwachung C-MOR

Hochschule Aalen. OpenVPN. Anleitung zur Installation

C A L D E R A G R A P H I C S

Anleitungen zum Publizieren Ihrer Homepage

Einrichten und Verwenden der Solutio Charly PA-Konzepte Schnittstelle

KURZANLEITUNG DUPLICITY MIT CLOUD OBJECT STORAGE

Nutzung der VDI Umgebung

Linux gefahrlos testen

Pictomat. Embedded Machine Vision. Datenaustausch über FTP-Server IBN INGENIEURBÜRO BERND NEUMANN GMBH. Eichendorffstraße 23 D Kevelaer

VMWare 3.0. Vmware Installation: - Install VMWARE. - c:\ Programme \ VMWARE. - CD Autorun disable / ja

Schnelleinstieg Online-Backup

Schulfilter Plus Installationsanleitung Debian 8

So bringst du Prolog zum Laufen...

ViPNet Coordinator (Linux Debian) Virtual Appliance Installation und Einrichtung

Speichern. Speichern unter

Installationsanleitung Server-Software installieren Datenbank anlegen Lösung einrichten Problemlösungen...

IPCOP OPENVPN TUTORIAL

Shellfire L2TP-IPSec Setup Windows Vista

Einrichtung OpenVPN mit Hilfe des Network Managers

EWIO Quickstart. EWIO Quickstart. Seite 1. Version 2.1x ( )

Update Messerli MySQL auf Linux

Windows auf einen USb-Stick kopieren

Installation. Prisma. Netzwerkversion

Installationsanleitung

Installationsanleitung OpenVPN

Anleitung Gen2VDR Installationsanleitung für REYCOM. Gen2VDR Installationsanleitung für REYCOM

Interaktive Whiteboards Software Easiteach unter Apple OS X El Capitan

Inhaltsverzeichnis ERWEITERUNG. 26. Januar 2014 RECORDTIME ENTERPRISE (LINUX) BENUTZERANLEITUNG-

WDS Einrichtung fuer WHR-G300NV2 / WZR-HP-G300NH / WHR-HP-G300N und. WHR-HP-GN Router Modelle

Artikel ID: 2399 Erstellt am: :36 Überschrift: STRATO HiDrive Software - Installation und Konfiguration

Inbetriebnahme einer lokal installierten Demoversion von VuFind

Dream NFI-Flash Anleitung für die Verwendung des USB Recovery Sticks

Process: Installationsleitfaden

Billy 3.1 Kurzanleitung (Details im Handbuch)

VR-NetWorld Software Umstellung von itan auf VR-NetWorld Card (HBCI-Chipkarte)

Embedded So)ware. Einrichten der Arbeitsumgebung

4,5 eink-display für den Raspberry Pi - Bedienungsanleitung

INSTALLATION VON INSTANTRAILS 1.7

USB I2C Spy V1.0 Manual

Technical bulletin_update grandma2 via USB_de_D23.doc

Der LINUX-Rechner ans Netzwerk anschliessen Doc-Ver.:1.0

Installationsanleitung. Novaline Bautec.One incl. MS SQL Server 2012 Express. ohne Demodaten

_) / \ /_. The fun has just begun... David Meier

Typo 3 installieren. Schritt 1: Download von Typo3

Lehrstuhl für betriebswirtschaftliche Informationssysteme Prof. Dr. Joachim Fischer. Installationsanleitung SAPGUI

LaFonera Erweiterung - Erstinstallation -

AX.25 Zugang vom HAMNET ins Packet Radio Netz

Konfigurationshilfe für die Netzwerkeinstellungen

Installation/Einrichtung einer Datenbank für smalldms

ChanSort installieren

1) JAVA JRE auf der QNAP Box installieren

Installationsanleitung für die netzbasierte Variante Bis Version 3.5. KnoWau, Allgemeine Bedienhinweise Seite 1

Transkript:

Raspberry Pi - first step's with ubuntu stand vom 15.01.2017 Autor: Matthias Streser (Dies ist eine rein private erstellte Anleitung und darf weder verkauft noch kommerziell genutzt werden!)

Inhaltsverzeichnis 1.Einleitung...3 2.Raspberry Pi - first step's...3 2.1.SD-Karte beschreiben...3 2.2.RasPi via SSH verbinden...7 2.3.Update der RasPI...14 2.4.Ausbreiten der Partition...14 2.5.NodeRed und MQTT...18 2.6.I2C für RasPi Python Projekte...24 2.7.RasPi Image Sichern...32 2.8.Bilder und Videos mit der RasPi abspielen...48 2.9.Autostart von Python Skripten...50 2.10.Prozesse anzeigen und stoppen...53 2.11.RasPi GUI deaktivieren...55 2.12.IP-Adresse Einstellungen...55 3.Ende...57 Seite 2 von 57

1. Einleitung Um allen die mit der RaspberryPi arbeiten den Einstieg zu erleichtern, habe ich hier meine ersten Schritte dokumentiert. Ich hoffe es hilft dem ein oder anderem. Ich gehe auf das Beschreiben der SD-Karte und das sichern einer eingerichteten SD-Karte ein. Zudem zeige ich, wie Programme installiert werden können und Netzwerkeinstellungen vorgenommen werden können. Die Anleitung kann zum großen Teil für alle Plattformen benutzt werden. Ich benutze Ubuntu 14.04 mit der Gnome-Shell. TIPP: Um im Terminal Befehle einzufügen, muss Schift und STRG und V gedrückt werden! 2. Raspberry Pi - first step's Hier werden die ersten Schritte zum Einrichten der RasPi beschrieben. Diese sind in einer chronologischen Reihenfolge beschrieben. Es ist somit möglich, diese in der gleichen Reihenfolge durchzuführen. 2.1. SD-Karte beschreiben 1. Download des aktuellen RasPi Image (hier habe ich raspbian-jessie): https://www.raspberrypi.org/downloads/ Dann entpacken dieser Datei. Dazu kann beispielsweise 7zip benutzt werden. Seite 3 von 57

2. Öffnen des Terminals mit Strg und t. Auf Windows lässt sich alternativ PuttyTel dafür benutzen. 3. Nautilus oder Nemo mit sudo Rechten starten. Dafür nutzen wir den Befehl: sudo nemo oder sudo nautilus 4. Rechtsklick und Mit Schreiber von Laufwerksabbildern öffnen. Seite 4 von 57

5. Formatieren der alten SD-Karte. Dies muss nicht zwingend gemacht werden. Ich mache das hier, damit alle Schritte gezeigt wurden. Seite 5 von 57

6. Prüfen ob die Partition gelöscht wurde. 7. Nochmal das Image mit rechts Klick anwählen und Mit Schreiber von Laufwerksabbildern öffnen. Seite 6 von 57

8. Die leere SD Karte auswählen und beschreiben. 9. Nach beschreiben der SD-Karte diese auswerfen und in die Raspberry Pi einstecken. 10. Nun die Raspberry Pi mit 5 Volt versorgen. Nun sollte diese normal booten. 2.2. RasPi via SSH verbinden 1. In den Netzwerkeinstellungen (wenn nicht im Heimnetz ein DHCP Server vorhanden ist) die Einstellung Gemeinsam mit anderen Rechnern vornehmen. Dies ist nur nötig, wenn ihr eine direkte Verbindung z.b. mit eurem Notebook zur RasPi machen wollt und via Wivi das Internet bezieht. Dieses wird dann der RasPi automatisch zur Verfügung gestellt. (Dieser Fall ist nur für Linux User interessant!) Seite 7 von 57

2. Öffnen eines neuen Terminal Fensters mit STRG und t mit dem Befehl: sudo arp-scan 10.42.0.0/24 den IP-Bereich scannen. (ggf. muss der arp-scanner noch installiert werden) Wichtig ist, dass ihr die IP bei den Netzwerkeinstellungen euch zuvor angeschaut und genommen habt. Hier ist es die 10.42.0.1. Seite 8 von 57

3. Da die RasPi die IP-Adresse via DHCP bezieht, wird ihr eine Adresse zugeteilt. 4. Nun wissen wir, dass die RasPi die Adresse 10.42.0.89 hat. Mit dem Befehl ssh pi@10.42.0.89 können wir uns nun auf die RasPi einwählen. Dabei ist das pi der Benutzername. Somit könnte man sich auch mit anderen Benutzern anmelden. Bei einem neuen Image ist der Benutzer normalerweise pi und das Password raspberry. (ohne den Punkt!) Seite 9 von 57

5. Um sich als Super User anzumelden benutzen wir den Befehl sudo su (sollte man aus Sicherheitsgründen eigentlich nicht tun) Seite 10 von 57

6. Um auf die Laufwerke zuzugreifen und nicht immer mit dem Texteditor Nano zu arbeiten, können wir uns via SSH ein Netzwerklaufwerk anlegen. 7. Um sich zu verbinden muss SSH ausgewählt werden und die IP-Adresse. Zudem muss der Benutzername und das Password angegeben werden. Wenn man sich öfter anmelden möchte, macht es ggf. Sinn das Password zu speichern. Seite 11 von 57

8. Nun sind wir über SSH direkt mit dem Laufwerk verbunden. Dies geht mit Nautilus oder Nemo (was ich hier nutze). Auf Windwos kann man das Programm WinSCP dafür nutzen. Zudem kann PuttyTel als SSH-Terminal Alternative genutzt werden. 9. Das normale Laufwerk ist unter /home/pi zu finden Seite 12 von 57

10. Um sich nicht immer neu anzumelden kann ein Lesezeichen angelegt werden. 11. Dann ist es möglich sich immer schnell mit dem Laufwerk zu verbinden indem wir auf den Reiter pi drücken. Seite 13 von 57

2.3. Update der RasPI Nun sollte man alle Programme updaten, damit alles auf dem aktuellen Stand ist. Dazu benutzen wir den Befehl: sudo apt-get update und sudo apt-get install 2.4. Ausbreiten der Partition 1. Als nächstes sollte man die Einstellungen für die RasPi vornehmen. Dies tun wir mit dem Befehl: sudo raspi-config Seite 14 von 57

2. Um die volle SD-Karte ganz zu nutzen, benutzen wir den ersten Menü-Punkt. 3. Danach sollte das System neu gestartet werden. Seite 15 von 57

4. Erneutes anmelden auf die RasPi. 5. Zum Beispiel wird jetzt ein MQTT Broker installiert. Dieser kann Nachrichten verwalten und mit bestimmten Einstellungen deren Zustellung durchführen. Er kann wie eine Poststelle gesehen werden. Er verwaltet zentral alle MQTT Nachrichten. Dafür habe ich mir von einigen Internetseiten Tipps geholt. Anleitungen hierzu finden wir unter: https://www.reddit.com/r/raspberry_pi/comments/2tbsj8/running_mosquitto_mqtt_br oker_on_raspberry_pi/ 6. Ich habe für das Repo folgende Befehle benutzt: wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key sudo apt-key add mosquitto-repo.gpg.key rm mosquitto-repo.gpg.key Seite 16 von 57

7. Dann habe ich das Paket installiert (die Pakete dem apt-befehl zur Verfügung zu stellen, wie in der Anleitung, hatte bei mir nicht funktioniert) Dafür habe ich den Befehl benutzt: sudo apt-get install mosquitto mosquitto-clients 8. Nun sollte der Broker bei starten der RasPi automatisch starten und unter dessen IP-Adresse mit dem Port 1883 erreichbar sein. Um das zu testen kann man zwei Terminal Fenster aufmachen. Das erste Fenster kann alle Topics subscriben (Überschriften die unter hello/world zu finden sind abbonieren). mosquitto_sub -d -t hello/world Das zweite Fenster soll eine Nachricht veröffentlichen (publischen). mosquitto_pub -d -t hello/world -m "Greetings from Terminal window 2" Seite 17 von 57

2.5. NodeRed und MQTT 1. Wer dies etwas anschaulicher haben möchte, kann sich NodeRed installieren. Hier findet ihr alle Infos dazu: http://nodered.org/docs/getting-started/installation.html Auf der RasPi Jessy ist NodeRed schon vorinstalliert. TIPP: Um ein laufendes Programm in Terminal zu beenden kann man STRG und C benutzen. Solltet ihr NodeRed lokal installiert haben, erreicht ihr die Oberfläche mit eurem Browser unter: http://localhost:1880/# Wenn es auf einem anderen PC läuft benutzt statt lochalhost die IP-Adresse. 2. Alternativ lässt sich auch MQTT mit dem Paket installieren, wie hier beschrieben. http://www.xappsoftware.com/wordpress/2014/10/27/installing-mosquitto-onraspberry-pi/ Dazu werden erst die Pakete installiert: $ sudo apt-get update $ sudo apt-get install build-essential python quilt devscripts python-setuptools python3 $ sudo apt-get install libssl-dev libwrap0-dev libc-ares-dev Dann wird die neuste Version von Mosquitto geladen von: http://mosquitto.org/download/ oder mit dem Terminal mit dem Befehl: $ wget http://mosquitto.org/files/source/mosquitto1.3.4.tar.gz Dann entpackt, ins Verzeichnis gegangen, ausgeführt und installiert: $ tar zxvf mosquitto-1.3.4.tar.gz cd mosquitto-1.3.4 Seite 18 von 57

$ make all $ sudo make install Abschliesend kann die Einstellung geladen werden: $ sudo ldconfig Jetzt kann der Broker gestartet und wieder mit zwei Fenstern getestet werden: mosquitto -d -c /etc/mosquitto/mosquitto.conf $ mosquitto_sub -h 127.0.0.1 -t mytopic $ mosquitto_pub -h 127.0.0.1 -t mytopic -m "My first message" 3. Mit NodeRed kann man sich durch grafische Bausteine schnell Progamme zum testen zusammen bauen. Hier ist ein ganz kleines Programm. Mit diesem wird die Verbindung zum Broker aufgebaut und es kann eine Testnachricht weggeschickt werden. Seite 19 von 57

4. Durch die Import und Export Funktion können die Programme gespeichert werden. Dabei müssen die Bausteine die exportiert werden sollen ausgewählt sein. Sonst ist ein exportieren nicht möglich. 5. Der Code kann kopiert werden: Seite 20 von 57

[{"id":"6b8d04a9.46c1dc","type":"mqttbroker","z":"3085c81.b8c7e38","broker":"10.42.0.89","port":"1883", "clientid":"","usetls":false,"verifyservercert":true,"compatmode": true,"keepalive":"60","cleansession":true,"willtopic":"","willqos" :"0","willRetain":null,"willPayload":"","birthTopic":"","birthQos" :"0","birthRetain":null,"birthPayload":""}, {"id":"7a2106d0.a3c72","type":"mqtt in","z":"3085c81.b8c7e38","name":"paho py3 test","topic":"/paho/#","broker":"6b8d04a9.46c1dc","x":205.8833312 9882812,"y":106.88333129882812,"wires":[["8edafd28.44e3d8"]]}, {"id":"8edafd28.44e3d8","type":"debug","z":"3085c81.b8c7e38","name ":"","active":true,"console":"false","complete":"false","x":471.88 33312988281,"y":105.38333129882812,"wires":[]}, {"id":"93e0ad78.52f278","type":"mqtt out","z":"3085c81.b8c7e38","name":"broker","topic":"","qos":"","re tain":"","broker":"6b8d04a9.46c1dc","x":450.566650390625,"y":203.5 6666564941406,"wires":[]}, {"id":"2fc6a31b.029c84","type":"inject","z":"3085c81.b8c7e38","nam e":"kein Tag","topic":"/paho/NFC","payload":"","payloadType":"flow","repeat ":"","crontab":"","once":false,"x":183.566650390625,"y":202.566665 64941406,"wires":[["93e0ad78.52f278"]]}] 6. Um das gespeicherte Programm wieder zu nutzen benutzen wir die Import Funktion. Dies machen wir am besten in einem neuen Fenster das wir mit dem PLUS öffnen. Seite 21 von 57

7. Dann fügen wir den Code wieder ein. Dafür öffnen wir die Import Funktion. 8. Und kopieren den Code in das Feld hinein. Seite 22 von 57

9. Nun haben wir das erste Testprogramm. 10. Um das Programm nutzen zu können, muss es zuvor Deploy 'ed werden. Seite 23 von 57

11. Nun kann eine erste Testnachricht verschickt werden. 2.6. I2C für RasPi Python Projekte 1. I2C ist bei vielen Projekten nützlich. Um dies zu nutzen habe ich mir die Anleitung der nachfolgenden Seite angeschaut: http://www.raspberrypi-spy.co.uk/2014/11/enabling-the-i2c-interface-on-theraspberry-pi/ Seite 24 von 57

2. Dazu gehen wir wie zuvor schon in die raspi-config. 3. Anschließend wird unter den erweiterten Einstellungen der I2C Bus aktiviert. Seite 25 von 57

4. Dazu wird das aktivieren bestätigt. 5. Danach wirst du gefragt ob du den ARM I2C interface to be enabled haben willst und ob diese standardmäßig geladen werden sollen. Beides bestätige mit YES. Du kannst ruhig neu starten damit der I2C Bus geladen wird. Seite 26 von 57

6. Danach sollten die Repo Quellen aktualisiert werden und python smbus und i2ctools installiert werden. Dazu benutze folgende Befehle: sudo apt-get update sudo apt-get install -y python-smbus i2c-tools 7. Zum neu starten der RasPi kann auch der halt Befehle benutzt werden: sudo halt Seite 27 von 57

8. Anstecken von i2c Bauteilen an die GPIOs WICHTIG: Nur wenn die RasPi Spannungsfrei/aus ist! Schaut euch bitte die jeweilige Belegung eurer RasPi an. Ich habe die Pins 2 (5Volt), 3 (I2C-SDA), 5 (I2C-SCL) und 6 (GND) benutzt. Seite 28 von 57

Seite 29 von 57

9. Um zu schauen ob der I2C Bus funktioniert, dienen die nachfolgenden Befehle: lsmod grep i2c_ Hier habe ich zwei I2C Bauteile. Zum einen ein Analog Digital Converter und eine NFC Karte. Seite 30 von 57

10. Nachdem dies nun funktioniert, können wir schauen welche Adressen im I2C Bus vergeben worden sind. Dazu gibt es zwei Befehle. Diese sind abhängig welche RasPi ihr benutzt. Für die Modelle A, B Rev 2 or B+ Pi benutzt ihr: sudo i2cdetect -y 1 Ansonsten benutzt für das Modell B Rev 1 Pi den Befehl: sudo i2cdetect -y 0 Seite 31 von 57

11. Nun ist der I2C Bus auf eurer RasPi aktiviert und kann in Projekten genutzt werden. 2.7. RasPi Image Sichern 1. Der nächste Schritt wird es sein unsere eingerichtete RasPi Partition nun zu sichern. Dies hat zum einen den Grund, weil wir diese Vorarbeit ggf. für verschiedene Projekte nutzen wollen. Vielleicht wollen wir aber auch einfach nur unsere Arbeit abspeichern. Als Grundlage dienten mir die Internetlinks: https://linuxundich.de/raspberry-pi/linux-images-fuer-den-raspberry-pi-auf-sd-karteinstallieren/ http://www.htpcguides.com/easy-resize-and-back-up-raspberry-pi-sd-card-withubuntu/ Ich zeige hier nur den Linux Ubuntu weg. Sollte jemand das für Windows oder Mac benötigen ist auf den Internetseiten dazu eine Lösung vorgestellt. 2. Wir entfernen die SD Karte aus der RasPi und setzen diese an unseren PC wieder in den SD Reader. Nun müssen wir uns anschauen wie wir die Karte sichern können. Da das dd Kommando das Image in voller große speichert macht es Sinn, diese erst einmal zu verkleinern. Damit wird unser Image nachher nicht unnötig groß. Zuerst sichern wir aber einmal unser Image ganz ohne Extras. Dazu öffnen wir das Terminal und benutzen den Befehl: sudo blkid Damit wird uns gezeigt welche Laufwerke eingebunden sind. Da eine RasPi immer eine msdos vfat und eine ext4 Partition hat, ist es hier in diesem Fall dieses Laufwerk: Seite 32 von 57

3. Wichtig: Die SD-Karte muss ausgeworfen werden. Dies geht über die GUI. Dazu einfach auf den auswerfe Pfeil der beiden Laufwerke der SD-Karte drücken. Seite 33 von 57

Seite 34 von 57

4. Nun nutzen wir das dd Kommando und geben dafür unser Laufwerk und einen Pfad an. Unser Laufwerk ist mmcblko da p1 und p2 die Partitionen sind. Das Verzeichnis in of ist das Zielverzeichnis und frei wählbar. sudo dd if=/dev/mmcblk0 of=/home/matthias/downloads/raspi/2016-0725_raspi_mqtt_i2c.img bs=1m 5. Dies wird nun eine Weile dauern. Allerdings ist das Image jetzt in voller Größe und nicht auf jeder anderen RasPi ohne weiteres Einsatz bereit. Dafür müssen wir noch einige kleine Schritte durchführen. Nachdem dd fertig ist kommt eine Meldung: 6. Um bei der Benutzung mit anderen RasPi's keine Probleme mit der MAC Adresse der Netzwerkkarten zu bekommen müssen folgende einträge gelöscht werden. Dies geht über den Terminal auf der RasPi mit dem Befehl: sudo rm /lib/udev/rules.d/75-persistent-net-generator.rules sudo rm /etc/udev/rules.d/70-persistent-net.rules Oder es geht über die GUI indem wir die Einträge via Nemo löschen. Seite 35 von 57

7. Da mir die Berechtigungen fehlen, muss ich mit dem Terminal nemo mit sudo öffnen um die Datei zu löschen (bei mir gibt es nur die 75-persistent-netgenerator.rules und nicht die 70-persistent-net.rules). Da unser Image auch mit sudo erstellt wurde, sollten wir dafür auch die Rechte ändern. Seite 36 von 57

8. Statt die Dateien zu löschen benenne ich diese lieber um. Oft kann es sich als nützlich herausstellen, die Originale nicht gelöscht zu haben. Seite 37 von 57

9. Um das Image nicht dem root User besitzen zu lassen, gehen wir auf die Eigenschaften und ändern den Besitzer. Über die GUI kommt es leider öfter zu Problemen. Deshalb ist es oft sinnvoll, den Befehl chmod zu kennen und zu benutzen. Seite 38 von 57

Alternativ halt mit dem Befehl: sudo chown -cr matthias:matthias /home/matthias 10. Nun können wir das Image wieder auswerfen und mit gparted auf die Größe reduzieren. Dazu wird das Programm mit dem Software Center installiert und dann geöffnet. 11. Gparted mit sudo Rechte starten und das passende Laufwerk auswählen. Seite 39 von 57

12. Dann kann die Laufwerksgröße geändert werden. Seite 40 von 57

13. Nun ist die Partition so klein wie möglich. Um die Änderungen wirksam zu machen, müssen diese noch ausgeführt werden: 14. Nun kann das Image mit dem dd Kommando in abgespeckt noch einmal gemacht werden. Dazu müssen wir dd sagen wie viel MB es in etwa benutzen darf. Da unsere Partitionen zusammen nicht über 3800MB (sehr großzügig) kommen, begrenzen wir ihn darauf. Dazu benutzen wir den Befehl: sudo dd if=/dev/mmcblk0 of=/home/matthias/downloads/raspi/2016-0725_raspi_mqtt_i2c_small.img bs=1m count=3800 Seite 41 von 57

15. Nun geht das Spielchen von vorne los. Die rechte des Images umstellen und dann mit dem Image Writer das Image auf eine neue SD-Karte spielen. Dies wie zuvor beschrieben durchführen. Seite 42 von 57

16. Nun sollte das Abbild in etwa so ausschauen: 17. Die SD-Karte kann nun in die RasPi gesteckt werden und mit sudo raspi-config wie zuvor wieder auf die volle Größe gebracht werden. Ich geh mal davon aus das ich diesen Schritt ohne Bilder machen darf :D Seite 43 von 57

18. Komischerweise funktionierte bei der neu beschriebenen SD-Karte der MQTT Broker nicht mehr. Die Originalkarte hingegen schon. Nach dem enlagen des Images allerdings ging auch bei dem Original der MQTT Broker nicht mehr. Ein Fehler den ich mir im Moment noch nicht erklären kann. Es ist zwar unfassbar aber der Fehler scheint wirklich das enlagen mit raspi-config zu verursachen. Daher benutze ich nun gparted auch zum enlagen (ausbreiten). Eine Vermutung habe ich allerdings. Es kann sein, dass die Partitionstabelle wenn diese in Benutzung ist, nicht editiert werden kann. Seite 44 von 57

19. Um dies zu testen habe ich mit NodeRed unser Testprogramm genutzt. Erstaunlicherweise geht unser 4GB Image Problemlos wenn es mit Gparted auf die volle Größe gebracht wird. Bis jetzt kann ich nicht genau sagen warum. Seite 45 von 57

20. Nun können wir Projekte auf unsere RasPi übertragen. Diese habe ich zuvor vorbereitet und kopiere sie nun auf die RaspberryPi. 21. Nun können wir wieder über den Terminal unser Python Skripte mit dem Befehl aufrufen: sudo python mathfunction.py Seite 46 von 57

22. Nun laden wir verschiedene Skripte die via MQTT Daten austauschen. Seite 47 von 57

23. Nun starte ich in einem dritten Terminal das Programm um die NFC Karte zu nutzen und dessen Werte zu vergleichen. Da die Treiber für Python 3 sind, muss ich diese auch mit Python 3 starten. Die Paho Lib ist zum Glück für beide Python Versionen nutzbar. 2.8. Bilder und Videos mit der RasPi abspielen Um unser Video Skript richtig laufen zu lassen brauchen wir noch den omxplayer und den fbi für die Bilderwiedergabe. Diese beiden Programme installieren wir mit den Befehlen: sudo apt-get install omxplayer Seite 48 von 57

sudo apt-get install fbi Seite 49 von 57

2.9. Autostart von Python Skripten 1. Jetzt würde ich gern alle Skripte automatisch beim Start der RasPi gestartet bekommen. Dafür habe ich mir diese Seite genauer angeschaut: https://raspberry.tips/raspberrypi-einsteiger/raspberry-pi-autostart-von-skripten-undprogrammen-einrichten/ Da meine Programme keine besonderen Start / Stop Events haben sollen, reicht mir ein Eintrag in der rc.local. Nach einigem ausprobieren habe ich mich für den doch sehr einfachen und eleganten Weg entschieden. Diese Lösung ist ohne Shellskript oder ähnlichem möglich. Dazu rufen wir den Befehl auf: sudo nano /etc/rc.local Dort machen wir dann unsere Einträge für den Autostart: #!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. # Print the IP address _IP=$(hostname -I) true if [ "$_IP" ]; then printf "My IP address is %s\n" "$_IP" fi sudo sudo sudo sudo python /home/pi/video/mediacontrol.py & python /home/pi/publisheradc/publisheradc.py & python3 /home/pi/publishernfc/publishernfc.py & python /home/pi/mathfunktion/mathfunction.py & exit 0 Dabei bedeutet das & am Ende, dass die Skripte im Hintergrund gestartet werden. Seite 50 von 57

2. Somit ist es möglich, Skripte mit verschiedenen Python Versionen zu starten. Zudem müssen keine Rechte geändert werden. Falls es doch Probleme geben sollte, könnte es Sinn machen, die jeweiligen Python Dateien mit dem nachfolgendem Befehl ausführbar zu machen: sudo chmod +x /home/pi/video/mediacontrol.py Seite 51 von 57

3. Um die rc.local zu speichern muss Strg und X gedrückt werden. Dann mit Y bestätigen und mit Enter unter dem gleichen Namen speichern. 4. Nun kann mit dem Befehl sudo reboot der RasPi neu gestartet werden. Seite 52 von 57

2.10. Prozesse anzeigen und stoppen 1. Um zu schauen welche Prozesse alle laufen kann man den Befehl nutzen: ps -ef Die Erweiterung -ef zeigt alle Prozesse. Was es im einzelnen bedeutet schaut euch bitte in der Dokumentation des Programms oder auf der Ubuntu Wiki Seite an. Seite 53 von 57

2. Alternativ kann mit dem Befehl top oder sudo top gearbeitet werden. Diesen mag ich aber nicht so gerne, da er die Prozesse sortiert. Zum Schließen eines Prozesses müssen wir zudem den Befehl kill benutzen. Seite 54 von 57

3. Nun solltet ihr in der Lage sein, eure eigenen Python Projekte auf der RasPi zu starten. Bei einigen Python Skripten macht es Sinn. diese zu killen und dann manuell zu starten, um diese besser testen zu können. 2.11. RasPi GUI deaktivieren Es kann jetzt noch nützlich sein, dass automatische hochfahren in die RasPi GUI zu verhindern. Dies kann man in der GUI unter Einstellungen und RasPi config ausstellen. Um dann in die GUI zu fahren müssen wir diesen Befehl nutzen: startx 2.12. IP-Adresse Einstellungen 1. Zudem kann auch in der GUI die IP Adresse auf statisch gestellt werden wenn dies nötig ist. Dies ist einfacher als wenn wir das in der IP Datei eintragen. Es gibt allerdings noch einen alternativ Weg. Diesen muss man benutzen wenn man über SSH auf die RasPi zugreift. Dazu habe ich mir die Internetseite zur Hilfe genommen: https://www.modmypi.com/blog/tutorial-how-to-give-your-raspberry-pi-a-static-ipaddress 2. Mit dem Befehl ifconfig kann man sich die aktuellen IP-Adressen und Netzwerkkarten anzeigen. Seite 55 von 57

3. Nun können wir die Datei Interfaces mit nano bearbeiten. Dazu benutzen wir den Befehle: sudo nano /etc/network/interfaces Dort sollte dann in etwa so etwas stehen. iface eth0 inet dhcp Ändert das in die gewünschten Werte. Sollten ihr nicht wissen wie das geht, schaut euch bitte den Internet Link an. iface eth0 inet static address 192.168.1.81 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 gateway 192.168.1.254 Seite 56 von 57

4. Nach einem Neustart sollte eure RasPi nun die gewünschten Einstellungen übernommen haben. 3. Ende Das soll es erst mal gewesen sein. Ich hoffe das hat dem ein oder anderen geholfen. Vorschläge und Ideen bitte an: ChaosModder@gmx.de Seite 57 von 57