Windows 10 Notebook als mobilen Hotspot für Raspberry Pi 3 einrichten

Da ich doch oft unterwegs bin aber trotzdem gerne an meinen Raspberry Pi Projekten arbeiten möchte, habe ich mir meinen Windows 10 Laptop als Entwicklungsrechner eingerichtet. Ziel des ganzen ist es mit meinem Notebook und meinem Raspberry Pi mobil zu sein, mich mit meinem Notebook in verschiedene WIFIs einwählen zu können und diese Internetverbindung für den Raspberry Pi nutzbar zu machen. So muss ich nicht für jedes neue WIFI eine neue WIFI-Konfigurationsdatei wpa_supplicant.conf erzeugen und auf die SD-Karte kopieren. Somit ist sowohl mein Notebook als auch mein Raspberry Pi nicht an kabelgebundenes Internet angewiesen. Der Komfort kommt natürlich nicht ganz ohne Nachteil daher, denn die Internetverbindung für den Raspberry Pi ist erwartungsgemäß etwas eingeschränkt, da der gesamte Verkehr ja durch das Notebook “geroutet” wird. Um eine bessere Internetverbindung für den Raspberry Pi herstellen zu können, kann dieser aber jederzeit per LAN-Kabel an einen Router angeschlossen werden.

Dies wird benötigt

Folgendes wird für diesen Beitrag benötigt:

Schritt 1: Mobiler Hotspot auf Windows 10 Rechner aktivieren

Zunächst werden wir einen “mobilen Hotspot” auf unserem Windows 10 Notebook einrichten. Zu den Einstellungen kommen wir über verschiedene Wege. Der einfachste Weg ist es auf dem Netzwerksymbol in der Taskleiste zu klicken. Dadurch sollte folgende Konfigurationsoberfläche erscheinen:

02_MobileHotspot

Ein Rechtsklick auf die Kachel Mobiler Hotspot lässt uns zu den Einstellungen wechseln.

02_MobileHotspot_config

Das tun wir jetzt, indem wir darauf klicken. Folgender Dialog erscheint:

04_MobileHotspot_config

Hier können wir den mobilen Hotspot ein- bzw. ausschalten und durch Klicken auf den Button Bearbeiten können wir zum einen den Netzwerknamen und zum anderen das Netzwertkennwort ändern. Außerdem können wir hier  die vorhandenen Informationen per Copy & Paste zur späteren Verwendung zwischenspeichern.

05_MobileHotspot_config

Nun da wir die benötigten Informationen zum Verbinden mit unserem mobilen Hotspot zwischengespeichert haben, können wir diesen durch Klicken auf den An/Aus Schalter aktivieren.

06_MobileHotspot_activate

Wenn der mobile Hotspot aktiviert ist, erscheint er in unserer Netzwerkübersicht (Klick auf das Netzwerksymbol in der Taskleiste) wie dargestellt als aktiv (blau hinterlegt).

07_MobileHotspot_activated

Schritt 2: Internetfreigabe für unseren mobilen Hotspot

Damit über unseren mobilen Hotspot auch eine Internetverbindung hergestellt werden kann, müssen wir es unserem mobilen Hotspot erlauben unsere Internetverbindung zu benutzen. Dazu öffnen wir zunächst unsere Netzwerkverbindungen durch Rechtsklick auf das Windows-Symbol in der Taskleiste und wählen Netzwerkverbindungen:

15_netzwerkfreigabe

Hier scrollen wir nach ganz unten und wählen Netzwerk- und Freigabecenter.

16_netzwerkfreigabe

