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
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
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.
- Trage in der Arduino IDE unter Datei -> Einstellungen eine zusätzliche Boardverwalter-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
Abb. 7 - Komponentenanordnung
Textausgabe im Terminalfenster
Abb. 8
Terminalausgabe der Router im Erfassungssbereich des ESP8266