Unterrichts- und Lernmaterial für Mikrocontroller
Unterrichts- und Lernmaterial fürMikrocontroller

WiFi Boards

Worum geht es hier?

 

Im Alltag der Menschen, ob jung oder alt, spielt die Kommunikation zwischen Smartphones, Tablets und Computern eine immer größere Rolle. Beispielhaft stehen dafür: E-Mail-Austausch zum Beispiel über WhatsApp oder klassische E-Mailer, Warenkauf im Internet oder Informationsaustausch in sozialen Netzwerken. Dies alles geschieht in einem weltumspannenden rechnergestützten Netzwerk, bei dem die rechnergestützten Netze über Kabel und/oder Funk miteinander verbunden sind.

 

Wie man über Funk Messdaten einer elektronischen Schaltung auf ein Smartphone übertragen oder elektronische Bauteile mit ihm beeinflussen kann, wird am Beispiel verschiedener WiFi-Boards (u.a. ESP-WROOM-32 DEVKIT, ESP8266, Arduino MKR WiFi 1010, Arduino UNO R4 WiFi u.a.) in den folgenden Kapiteln gezeigt (siehe  unter: welche ESP-Module werden benutzt?). Dazu sind vorher aber noch ein paar begriffliche Dinge zu klären.

 

Begriffliche Klärungen

 

In Deutschland werden die beiden Begriffe WLAN (Wireless Local Area Network) und WiFi (Wireless Fidelity) gleichbedeutend verwendet. Genauer bezeichnet WiFi allerdings einen von der Wi-Fi Alliance zertifizierten Funkstandard: z.B. IEEE-802.11, WiFi 5 o.a.

  • WiFi bezeichnet also streng genommen die benutzte Technologie, den Funkstandard, innerhalb eines WLAN-Netzes.
  • Bei einem  drahtlosen Zugang zum Internet sprechen wir in Deutschland salopp von WLAN, während man international von WiFi spricht.
  • In einem WLAN-Netz (Funknetz) werden Daten zwischen WLAN-fähigen Geräten (z.B. Smartphones, Laptops, Computer) ausgetauscht bei Funkfrequenzen von typisch 2,4 GHz oder 5,725 GHz.
    Es gilt: je höher die Funkfrequenz des WLAN, umso höher ist seine Übertragungsrate (bei 5,7x GHz ~ <1,73 GB/s, bei 2,4 GHz ~ < 450 MB/s) und umso geringer die Reichweite (max. 100 m).
  • Ein Mobilfunknetz (GSM (2G) mit 9,6 kBit/s und <= 35 km Reichweite, UTMS (3G) mit 384 kB/s und LTE (4G) mit 500 Mbit/s und <=20 km Reichweite) basiert auf dem gleichen Prinzip wie ein WLAN, hat aber eine beträchtlich höhere Reichweite.
  • Wie Rechnernetzwerke aufgebaut sind (Topologie), wird hier nicht angesprochen, das würde den Rahmen sprengen. Beim Übertragungsmedium fokussieren wir uns hier auf die Funkübertragung in einem WLAN mit einer Basisstation oder einem WLAN-Access-Point (Zelle). Da, wo neue Begriffe auftauchen sollten, werden sie erklärt.

 

 

 

 

 

 

 

Abb. 1

Der Zugang zu einem Access-Point gestützten Funknetzwerk erfolgt über folgende Angaben:

SSID (Service Set Identifier) des WLAN-Funknetzes 

und den

WLAN Netzwerkschlüssel.

Welche ESP-Module werden benutzt?

 

ESP32 Dev KitC V4 mit ESP32-WROOM-32

 

 

 

 

Abb. 2a

Das ESP32 Dev KitC V4 Modul der Fa. Az-Delivery mit einem ESP32-WROOM-32.

Technische Daten (Auszug)

 

Betriebsspannung:  3,3 V

Micro USB (USB2.0) : 5 V