Dort sollten wir unsere beiden Netzwerke sehen, zum einen unsere WIFI-Verbindung mit Internetzugang (bei mir heißt dieses Netzwerk “Zuhause 2” und zum anderen unseren mobilen Hotspot “DESKTOP-D5JMRIV 2491”.

17_netzwerkfreigabe

Zunächst interessiert uns wie die Verbindung unseres mobilen Hotspot heißt: bei mir ist das “LAN-Verbindung*15“. Diese Information benötigen wir gleich. Dann Klicken wir auf die Verbindung unseres WIFI-Netzwerks (bei mir “vEthernet (extern)“).

18_netzwerkfreigabe

Dort Klicken wir auf Eigenschaften und dort wiederum auf den Reiter Freigabe.

19_netzwerkfreigabe

Hier setzen wir den Haken bei “Anderen Benutzern im Netzwerk gestatten, diese Verbindung des Computers als Internetverbindung zu verwenden” und wählen im Drop-Down Menu unter Heimnetzwerkverbindung die Verbindung unseres mobilen Hotspots aus. Das war bei mir LAN-Verbindung*15“. Anschließend Klicken wir auf OK. Unser mobiler Hotspot darf nun unsere Internetverbindung des WIFI benutzen.

Schritt 3: SSH-Zugriff für Raspberry Pi aktivieren

Zum Freischalten des Raspberry Pi für SSH-Zugriff funktioniert am komfortabelsten, indem wir eine leere Datei mit dem Namen ssh in das Root-Verzeichnis der SD-Karte einfügen.

08_ssh

Hier habe ich das näher beschrieben.

Schritt 4: WIFI Konfigurationsdatei bereitstellen

Als nächsten Schritt erzeugen wir die WIFI-Konfigurationsdatei wpa_supplicant.conf (näheres auch hier). Der Inhalt dieser Datei muss wie folgt aussehen:

country=DE
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
	ssid="DESKTOP-D5JMRIV 2491"
	scan_ssid=1
	psk="41311t!I"
	key_mgmt=WPA-PSK
}

Der Eintrag ssid muss den Netzwerknamen und der Eintrag psk muss das Netzwerkkennwort unseres mobilen Hotspots enthalten. Diese kopieren wir aus unserem Zwischenspeicher an die entsprechende Stelle der WIFI-Konfigurationsdatei wpa_supplicant.conf. Jetzt kopieren wir diese WIFI-Konfigurationsdatei in das Root-Verzeichnis der SD-Karte unseres Raspberry Pi.

09_wpa

Mit den Dateien ssh und wpa_supplicant.conf im Root-Verzeichnis der SD-Karte unseres Raspberry Pi können wir diese nun in den Raspberry Pi einstecken und diesen starten.

Schritt 5: Raspberry Pi in Betrieb nehmen

Wenn der Raspberry Pi gestartet ist, können wir unseren mobilen Hotspot überprüfen, ob unser Raspberry Pi sich schon verbunden hat. Dazu klicken wir wieder auf das Netzwerksymbol in der Taskleiste. Sollte sich der mobile Hotspot inzwischen deaktiviert haben, kann dieser durch einen Klick auf die Kachel Mobiler Hotspot wieder aktiviert werden. In der unten stehenden Abbildung wird angezeigt, dass unser Raspberry Pi sich noch nicht verbunden hat: 0 von 8 möglichen Geräten sind verbunden.

10_MobileHotspot

Nach ein paar wenigen Minuten sollte sich der Raspberry Pi verbunden sein. Dies wird angezeigt durch ein mit dem mobilen Hotspot verbundenen Gerät:

11_MobileHotspot_connected

Durch einen erneuten Rechtsklick auf die Kachel Mobiler Hotspot können wir wieder zu den Einstellungen des mobilen Hotspots wechseln:

12_MobileHotspot_connectedIPaddress

Hier finden wir jetzt den verbunden Raspberry Pi und dessen IP-Adresse. In unserem Fall ist das

192.168.137.232

Mit dieser IP-Adresse können wir uns jetzt mit PuTTY per SSH mit unserem Raspberry Pi verbinden:

13_ssh_connectedIPaddress

Den folgenden Dialog akzeptieren wir der Einfachheit halber mit Klick auf Ja.

14_ssh_putty

Jetzt können wir uns mit dem Standardbenutzer pi und dessen Standardpasswort raspberry anmelden (wie hier beschrieben).

Unser Windows 10 Notebook ist jetzt als Entwicklungsrechner optimal für den Raspberry Pi eingerichtet und kann mobil über das Notebook mit verschiedenen WIFI kommunizieren.

Ermitteln der IP-Adresse mit dem Advanced IP Scanner

Für den Headless-Zugriff auf unseren Raspberry Pi 3 benötigen wir möglicherweise dessen IP-Adresse. Um nicht Monitor, Tastatur und Maus anschließen zu müssen, können wir auf ein Tool zurückgreifen, das die Geräte innerhalb einen bestimmten IP-Bereichs ermittelt: der Advanced IP Scanner. Somit können wir die IP-Adressen der sich im gleichen Netzsegment befindlichen Geräte ermitteln.

Dies wird benötigt

Folgendes wird für diesen Beitrag benötigt:

  • PC oder Laptop mit Netzwerkzugriff auf den Raspberry Pi
  • Aktiven Raspberry Pi im Netzwerk
  • Software Advanced IP Scanner
  • Software PuTTY

