RASPBERRY PI ZERO W UND DIE OTG FUNKTION

Der Raspberry PI Zero W wurde am 28. Februar 2017 vorgestellt. Er verfügt nun über ein WLAN und Bluetooth On Board. Für Experimente mit IOT und Docker der ideale Partner. Wie gelingt eigentlich das Setup eines Raspberry PI ohne einen Monitor, einer Maus und Tastatur?

Der PI verfügt über eine OTG-Schnittstelle. OTG steht für „On The Go“, was soviel heißt wie USB für unterweges. Mit dieser Technik können externe Geräte wie „Festplatten, Webcam, Speicher oder Drucker an OTG taugliche Geräte angeschlossen werden. Ein USB-Hub oder andere Zwischenlösungen zum Anschluss an externe Geräte erfolgt mit OTG direkt. Die Treiber sind oftmals in den Betriebssystemen wie Windows 7, Mac und Linux schon enthalten.

Da der Raspberry PI oft Headless betrieben wird, also ohne Bildschirm und Tastatur ist es sinnvoll sich mit dem Host-Rechner zu verbinden. Elegant kann dies nun direkt mit der USB-Verbindung erfolgen. Der PI kann sowohl mit Strom und Netzwerkdaten versorgt werden. Die Verbindungsart wird als Ethernet over USB bezeichnet. Wenn die nötigen Treiber und Konfigurationen vorhanden sind, das Linux geflashed wurde, kann der PI direkt via ping raspberrypi.local oder ssh pi@raspberrypi.local angesteuert werden.

Die Modelle 2/3/3b+ funktionieren ebenfalls mit OTG allerdings benötigen sie eine externe Stromversorgung. Der PI Zero W hat eine ungefähre Stromaufnahme von 100 bis 200 mA und liegt somit unterhalb der max 500mA der USB-Spezifikation.

Schrittweise Installation des PIs

  • Download des Raspian OS
  • Flash der SD Karte mit Etcher
  • Konfiguration der OTG Module für den Boot
    • Aktivierung der OTG Module
$ cd /Volumes/boot
$ vi cmdline.txt
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait modules-load=dwc2,g_ether quiet xxx
$ vi config.txt
# add this
dtoverlay=dwc2
$ touch ssh
# unmout sd card and plugin the card into your pi
  • SD Karte in den PI stecken
  • Verbindungen mit dem MAC via Mini-USB zu USB-C
  • Konfiguration des RDNIS Network Sharing
    • Aktivierung des Mac Internet Sharings
    • Review
  • Nach ca 90 Sekunden nutzen des PIs via OTG.
  • ssh pi@raspberrypi.local

WLAN und der PI

Leider wird in Windows 10 das RDNIS zur Zeit nicht mehr unterstützt. In diesem Fall wird dann eine WLAN-Konfiguration erforderlich.

Die Datei wpa_supplicant.conf enthält die WLAN-Konfiguration. Sie wird beim ersten Boot des Raspberry PI in das Verzeichnis /etc/wpa_supplicant kopiert. Die Datei muss die Bezeichnung des WLANs (SSID) und dessen Passwort enthalten.

$ cd /Volumes/boot/etc/
$ mkdir -p wpa_supplicant
$ cat >wpa_supplicant.conf <<EOF
country=DE
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
       ssid="wlan-bezeichnung"
       psk="passwort"
       key_mgmt=WPA-PSK
}
EOF

Statische IP für den PI festlegen

Damit die IP-Adresse des PI’s sich nicht immer wieder verändert, kann das Netzwerk-Interface entsprechende konfiguiert werden.

WARNING Aktuell hat diese Einstellung bei mir noch nicht geklappt!

$ ssh pi@raspberrypi.local
$ sudo /bin/bash
$ cat >/etc/network/interfaces.d/usb0 <<EOF
allow-hotplug usb0
iface usb0 inet static
  address 192.168.2.2
  netmask 255.255.255.0
  network 192.168.2.0
  broadcast 192.168.2.255
EOF
$ reboot
$ ssh pi@raspberrypi.local
$ ip a s
$ dmesg -T | grep MAC

Setzen eines neuen Hostname

$ sudo hostname -b <new hostname>
$ sudo reboot

Installation von Docker auf dem PI

$ ssh pi@raspberrypi.local
$ sudo /bin/bash
$ apt-get install -y git
$ curl -sSL https://get.docker.com | sh
$ sudo usermod -aG docker pi
$ exit
$ ssh pi@raspberrypi.local
$ ssh pi@raspberrypi.local
$ git clone https://github.com/bee42/swarm-monitor
$ cd swarm-monitor
$ docker build --build-arg NODE_BASE_IMAGE=hypriot/rpi-node:8.1.3 \
 --build-arg BASE_IMAGE=hypriot/rpi-node:8.1.3-slim \
 -t bee42/swarm-monitor:1.3.1
$ docker run -d  \
  --env SERVICE_IMAGE=stefanscherer/whoami \
  --env SERVICE_VERSION_GREEN=1.1 \
  --env SERVICE_VERSION_BLUE=1.2 \
  -v /sys:/sys \
  -v /var/run/docker.sock:/var/run/docker.sock \
  bee42/swarm-monitor:1.3.1
$ ip=$(ip -f inet -o addr show usb0|cut -d\  -f 7 | cut -d/ -f 1)
$ docker swarm init --advertise-addr $ip
$ docker service create --name whoami stefanscherer/whoami:1.1.0
$ docker service scale whoami=4
$ docker service update --image=stefanscherer/whoami:1.2.0 whoami

Fazit

Der PI mit der OTG Schnittstellen zu betreiben erleichtert den Zugang enorm. Der PI Zero ist ein netter Technologiebegleiter der für Aufmerksamkeit sorgt und die Kreativtät fördert.

Viel Spaß mit Deinen PI-Experimenten,
Peter (@PRossbach)

"Um unsere Webseite für Sie optimal zu gestalten und fortlaufend verbessern zu können, verwenden wir Cookies. Durch die weitere Nutzung der Webseite stimmen Sie der Verwendung von Cookies zu. Weitere Informationen zu Cookies erhalten Sie in unserer Datenschutzerklärung."