I/O: 32 GPIO, 10mA pro Eingang, maximal über alle: 50 mA

ADC: 0 – 3,3V; 12 Bit

DAC: 0 – 3,3V; 8 Bit

Bus: UART, PWM, SPI, I2C, I2S

Funkprotokolle:

802.11b/g/n, Bluetooth 4.2

ESP32 DEVKIT V1 DOIT mit ESP-WROOM-32

 

 

 

 

 

 

Abb. 2b

Das ESP32 DEVKIT V1 DOIT Modul  mit einem ESP-WROOM-32.

Technische Daten (Auszug)

 

Betriebsspannung:  3,3 V

Micro USB (USB2.0) : 5 V

I/O: 30 GPIO, 10mA pro Eingang, maximal über alle: 50 mA

ADC: 0 – 3,3V; 12 Bit

DAC: 0 – 3,3V; 8 Bit

Bus: UART, PWM, SPI, I2C, I2S, CAN 2.0

Funktprotokolle: 802.11b/g/n, Bluetooth 4.2 Class 2

BuiltIn LED: GPIO2

D1 mini ESP8266 Modul

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Abb. 2c

Das HW-350B Modul (D1 mini) mit ESP8266-MOD

oben: Draufsicht

unten: Rückseite

Technische Daten (Auszug)

 

Betriebsspannung:  3,3 V

USB-Anschluß: USB-C

USB-Chip: CH840C

I/O: 11 GPIO

ADC: 0 – 3,3V; 10 Bit

Bus: UART, SPI, I2C

Funktprotokolle: 802.11b, g, n

BuiltIn-LED: GPIO2

Flash: 4 MB

Die Pinbelegung

 

 

 

 

 

 

 

 

 

 

Abb. 3

Pinbelegung eines ESP8266 D1 mini Boards.

Übung 1 - Einfache Schaltung mit Taster

 

In dieser Übung wird mit Hilfe eines Tasters an D0 die eingebaute blaue LED (BUILTIN_LED) auf dem ESP8266 Modul ein- / ausgeschaltet.

 

Schaltungsaufbau

 

 

 

 

 

 

 

 

 

Abb. 4

Schaltungsaufbau mit ESP8266-Modul, Taster und Vorwiderstand.

Das Board installieren

 

Dem D1 mini Board muss in der Arduino IDE zunächst ein angepasste Boardverwaltung zugeordnet werden.

  • Tra­ge in der Arduino IDE unter Datei -> Ein­stel­lun­gen eine zusätz­li­che Boar­d­­ver­­­wal­­ter-URL ein:
  • https://arduino.esp8266.com/stable/package_esp8266com_index.json
  • Wenn dort bereits ein Eintrag steht, trenne ihn durch ein Komma von der o.g. URL ab (s. Abb. 5)

Abb. 5 - Boardverwalter URL für das D1 mini ESB8266 Board eintragen

  • Wähle anschließend in der IDE über Werkzeuge -> Board -> esp8266 das Board LOLIN(WEMOS) D1 R2 & mini o.ä.aus.
  • Anschließend kann der Quellcode (s. Das Programm) in den Editor der Arduino IDE eingegeben, kompiliert und geladen werden.

Das Programm

 

// BUILTIN_LED an D4 (GPIO2) low active
#define Taster D0
int Status = 1;   

void setup()  
{
  pinMode(BUILTIN_LED, OUTPUT);
  pinMode(Taster, INPUT);
}

void loop()
{
   Status= digitalRead(Taster);
   if (Status == 0) {
    digitalWrite(BUILTIN_LED, 1);
   } else
    digitalWrite(BUILTIN_LED, 0);
}

Übung 2 - WiFi Netzwerk-Scanner mit ESP8266 D1 mini (Visuino)

 

ESP8266-Module sind kostengünstige Standalone-Controller mit integriertem WLAN. In dieser Übung wird mit einem ESP8266 D1 mini o.ä. und VISUINO ein WLAN-Netzwerkscanner erstellt.

 