Schritt 1: Ermitteln der eigenen IP-Adresse

Zunächst öffnen wir einen Command-Promt (Eingabeaufforderung) und geben folgendes ein:

ipconfig

02_ipconfig

Hier wird jetzt die IP-Adresse meines Rechners angezeigt:

03_OwnIPAddress

Mit dieser IP-Adresse wissen wir nun, in welchem IP-Adressbereich wir suchen müssen, nämlich im Adressbereich zwischen

192.168.168.1 - 192.168.178.254

Mit dieser Information können wir jetzt den Advanced IP Scanner starten und im Eingabefeld den zu scannenden Bereich eintragen.

04_AdvancedIPScanner

Mit Klick auf Scannen wird der angegebene Adressbereich gescannt.

05_RaspiFoundpng

Und hier haben wir auch schon unseren Raspberry Pi gefunden. Die IP-Adresse ist also

192.168.178.64

Schritt 2: Prüfen des SSH-Zugriffs

Zum Testen der Verbindung starten wir unseren PuTTY und bauen eine Verbindung zum Raspberry Pi auf. Dies ist hier näher beschrieben.

Referenzen

 

 

Headless-Konfiguration eines WIFI-Netzwerks auf dem Raspberry Pi 3

Dies wird benötigt

Folgendes wird für diesen Beitrag benötigt:

Schritt 1: Konfigurationsdatei für SD-Karte erstellen

Um komfortabel ein WIFI für den Raspberry Pi zu konfigurieren, kann eine Datei mit dem Namen wpa_supplicant.conf in das Root-Verzeichnis der SD-Karte abgelegt werden.

02_wpa

Der Inhalt dieser Datei muss folgendes enthalten:

country=DE
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
	ssid="<SSID des WIFI>"
	scan_ssid=1
	psk="<Passwort des WIFI>"
	key_mgmt=WPA-PSK
}

Wenn die SSID und das Passwort psk für ein verfügbares WIFI angepasst sind und die Datei im Root-Verzeichnis der SD-Karte abgelegt ist, kann diese in den Raspberry Pi gesteckt und dieser gestartet werden. Das WIFI sollte nun erkannt werden und der Raspberry sich automatisch einwählen.

Schritt 2: Raspberry Pi in Betrieb nehmen

Nach dem Start des Raspberry Pi sollte dieser sich nach ein paar wenigen Minuten in das WIFI eingeloggt haben und erreichbar sein. Ist SSH-Zugriff schon konfiguriert, kann über SSH zugegriffen werden. Bei Erstkonfiguration des Raspberry Pis (Gerätename wurde noch nicht geändert) kann über den Hostname raspberrypi zugegriffen werden.

03_putty_ssh

Sollte dies nicht funktionieren, kann die IP-Adresse des Raspberry Pis mit einen IP-Scanner wie z. B. Advanced IP Scanner ermittelt werden. Dies habe ich hier beschrieben.

Referenzen

Vorbereiten des Raspberry Pi 3 für SSH Zugriff ohne Monitor (headless)

Die im Teil 2a vorgestellte Lösung den Raspberry Pi für eine SSH-Verbindung vorzubereiten hat einen entscheidenden Nachteil: es werden Monitor, Tastatur und Maus benötigt. Das es auch komfortabler geht, möchte ich hier zeigen.

Dies wird benötigt

Folgendes wird für diesen Beitrag benötigt:

Schritt 1: SSH für Raspberry Pi aktivieren

Wir starten mit der geschriebenen SD-Karte aus Teil 1 und schauen uns die SD-Karte im Explorer an.

SD-Card_start

So sollte in etwa die Datei-Struktur der SD-Karte aussehen.

Um nun unseren Raspberry Pi für Zugriff über SSH vorzubereiten, müssen wir einfach nur eine neue Datei ohne Inhalt im Root-Verzeichnis der SD-Karte erzeugen. Der Einfachheit halber erzeugen wir ein normales Textdokument per Rechtsklick im Explorer.

02_NewFile

Neue Datei wurde erzeugt.

03_RenameNewFile

Die neu erzeugte Datei müssen wir jetzt umbenennen. Der neue Name “ssh” lauten. Die Dateierweiterung “.txt” sollte auch gelöscht werden, sodass die Datei nur “ssh” heißt.

04_RenameNewFileSsh

Das Umbenennen muss noch bestätigt werden.

