Der ESP-01(S)


Auf dem ESP-01 ist ein ESP8266-Modul verbaut, es gibt ihn in zwei Versionen:
- ESP-01
1 MB Flash-Speicher - ESP-01S
bis zu 4 MB Flash-Speicher
On-Board LED an Pin 2
Der ESP-01 kann nicht direkt ins Steckbrett gesteckt werden, du benötigst dazu einen Adapter:

Board installieren
Trage unter Datei -> Einstellungen eine zusätzliche Boardverwalter-URL ein:
http://arduino.esp8266.com/stable/package_esp8266com_index.json

Die Programmer
Die erstellten Programme müssen mit einem Programmer auf den ESP-01 hochgeladen werden. Hierzu gibt es verschiedene Modelle:

Der dunkelblaue Programmer schaltet nach dem Hochladen automatisch in den USB-Modus, der Druckknopf startet das Programm neu. Durch die zusätzlichen Pins können Komponenten direkt angeschlossen werden.
Beim roten Programmer muss durch den Schieberegler zwischen den Modi Hochladen und Ausführen gewechselt werden.


Pinbelegung

| links | rechts |
|---|---|
| RX | 3,3V |
| IO0 | RST |
| IO2 | EN |
| GND | TX |
Der ESP-01 verfügt über lediglich zwei IO-Pins (0 und 2)
Blinkende LED
Der Schaltplan

Die Position der Steckbrücken entscheidet über die zur Verfügung gestellte Spannung auf der +/- Leiste des Steckbretts.

Das Programm
Der Vorgang des Programmierens läuft nach festgelegtem Rhythmus ab:
- zunächst den Programmer mit dem ESP-01 verbinden
- das Programm hochladen
- des ESP-01 in den Steckbrettadapter stecken
- Position der 3,3V/5V-Steckbrücken prüfen
- MB102-Spannungsmodul einschalten
|
1 2 3 4 5 6 7 8 9 10 11 12 |
void setup() { pinMode(2, OUTPUT); } void loop() { digitalWrite(2, HIGH); delay(1000); digitalWrite(2, LOW); delay(1000); } |
Webserver
Das Programm
Im Browser werden 6 Zufallszahlen angezeigt. Es findet keine Sortierung statt und es werden keine doppelten Zahlen ausgeschlossen.

Wenn du die IP-Adresse im Browser eingibst, erscheint eine Warnung, dass es sich um eine unsichere Seite handelt. Die Seite ist aber nur in deinem lokalen Netz erreichbar, du kannst diese Meldung ignorieren.

- der ESP-01 verwendet eine statische IP-Adresse
die IP-Adressen müssen an das lokale Netz angepasst werdenIPAddress ip(192, 168, 1, 120);
IPAddress gateway(192, 168, 1, 1);
IPAddress subnet(255, 255, 255, 0);
ip legt die statische IP-Adresse fest.
gateway ist der Router, er stellt die Verbindung in das lokale Netz her
subnet ist der Adressbereich der zugelassenen IP-Adressen. 255 bedeutet, dass dieser Bereich jeweils unveränderlich ist, 0 am Ende heißt, dass die IP-Adressen variabel sind. Da die erste und die letzte IP-Adresse aus organisatorischen Gründen nicht vergeben werden darf, bleiben 254 IP-Adressen (192.168.1.1 bis 192.168.1.254).
Die neuere Schreibweise ist übrigens in diesem Fall 192.168.1/24.
Beachte, dass die Zahlenblöcke der IP-Adressen durch Kommata getrennt werden müssen. - Alle IP-Adressen, die mit 192.168. beginnen, sind als privat festgelegt, sie dürfen im Internet nicht verwendet werden. Die nächste Ziffer (1) bezeichnet das Subnetz. Hier sind maximal 256 Subnetze (192.168.1 bis 192.168.255) möglich. Die letzte Ziffer (120) ist die konkrete IP-Adresse des Geräts.
Du darfst keine IP-Adressen verwenden, die der Router für DHCP verwendet. WiFi.config(ip, gateway, subnet);stellt die Verbindung zum lokalen Netz her- In der Funktion
SeiteBauen()werden die Inhalte nach und nach dem String Seite (+=) hinzugefügt.Server.sendsendet den String Seite im Format text/html, wird der Code 200 bestätigt, wurde die Seite erfolgreich übertragen.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
#include "ESP8266WebServer.h" // SSID und Passwort des Routers char Router[] = "Router_SSID"; char Passwort[] = "xxxxxxxx"; ESP8266WebServer Server(80); // Minimum und Maximum der Zufallszahlen int Minimum = 1; int Maximum = 49; // ip und gateway müssen an das lokale Netz angepasst werden IPAddress ip(192, 168, 1, 120); IPAddress gateway(192, 168, 1, 1); IPAddress subnet(255, 255, 255, 0); void setup() { // WiFi starten WiFi.mode(WIFI_STA); WiFi.begin(Router, Passwort); WiFi.config(ip, gateway, subnet); // Zufallsgenerator mit dem Signal an A0 starten randomSeed(millis()); Server.begin(); Server.on("/", SeiteBauen); } void loop() { Server.handleClient(); } void SeiteBauen() { // Seite zusammenbauen // Kopf der HTML-Seite: aktualisierung alle 60 Sekunden // kann angepasst werden String Nachricht = "<head><meta http-equiv=\"refresh\" content=\"60\"></head>"; Nachricht += "<h1>Zufallszahlen</h1>"; Nachricht += "<hr>"; // Zufallszahlen anzeigen for (int i = 0; i < 7; i++) { int Zahl = random(Minimum, Maximum); Nachricht += String(Zahl) + " "; } Nachricht += "<hr>"; // Nachricht senden -> Seite anzeigen Server.send(200, "text/html", Nachricht); } |
Letzte Aktualisierung: