WIFI Master Extension 2.0

Features

  • Steuerung von Bricks/Bricklets drahtlos über WLAN Netzwerk
  • Arbeitet mit 802.11b/g/n
  • Unterstützt WPA2-Verschlüsselung als Client und Access Point
  • Unterstützt statische IP sowie DHCP als Client und Access Point
  • Unterstützt Client and Access Point Modus gleichzeitig

Beschreibung

Mit der WIFI Extension 2.0 können Bricks und Bricklets drahtlos mittels Smartphone, Tablet oder PC gesteuert werden. Weitere Informationen zum Master Extension Konzept gibt es in der allgemeinen Beschreibung.

Da die Extension selbst die von der API generierten TCP/IP Pakete behandeln kann, ist es möglich direkt vom Smartphone, Tablet oder (Embedded) PC zu steuern. Der Brick Daemon ist dann nicht mehr notwendig.

Um die WIFI Extension zu nutzen ist ein Master Brick notwendig. Der RED Brick wird zurzeit nicht unterstützt. Wenn andere Bricks gesteuert werden sollen, so kann ein Stapel aus diesen gebaut werden und auf den Master Brick gesteckt werden. Wenn Bricklets verwendet werden sollen, so können diese einfach an der Master Brick oder andere Bricks im Stapel angeschlossen werden. Aus der Programmierersicht ist dies absolut transparent, d.h. alle Bricks und Bricklets können so genutzt werden als ob sie direkt per USB mit dem steuernden Gerät verbunden wären.

Der benutzte Master Brick sollte eine Firmware Version von 2.4.0 oder neuer besitzen um diese Extension nutzen zu können.

Die folgenden Kombinationen von Extensions in einem Stapel sind möglich. Die Reihenfolge im Stapel ist dabei nicht relevant:

  • WIFI 2.0 / RS485 Master

Technische Spezifikation

Eigenschaft Wert
Stromverbrauch 80mA (Senden), TBDmA (im Schlafmodus)
   
Maximale Anzahl gleichzeitiger Verbindungen 10
Modi Client, Access Point und Client/Access Point gleichzeitig
Tinkerforge Protokolle Volle Unterstützung (TCP/IP, Authentifizierung und WebSocktes)
   
RF Ausgangsstärke (typisch) bis zu 19.5dBm
Sicherheitsprotokolle WPA, WPA2
Unterstützte Standards IEEE 802.11 b/g/n, mit CCK, OFDM und MCS7 Modulation
   
Abmessungen (W x D x H) 40 x 40 x 16mm (1,57 x 1,57 x 0,63")
Gewicht 12g

Ressourcen

WLAN Netzwerk

Die WIFI Extension 2.0 erlaubt es eine drahtlose Verbindung zu einem Master Brick und allen angeschlossenen Bricks und Bricklets herzustellen. Es ist kein Brick Deamon notwendig um diese Extension zu nutzen.

Um den Brick Viewer mit einem drahtlosen Aufbau zu verbinden muss die IP Adresse und der konfigurierte Port im Setup Tab eingegeben werden. Nach dem Klick auf "Connect" wird dann eine Verbindung zu der WIFI Extension und nicht zu dem lokal laufenden Brick Daemon hergestellt.

Brick Viewer Konfigration für WIFI Extension 2.0

Für die eigene Anwendung muss im Quelltext der übergebene Host und Port im connect Aufruf modifiziert werden, z.B.:

ipcon.connect("localhost", 4223)

muss nach

ipcon.connect("192.168.0.25", 4223)

geändert werden.

WLAN Konfiguration

Die WIFI Extension 2.0 kann über den Master Brick Tab des Brick Viewers konfiguriert werden.

Kompletter Brickv Master Brick Tab

Ports

Die ersten Konfigurationsoptionen sind Port, WebSocket Port und Webseiten Port. Diese Optionen haben die Standardwerte 4223, 4280 und 80. Falls notwendig können die Ports geändert werden, im Normalfall ist eine Umstellung der Ports nicht notwendig.

WIFI Extension 2.0 Port Konfiguration

PHY Modus

Die PHY Modi

  • B,
  • G und
  • N

stehen zur Verfügung. PHY Modus N kann nicht genutzt werden falls der Access Point aktiviert ist

WIFI Extension 2.0 PHY Modus Konfiguration

Authentifizierung

Die WIFI Extension 2.0 unterstützt Authentifizierung. Authentifizierung ist standardmäßig deaktiviert. Um Authentifizierung zu aktivieren muss das Häkchen bei "Use Authentication" gesetzt und ein Authentifizierungsgeheimnis eingetragen werden. Das Geheimnis kann maximal 64 ASCII Zeichen lang sein. Nachdem die Konfiguration gespeichert und der Master Brick neugestartet wurde ist Authentifizierung aktiv.

WIFI Extension 2.0 Authentifizierung Konfiguration

Bei aktivierter Authentifizierung muss jede TCP/IP Verbindung zur WIFI Extension zuerst nachweisen, dass sie das Authentifizierungsgeheimnis kennt, bevor normale Kommunikation stattfinden kann. Für mehr Informationen zur Authentifizierung siehe das dazugehörige Tutorial.

Betriebsarten

Die WIFI Extension 2.0 kann als

  • Client,
  • Access Point oder
  • beides gleichzeitig

agieren.

WIFI Extension 2.0 phy mode configuration

Falls Client und Access Point Modus gleichzeitig verwendet werden, sind beide Netzwerke komplett unabhängig voneinander. Der Client hat eine andere MAC Adresse als der Access Point und es gibt keinerlei Routing zwischen den beiden Netzwerken.

Die komplette Konfiguration (inklusive Client und Access Point Konfiguration) wird durch einen Klick auf den "Save WIFI Configuration"-Knopf gespeichert.

Der aktuelle Status der WIFI Extension 2.0 kann über den "Show Status"-Knopf abgerufen werden.

Client Mode Konfiguration

Im Client Mode kann ein Hostname mit bis zu 32 ASCII-Zeichen verwendet werden.

WIFI Extension 2.0 Client Hostname Konfiguration

Die IP kann per DHCP vergeben werden. Alternativ ist es auch möglich eine statisch IP einzutragen. In letzterem Fall muss eine IP, eine Subnetzmaske sowie ein Gateway angegeben werden.

WIFI Extension 2.0 Client IP Konfiguration

Die SSID des Access Points (zu dem der Client sich verbinden soll) kann bis zu 32 ASCII-Zeichen lang sein.

WIFI Extension 2.0 Client SSID Konfiguration

Es ist möglich eine Verbindung zu einem offenen Netzwerk oder einem per WPA/WPA2 verschlüsseltem Netzwerk herzustellen.

WIFI Extension 2.0 Client Verschlüsselung Konfiguration

Für verschlüsselte Netzwerke kann ein Passwort mit bis zu 64 ASCII-Zeichen angegeben werden.

Falls die Verbindung auf einen bestimmten Access Point stattfinden soll, kann die entsprechende BSSID eingetragen werde. Eine Angabe eine selbst erstellten MAC Adresse ist auch möglich.

WIFI Extension 2.0 Client BSSID und MAC Konfiguration

Access Point Mode Konfiguration

Im Access Point Modus kann entweder DHCP aktiviert werden (in diesem Fall führt die WIFI Extension 2.0 einen DHCP Server aus) oder eine statische IP genutzt werden.

Falls eine statische IP gewählt wird, muss sichergestellt werden dass der Client passende IP, Subnetzmaske und Gateway wählt welche mit dem eingestellten Netzwerk der WIFI Extension 2.0 kompatibel sind.

WIFI Extension 2.0 AP IP Konfiguration

Die SSID kann bis zu 32 ASCII-Zeichen lang sein.

WIFI Extension 2.0 AP SSID Konfiguration

Im Access Point Modus unterstützt die WIFI Extension 2.0 die Verschlüsselungsprotokolle

  • WPA PSK,
  • WPA2 PSK und
  • WPA/WPA2 PSK.

Es ist auch möglich ein Netzwerk ohne Verschlüsselung zu erstellen. Falls Verschlüsselung aktiviert ist, kann ein Passwort mit mindestens 8 und bis zu 64 ASCII-Zeichen eingetragen werden.

WIFI Extension 2.0 AP Verschlüsselung Konfiguration

Zusätzlich kann der WLAN Kanal zwischen 1 und 13 eingestellt werden. Es ist auch möglich die SSID zu verstecken sowie eine selbst erstellte MAC Adresse zu nutzen.

WIFI Extension 2.0 AP Channel, Hide SSID, und MAC Konfiguration

Web Interface

Ab Firmware Version 2.0.1 bietet die Extension ein Web Interface zur Konfiguration und Abfrage von Statusinformationen.

Statusansicht des Web Interface der WIFI Extension 2.0

Über die "Disable Web Interface" Checkbox Konfigurationsansicht kann das Web Interface aktiviert und deaktiviert werden. Wenn das Web Interface deaktiviert ist kann es über Brick Viewer wieder aktiviert werden. Bis einschließlich Brick Viewer 2.3.6 muss zum Deaktivieren in das "Website Port" Feld eine 1 eingetragen werden. Zum Aktivieren des Web Interface muss ein Wert größer 1 eingetragen werden. ab Brick Viewer 2.3.7 steht hierzu eine eigene Checkbox bereit, wie auch im Web Interface.

Konfigurationsansicht des Web Interface der WIFI Extension 2.0

Falls die Authentifizierung aktiviert ist, dann fragt das Web Interface das Secret mit folgender Seite ab:

Authentifizierungsansicht des Web Interface der WIFI Extension 2.0

Mesh-Netzwerk

Ab Firmware Version 2.1.0 unterstützt die WIFI Extension 2.0 Mesh-Netzwerke zwischen mehreren WIFI Extension 2.0. Zusätzlich müssen benötigen die beteiligen Master Bricks mindestens Firmware Version 2.4.2, der als Mesh Gateway agierenden Brick Daemon mindestens Version 2.3.0 und Brick Viewer zur Konfiguration mindestens Version 2.3.7.

Stapel mit WIFI Extension 2.0 die auf Mesh Mode konfiguriert sind formen sich automatisch zu einem Mesh-Netzwerk. Alle Bricks und Bricklet können über den Mesh Gateway normal angesprochen werden.

Wichtige Teile des Mesh-Netzwerks:

  • Mesh-Root-Node:

    Jedes Mesh-Netzwerk hat mindestens einen WIFI Extension 2.0 die als Root-Node agiert. Root-Nodes sind die Zugangspunkte zum Mesh-Netzwerks an denen Daten zwischen dem Mesh-Netzwerk und dem restlichen Netzwerk ausgetauscht werden.

  • Mesh-Router:

    Der Mesh-Router ist ein WLAN-Access-Point mit dem sich der Root-Node verbindet, um den Mesh-Gateway zu erreichen.

  • Mesh-Gateway:

    Der Mesh-Gateway ist ein Brick Daemon der den Zugangspunkt der API Bindings zum Mesh-Netzwerk bereitstellt.

Die folgende Illustration stellt die Topologie eines Mesh-Netzwerks dar.

Beispiel-Topologie eines Mesh-Netzwerks

Die Illustration zeigt ein Mesh-Netzwerk mit fünf Stapeln, von denen jeder mit einer WIFI Extension 2.0 im Mesh-Mode ausgestattet ist. Der Root-Node ist mit einem roten Kreis markiert und stellt die Verbindung des Mesh-Netzwerks zum WLAN-Access-Point, dem "Mesh-Router", her. Der dem "Brick Daemon" PC läuft Brick Daemon der als Mesh Gateway agiert.

Der Mesh-Root-Node stellt eine Verbindung zum Mesh-Gateway her, gekennzeichnet in grün. Der "Client" verbindet sich zum Brick Daemon der als Mesh-Gateway agiert und kann über seine blau gekennzeichnete Verbindung alle Teilnehmer des Mesh-Netzwerks erreichen.

Konfiguration

Bemerkung

Die Konfiguration aller WIFI Extension 2.0 in einem bestimmten Mesh-Netzwerk muss identisch sein, andernfalls wird das Mesh-Netzwerk nicht korrekt funktionieren.

Als erstes muss die Extension in den Mesh Mode versetzt werden, mittels Brick Viewer.

Mesh Mode auswählen

Die Mesh-Router-Einstellungen geben an zu welchem WLAN-Access-Point der Root Node des Mesh-Netzwerks seine Verbindung herstellen soll.

Mesh Router Konfiguration

Die Zugehörigkeit einer WIFI Extension 2.0 zu einem bestimmten Mesh-Netzwerk wird über die "Group SSID Prefix" und die "Group ID" festgelegt.

Die "Mesh Gateway IP" und der "Mesh Gateway Port" geben an unter welcher Adresse der als Mesh-Gateway agierende Brick Daemon zu erreichen ist.

Mesh Group und Gateway Konfiguration

Bekannte Bugs

  • Mesh-Router-SSID Maximallänge:

    Eine Mesh-Router-SSID kann bis zu 32 Zeichen lang sein. Aber bedingt durch einen Bug in der Espressif-Mesh-Bibliothek können davon aktuell nur die ersten 31 Zeichen genutzt werden.

  • Paketverlust bei Nicht-Root-Nodes:

    Dieses Problem betrifft ebenfalls die Espressif-Mesh-Bibliothek. Wenn ein Nicht-Root-Node einen Burst an Paketen empfängt, dann werden alle diese Pakete verworfen. Dies ist ein schwerwiegenderes Problem, da es zu Datenverlust führt. Dieser Bug tritt z.B. auf wenn viele Setter schnell hintereinander für einen Nicht-Root-Node aufgerufen werden. Bedingt durch diesen Bug funktioniert der Servo-Test-Mode im Brick Viewer nicht richtig, wenn der Servo Brick Teil eines Nicht-Root-Node ist

    Ein Workaround für diese Problem ist es Setter Burst zu vermeiden. Zum Beispiel durch Verwendung des Response-Expected-Flags der verwendeten Setter oder durch einfügen einer kleinen Verzögerung zwischen den Setter-Aufrufen.

LEDs

Die blaue LED ist permanent an, solange die WIFI Extension mit Strom versorgt wird.

Die grüne LED ist eine Status LED.

Im Client Mode blinkt sie schnell während die Verbindung zum Access Point aufgebaut wird. Sie bleibt an sobald die Verbindung aufgebaut ist.

Im Access Point Mode blinkt die LED langsam so lange sich kein Client verbunden hat.

Falls beide Modi aktiviert sind, blinkt die LED zuerst schnell bis eine Verbindung zum externen Access Point hergestellt wurde. Danach blinkt die LED langsam bis ein externe Client sich zum Access Point der WIFI Extension 2.0 verbindet.

Im Mesh Mode blinkt die LED schnell bis die Verbindung zum Mesh-Netzwerk hergestellt ist. Danach blinkt die LED langsam mit einem Intervall von etwa 6 Sekunden.

Programmierschnittstelle

Siehe Master Brick Dokumentation.