05_Confirmpng

Jetzt ist SSH auf dem Raspberry Pi aktiviert.

08_ssh

Die SD-Karte kann jetzt entfernt werden und in den Raspberry Pi gesteckt werden.

Dies macht allerdings im Moment nur Sinn, wenn der Raspberry Pi mit einem LAN-Kabel betrieben werden soll. Es wird noch die IP-Adresse des Raspberry Pis benötigt. Diese kann üblicherweise recht einfach in der Konfigurationsoberfläche des Routers (z. B. Fritz.Box) ermittelt werden. Alternativ kann ein Tool names Advanced IP Scanner benutzt werden. Hierzu wird es in Kürze einen eigenen Eintrag geben.

Mögliche weitere Schritte könnten sein:

Referenzen

Senden von IoT Edge Modulen an Raspberry Pi 3

In diesem Beitrag möchte ich einen ersten Demo-Container an unseren Raspberry Pi 3 senden, den wir in vorangegangenen Blogbeiträgen vorbereitet haben.

Dies wird benötigt

Folgendes wird für diesen Beitrag benötigt:

  • PC oder Laptop
  • Zugriff auf Azure Portal und aktive Subscription
  • IoT Edge Device (innerhalb IoT-Hub) im Azure Portal angelegt
  • Raspberry Pi mit IoT-Hub verbunden

Schritt 1: IoT-Edge Modul im Azure IoT-Hub anlegen

Im Azure Portal springen wir innerhalb unserer IoT-Hub Einstellung zu einem IoT-Edge Device auf die Device Details Seite.

2017-11-19 16_40_03-Microsoft Edge

Durch klicken auf Set Modules wird der Set Modules Blade geöffnet.

2017-11-19 16_42_02-Microsoft Edge

Hier können wir durch klicken auf Add IoT Edge Module ein Demo-Modul von Microsoft auswählen, um dieses an unser IoT-Edge Device zu senden.

2017-11-19 16_45_18-Microsoft Edge

Als Name geben wir tempSensor ein und als Image URI wird microsoft/azureiotedge-simulated-temperature-sensor:1.0-preview eingetragen. Der Rest bleibt unverändert.

2017-11-19 16_47_55-Microsoft Edge

Durch klicken aus Save wird dieses Modul in unsere Modul-Liste auf dem Set Modules Blade aufgenommen.

2017-11-19 16_48_59-Microsoft Edge

Durch klicken auf Next wird zum nächsten Punkt gesprungen.

2017-11-19 16_51_04-Microsoft Edge

Da wir hier kein Routing benötigen klicken wir auch hier auf Next.

2017-11-19 16_52_23-Microsoft Edge

Hier können wir nochmals die Einstellungen auf der Review Template Seite überprüfen und danach mit Submit das Modul an unseren Raspberry Pi senden.

Nach kurzer Zeit kommt die Fertigmeldung im Azure Portal.

2017-11-19 16_54_36-Microsoft Edge

Schritt 2: Installierte Module auf dem Raspberry Pi

In unserem SSH-Client bauen wir erneut eine Verbindung zu unserem Raspberry Pi her, falls die nicht schon steht.

Um die installierten Docker-Container anzuzeigen führen wir den folgenden Befehl aus:

sudo docker ps

2017-11-19 16_58_57-pi@raspberrypi_ ~

Es sollten jetzt drei Container installiert sein:

  1. microsoft/azureiotedge-simulated-temperature-sensor:1.0-preview
  2. microsoft/azureiotedge-hub:1.0-preview
  3. microsoft/azureiotedge-agent:1.0-preview

2017-11-19 17_00_17-pi@raspberrypi_ ~

Schritt 3: Funktionsprüfung des Temperatursensor-Moduls

Um die Funktionalität des Temperatursensor-Moduls testen zu können , schauen wir uns das Log-File dieses Moduls an. Alle 5 Sekunden wird ein neuer Eintrag durch das Modul erzeugt. Folgender Befehl zeigt uns die Log-Einträge an.

sudo docker logs -f tempSensor

2017-11-19 17_05_01-pi@raspberrypi_ ~

Hier wird das Log angezeigt:

2017-11-19 17_07_41-pi@raspberrypi_ ~

Gratulation! Wir haben jetzt einen Raspberry Pi 3 als Azure IoT-Edge Device angelegt, mit unserem IoT-Hub verbunden und ein IoT-Edge Modul aus der Azure-Cloud an den Raspberry Pi gesendet.