1 - Pflichtenheft oder Was soll die Schaltung können?

Ein beliebiges ESP8266-Modul (hier: ESP8266 D1 mini) soll unter VISUINO als Netzwerkscanner konfiguriert werden und im Terminalfenster alle erreichbaren WLAN-Netze und ihre Netzstärke anzeigen.

 

2 - Material

  • ESP8266-Modul (hier: ESP8266 D1 mini Modul) mit USB-Kabel
  • Steckbrett und Steckdraht (Ma-Ma)
  • Arduino IDE und Visuino (jeweils neueste Version)auf dem Rechner installiert

 

3 - Auswahl des Boards

  • Starte VISUINO; es wird eine Arduino-Komponente angezeigt
  • Klicke auf das Werkzeug-Icon (Tool-Symbol) in der Kopfzeile der Arduino-Komponente (s. Abb. 6a).

 

Abb. 6a - Werkzeug-Icon in der Kopfzeile der Arduino Komponente

  • Gib in das Suchfeld wemos ein und wähle das ESP8266 D1 mini aus (s. Abb. 6b).

 

 

 

 

 

 

 

 

 

 

 

Abb. 6b - BoardType Auswahl

4 - Einstellungen im Objekt-Inspektor (Properties-Fenster) des Boards

  • Öffne im Properties-Fenster über Modules - WiFi - Operations - ... Taste das Fenster Operations (s. Abb. 6c), wähle durch Doppelklick Scan WiFi Networks (s. Abb. 6d) und schließe anschließend das Fenster.

 

 

 

 

 

 

 

 

 

 

 

Abb. 6c

Arduino Board - Modules - WiFi - Operations - ... Taste drücken

 

 

 

Abb. 6d - Operations-Fenster - Scan WiFi Networks

Weitere Komponenten hinzufügen

  • Gib clock in das Filterfeld der Komponenten-Suchleiste ein und ziehe die Komponente Clock Generator in den Arbeitsbereich.
  • Verfahre ebenso mit der Komponente FormattedText.

Elemente zur Komponente FormattedText1 hinzufügen

Die Komponente FormattedText1 wird mit drei Elementen erweitert, über die eine formatierte Textausgabe im Terminalfenster später möglich ist.

  • Klicke in der Kopfzeile der Komponente FormattedText auf das Werkzeug-Icon (s. Abb. 6a).
  • Doppelklick auf Text Element und zweimal auf Integer Element im rechten Fenster fügt die entsprechenden Elemente ins linke Fenster ein (s. Abb. 6e, 6f)

Komponenten verbinden (s. auch Abb. 7)

  • ClockGenerator1 Out -> Scan Wemos D1 mini - ScanNetworks
  • FormattedText1 Out -> In Serial Serial[0] (9600)
  • Wemos D1 mini-ScanNetworks Scanning-> In Serial Serial[0] (9600)
  • Wemos D1 mini-ScanNetworks Signal Strength -> In FormattedText1-IntegerElement1
  • Wemos D1 mini-ScanNetworks Channel -> In FormattedText1-IntegerElement2
  • Wemos D1 mini-ScanNetworks SSID -> In FormattedText1-TextElement1
  • Wemos D1 mini-ScanNetworks Found Network -> Clock FormattedText1

 

 

 

Abb. 6e - Einfügen neuer Elemente in die Komponente FormattedText1

 

 

 

 

 

 

 

Abb. 6f - FormattedText1-Komponente mit drei neuen Elementen: TextElement1, IntegerElement1, IntegerElement2

Komponentenanordnung

Abb. 7 - Komponentenanordnung

Textausgabe im Terminalfenster

 

 

 

 

 

Abb. 8

Terminalausgabe der Router im Erfassungssbereich des ESP8266

Druckversion | Sitemap
© Reinhard Rahner - Gettorf