Referenzen

https://docs.microsoft.com/en-us/azure/iot-edge/quickstart-linux

Device in Azure IoT-Hub anlegen

Um ein Raspberry Pi mit einem Azure IoT-Hub verbinden zu können, muss der Raspberry Pi im Azure IoT-Hub als Device angelegt werden. Dies wird in diesem Blogeintrag erklärt.

Dies wird benötigt

Folgendes wird für diesen Beitrag benötigt:

  • PC oder Laptop
  • Zugriff auf Azure Portal und aktive Subscription
  • IoT Hub im Azure Portal angelegt

Schritt 1: Zugriff auf Azure IoT-Hub im Azure Portal

Über das Azure Portal müssen wir uns mit unseren Anmeldedaten anmelden und in die Konfigurationsoberfläche für einen existierenden IoT-Hub springen. Hier müssen wir unser Gerät im IoT-Edge Explorer anlegen. (Dieser befindet sich derzeit in Preview.)

2017-11-19 15_51_55-Microsoft Edge

Zum Anlegen eines IoT-Edge Devices muss der Link Add IoT Edge Device angeklickt werden.

2017-11-19 15_55_34-Microsoft Edge

Im neu erscheinenden Blade Add Device muss nur eine Device ID angegeben werden, in meinem Fall z. B. blog01. Danach muss dies mit Klick auf Save gespeichert werden.

2017-11-19 15_57_20-Microsoft Edge

Schritt 2: Connection-String speichern

Wir benötigen jetzt den Connection-String für unser Iot-Edge Device. Diesen bekommen wir durch Klick auf das Device in der Liste unten (in meinem Fall blog01.

2017-11-19 15_59_56-Microsoft Edge

Im sich jetzt öffnenden Blade Device Details wird der für uns interessante Connection-String unter Connection string–Primary key. Durch Klick auf das Copy-Symbol auf der rechten Seite kann der Connection-String in die Zwischenablage kopiert werden und für spätere Bedarfe gespeichert werden.

2017-11-19 16_01_40-Microsoft Edge

Wir haben jetzt ein IoT-Edge Device im Azure Portal angelegt. Der kopierte Connection-String muss jetzt noch in das IoT-Edge Device kopiert werden, danach kann die Verbindung zwischen IoT-Edge Device und IoT-Hub hergestellt werden.

Referenzen

https://docs.microsoft.com/en-us/azure/iot-edge/quickstart-linux

 

Installation der Azure IoT Edge Runtime auf Raspberry Pi 3

Wenn wir einen Raspberry Pi mit installierter Docker-Runtime haben, können wir auch die Azre IoT Edge Runtime installieren. Damit machen wir unseren Raspberry Pi zu einem Test-Device für den Azure IoT-Hub.

Dies wird benötigt

Folgendes wird für diesen Beitrag benötigt:

Schritt 1: Installieren der IoT-Edge Runtime Pakete

Die eigentlichen Pakete der IoT-Edge Runtime werden über folgenden Befehl geholt:

sudo pip install -U azure-iot-edge-runtime-ctl

Sollte folgende Fehlermeldung erscheinen

2017-11-19 15_20_15-pi@raspberrypi_ ~

müssen ein paar Zwischenschritte eingefügt werden:

sudo apt-get install build-essential libssl-dev libffi-dev python-dev

2017-11-19 15_21_59-pi@raspberrypi_ ~

und die eigentliche Installation dann mit y bestätigt werden

2017-11-19 15_22_54-pi@raspberrypi_ ~

Um sicherzustellen, dass alle Vorbedingungen erfüllt sind, setzen wir auch noch folgenden Befehl ab:

sudo pip install cryptography

2017-11-19 15_24_25-pi@raspberrypi_ ~

Im Normalfall sollte dieser nicht nötig sein und mit folgender Rückmeldung anzeigen, dass diese Vorbedingung schon installiert ist.

2017-11-19 15_27_06-pi@raspberrypi_ ~

Jetzt starten wir den zweiten Versuch, die Azure IoT Edge Pakete zu installieren, indem wir den folgenden Befehl erneut eingeben:

sudo pip install -U azure-iot-edge-runtime-ctl

2017-11-19 15_28_49-pi@raspberrypi_ ~

Das Laden der Pakete dauert jetzt einige Minuten. Zeit für einen Kaffee oder Tee…

Nach einigen Minuten meldet sich der SSH-Client mit erneuter Eingabeaufforderung.

2017-11-19 15_33_45-pi@raspberrypi_ ~

Schritt 2: Device Informationen aus Azure IoT-Hub eingeben

Dazu müssen wir die Connection-String Informationen des entsprechenden Devices im Azure IoT-Hub zur Verfügung haben. Sollte noch kein Device im Azure IoT-Hub angelegt sein, dies bitte jetzt tun die Connection-String Informationen des Devices notieren. Ich habe eine Anleitung in einem weiteren Blogeintrag zur Verfügung gestellt.

Wenn wir den Device Connection-String zur Verfügung haben, kann dieser in unserem IoT-Edge Device (unser Raspberry Pi) gespeichert werden. Dies geschieht durch folgendes Kommando, das wir per SSH-Client an unseren Raspberry Pi senden.

sudo iotedgectl setup --connection-string "{device connection string}" --auto-cert-gen-force-no-passwords

sudo iotedgectl setup --connection-string "HostName=chp-blog-we.azure-devices.net;DeviceId=blog01;SharedAccessKey=yrNME32CnRp+bF03jtEwWrBCT7nQXo3rgC1vgxUBRok=" --auto-cert-gen-force-no-passwords

2017-11-19 16_13_45-pi@raspberrypi_ ~

Nachdem wir nun auch den Connection-String unserem Device bekannt gemacht haben und dieses jetzt weiß, wohin es senden kann, kommen wir nun zum letzten Schritt.

Schritt 3: Aktivieren des IoT-Edge Devices

Durch den folgenden Befehl wird zum Schluss die IoT-Edge Runtime auf unserem Raspberry Pi gestartet.

sudo iotedgectl start

2017-11-19 16_17_22-pi@raspberrypi_ ~

Der nun startende Vorgang kann wieder ein paar Minuten dauern. Es wird jetzt ein benötigter Standard-Container, der azureiotedge-agent in der Version 1.0-preview geladen.

2017-11-19 16_21_18-pi@raspberrypi_ ~

Nachdem dies fertiggestellt ist können wir uns diesen geladenen Standard-Container ansehen, indem wir folgenden Befehl absetzen:

 sudo docker ps

2017-11-19 16_22_04-pi@raspberrypi_ ~

Im folgenden Bild wird der in der Docker-Runtime gestartete Container azureiotedge:1.0-preview angezeigt.

2017-11-19 16_23_00-pi@raspberrypi_ ~

Somit ist eine Kommunikation zwischen IoT-Edge-Device (Raspberry Pi) und dem IoT-Hub möglich.

Schritt 4: Verifizierung im Azure IoT-Hub

Zurück im Azure Portal, gehen wir in die Konfiguration unseres IoT-Hubs, genauer gesagt in die Device Details unseres IoT-Edge Devices.

2017-11-19 16_27_16-Microsoft Edge

Hier sehen wir, dass unser Device jetzt im Zustand Connected ist.

Somit haben wir eine Verbindung zwischen IoT-Hub in der Azure-Cloud und unserem IoT-Edge-Device (Raspberry Pi) hergestellt. Nun ist es möglich eigene IoT-Edge Module an das Device zu senden.

Referenzen

https://docs.microsoft.com/en-us/azure/iot-edge/quickstart-linux

 

Installation von Docker auf Raspberry Pi 3

Für nachfolgende Projekte kann es sehr interessant sein, die Docker-Runtime auf dem Raspberry Pi 3 zu haben. Eine kleine Anleitung wird hier gegeben.

Dies wird benötigt

Folgendes wird für diesen Beitrag benötigt:

Schritt 1: Docker Pakete laden

Mit einem SSH-Client (z. B. PuTTY) muss eine Verbindung zum Raspberry Pi hergestellt sein. Wenn die Verbindung steht und PuTTY auf unsere Befehlseingabe wartet, kann mit dem folgenden Befehl das Laden der Docker-Pakete angestoßen werden:

sudo curl -sSL https://get.docker.com | sh

2017-11-19 14_35_19-pi@raspberrypi_ ~

Möglicherweise wird folgender Hinweis angezeigt:

E: Sub-process /usr/bin/dpkg returned an error code (1)

2017-11-19 14_41_51-pi@raspberrypi_ ~

Das soll im Moment nicht stören.

Schritt 2: Docker mit Systemstart automatisch starten

Um bei Systemstart des Raspberry Pi automatisch die Docker-Runtime zu starten wird folgender Befehl abgesetzt:

sudo systemctl enable docker

2017-11-19 14_48_25-pi@raspberrypi_ ~

Jetzt ist es Zeit für einen Reboot. Das geht am schnellsten durch Unterbrechung der Stromzufuhr.

Schritt 3: Docker Installation testen

Nachdem der Raspberry Pi wieder hochgefahren ist und die SSH-Verbindung wieder steht, kann mit diesem Befehl geprüft werden, ob die Docker-Runtime läuft und der “Docker Hello-World”-Container geladen werden kann:

sudo docker run hello-world

2017-11-19 15_03_50-pi@raspberrypi_ ~

Wenn alles ordnungsgemäß funktioniert hat, sollte die Zeile Hello from Docker! angezeigt werden. Das ist das Zeichen, dass die Docker-Runtime läuft und den hello-world Container geladen und gestartet wurde.

2017-11-19 15_05_14-pi@raspberrypi_ ~

Herzlichen Glückwunsch!

Docker ist installiert und läuft. Viel Spaß!

SSH-Verbindung zu Raspberry Pi herstellen

Wenn, wie in Teil 2 demonstriert, auf dem Raspberry Pi SSH aktiviert wurde und eine Netzwerkverbindung zum Raspberry besteht, können wir uns über einen SSH-Client wie PuTTY direkt auf den Raspberry Pi aufschalten. Wie dies funktioniert, möchte ich hier erklären.

Dies wird benötigt

Folgendes wird für diesen Beitrag benötigt:

Schritt 1: Verbindung aufbauen

Zunächst wird der SSH-Client PuTTY gestartet.

2017-11-19 13_28_27-PuTTY Configuration

Unter Host Name wird der Rechnername unseres Raspberry Pis eingetragen. Dieser ist standardmäßig raspberrypi. Die Einstellungen für Port (22) und Connection type SSH sollten vor eingestellt sein. Falls nicht müssen diese angepasst werden.

2017-11-19 13_28_58-PuTTY Configuration

Durch Klick auf Open wird versucht eine Verbindung zum Raspberry Pi über SSH aufzubauen. Bei der ersten Verbindung könnte das folgende Fenster erscheinen. Dieses muss dann mit Ja bestätigt werden, um eine Verbindung aufbauen zu können.

2017-11-19 13_33_13-PuTTY Security Alert

Jetzt wird nach dem Login gefragt.

2017-11-19 13_33_29-raspberrypi.fritz.box - PuTTY

Falls bisher kein eigener User im Vorfeld angelegt wurde, muss der Standarduser pi mit dem entsprechenden Passwort verwendet werden. Das Standardpasswort ist raspberry. Dies sollte aber, wie in Teil 2 beschrieben, hoffentlich geändert worden sein.

2017-11-19 13_33_49-raspberrypi.fritz.box - PuTTY

Nach erfolgreicher Anmeldung, erscheint der folgender Bildschirm:

2017-11-19 13_38_11-pi@raspberrypi_ ~

Die grüne Zeile pi@raspberrypi zeigt, dass der User pi auf dem Host raspberrypi angemeldet ist und der Host bereit ist Befehle über den SSH-Client zu empfangen. Um den Raspberry Pi auf den neuesten Stand zu bringen, sollten jetzt die installierten Pakete auf Updates überprüft werden.

Schritt 2: Updates für den Raspberry Pi

Verfügbare Updates werden über den folgenden Befehl ermittelt:
sudo apt-get update

2017-11-19 13_48_34-pi@raspberrypi_ ~

Um die neuesten Pakete dann auch wirklich zu installieren wird ein weiterer Befehl benötigt:
sudo apt-get dist-upgrade

2017-11-19 13_51_30-pi@raspberrypi_ ~

Jetzt wird die Liste der zu aktualisierenden Pakete gelesen und es wird berechnet, ob zusätzlicher Speicherplatz benötigt wird. Das zeigt z. B. der folgende Screenshot, der dann mit y bestätigt wird.

2017-11-19 13_52_16-pi@raspberrypi_ ~

Das eigentliche Updaten der Pakete kann einige Minuten in Anspruch nehmen. Zeit für einen Kaffee…

2017-11-19 14_14_29-pi@raspberrypi_ ~

… jetzt ist der Raspberry Pi “up-to-date”.

Von hier aus können wir unsere verschiedenen Raspberry Pi Projekte starten.

Referenzen

PuTTY

WinSCP

Raspberry Pi 3 für SSH-Zugriff vorbereiten

Nachdem in Teil 1 eine SD-Karte mit dem aktuellen Rasbian Betriebssystem erstellt wurde, wird nun der Raspberry Pi in Betrieb genommen und für den Zugriff über SSH vorbereitet.

Dies wird benötigt

Folgendes wird für diesen Beitrag benötigt:

Schritt 1: Raspberry Pi starten

Die mit Rasbian erstellte SD-Karte wird nun in den Raspberry Pi eingesteckt. Zusätzlich wird ein Monitor über HDMI angesteckt und Tastatur und Maus per USB angeschlossen.

Jetzt kann der Raspberry Pi gestartet werden und meldet sich mit dem Startbildschirm.

2017-09-07-161331_1680x1050_scrot.png

Schritt 2: Konfiguration

Noch ist der Raspberry Pi nicht mit einem Wifi verbunden. Damit fangen wir an. In der rechten oberen Ecke befindet sich das Netzwerksymbol.

2017-09-07-161331_1680x1050_scrot_LI.jpg

Ein Klick auf dieses Netzwerksymbol zeigt eine Liste der verfügbaren Wifi-Netzwerke an. Hier wird das benötigte Wifi ausgewählt und das Passwort eingegeben.

2017-09-07-181824_1680x1050_scrot

Nachdem dies erledigt ist, wird die weitere Konfiguration des Raspberry Pi vorgenommen.

Dazu wird in der linken oberen Ecke  das Rasbian Symbol angeklickt und unter Preferences das Untermenu Raspberry Pi Configuration ausgewählt.

2017-11-19-123712_1680x1050_scrot

Die ersten Aktionen werden auf dem Reiter Localisation vorgenommen.

2017-09-07-161625_1680x1050_scrot

Hier wird unter Set Locale die gewünschte Lokalisation eingestellt. Ich nehme hier üblicherweise als Language en (English) und als Country US (United States).

2017-09-07-161644_1680x1050_scrot

Unter Set Timezone wird die entsprechende Zeitzone eingestellt in der sich der Raspberry Pi befindet. In meinem Fall ist das als Area Europe und als Location Berlin.

2017-09-07-161653_1680x1050_scrot

Im nächsten Schritt wird die Tastatureinstellung vorgenommen indem auf Set Keyboard geklickt wird. Dies sollte in jedem Fall durchgeführt werden, da standardmäßig als Tastaturlayout nicht die deutsche Tastatur eingestellt ist, was ich für meine Zwecke benötige.

2017-09-07-181708_1680x1050_scrot

Wichtig:
Speziell beim Ändern des Passworts sollte dringend das richtige Tastaturlayout eingestellt sein (siehe folgende Schritte)!

Als letzten Schritt auf dem Reiter Localisation wird noch das Wifi Country auf das entsprechende Land eingestellt. Bei mir ist das DE Germany.

2017-09-07-181716_1680x1050_scrot

Jetzt können die benötigten Änderungen auf dem Reiter System vorgenommen werden. Zunächst sollte das Passwort durch klicken auf Change Password geändert werden.

2017-09-07-161543_1680x1050_scrot

Wichtig:
Bitte das Passwort merken, notieren etc.

Danach kann unter der Rubrik Boot auf To CLI umgestellt werden. Damit wird beim nächsten Reboot nicht mehr in den Desktop gebootet. Dieser wird für die weiteren Schritte nicht mehr benötigt, da mittels SSH-Verbindung über das Netzwerk von einem Entwickler-PC oder -Laptop auf den Raspberry Pi zugegriffen wird.

2017-11-19-130121_1680x1050_scrot

Zum Schluss muss auf den Reiter Interfaces unter der Rubrik SSH auf Enable geklickt werden. Hierdurch wird die SSH-Verbindung über das Netzwerk erlaubt.

2017-09-07-161620_1680x1050_scrot

Schritt 3: Reboot

Nachdem nun SSH auf dem Raspberry Pi aktiviert ist erscheint möglicherweise eine Aufforderung zum Rebooten. Dies kann jetzt getrost getan oder manuell ein Neustart durchgeführt werden, indem über das Rasbian Symbol der Menü Eintrag Shutdown ausgewählt und im nächsten Schritt auf Reboot geklickt wird.

2017-11-19-131211_1680x1050_scrot

Nun ist der Raspberry bereit, um über SSH im Netzwerk aus der Ferne gesteuert werden zu können. Damit geht es dann weiter…