No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
Der ESP8266 ist ein kleiner Chip (QFN32) von der chinesischen Firma Espressif der es ermöglicht die Daten die er an seiner seriellen Schnittstelle empfängt über eine WLAN-Verbindung bereitzustellen. Dabei kann der Chip zum einem als Client als auch als Server fungieren. Der Chip ist vergleichsweise neu und bietet eine gute Grundlage für eigene Projekte die eine Integration | Der ESP8266 ist ein kleiner Chip (QFN32) von der chinesischen Firma Espressif der es ermöglicht die Daten die er an seiner seriellen Schnittstelle empfängt über eine WLAN-Verbindung bereitzustellen. Dabei kann der Chip zum einem als Client als auch als Server fungieren. Der Chip ist vergleichsweise neu und bietet eine gute Grundlage für eigene Projekte die eine Integration | ||
in ein WLAN benötigen. Der ESP8266 ist aktuell auf drei "Breakout Boards" (ESP-01, ESP-02 und ESP-03) anzutreffen. Die Unterscheidungsmerkmale der Breakoutboards sind nachfolgend unter [[ESP8266#Varianten]] aufgeführt. | in ein WLAN benötigen. Der ESP8266 ist aktuell auf drei "Breakout Boards" (ESP-01, ESP-02 und ESP-03) anzutreffen. Die Unterscheidungsmerkmale der Breakoutboards sind nachfolgend unter [[ESP8266#Varianten | Varianten]] aufgeführt. | ||
== Hardware == | == Hardware == |
Revision as of 08:20, 11 October 2014
Der ESP8266 ist ein kleiner Chip (QFN32) von der chinesischen Firma Espressif der es ermöglicht die Daten die er an seiner seriellen Schnittstelle empfängt über eine WLAN-Verbindung bereitzustellen. Dabei kann der Chip zum einem als Client als auch als Server fungieren. Der Chip ist vergleichsweise neu und bietet eine gute Grundlage für eigene Projekte die eine Integration in ein WLAN benötigen. Der ESP8266 ist aktuell auf drei "Breakout Boards" (ESP-01, ESP-02 und ESP-03) anzutreffen. Die Unterscheidungsmerkmale der Breakoutboards sind nachfolgend unter Varianten aufgeführt.
Hardware
Der ESP8266-Chip benötigt eine Versorgungsspannung von +3,3V. Die Eingänge sind nicht 5V tolerant und dürfen ausschließlich mit einer Spannung von +3,3V beaufschlagt werden.
Eckdaten
Nachfolgend einige Eckdaten die dem englischsprachigen Datenblatt des ESP8266 entnommen wurden.
- 802.11 b/g/n protocol
- Wi-Fi Direct (P2P), soft-AP
- Integrated TCP/IP protocol stack
- Integrated TR switch, balun, LNA, power amplifier and matching network
- Integrated PLL, regulators, and power management units
- +19.5dBm output power in 802.11b mode
- Integrated temperature sensor
- Supports antenna diversity
- Power down leakage current of < 10uA
- Integrated low power 32-bit CPU could be used as application processor
- SDIO 2.0, SPI, UART
- STBC, 1×1 MIMO, 2×1 MIMO
- A-MPDU & A-MSDU aggregation & 0.4µs guard interval
- Wake up and transmit packets in < 2ms
- Standby power consumption of < 1.0mW (DTIM3)
Varianten
Der Chip ist bei allen Varianten der Breakout Boards der selbe, einzig die Anzahl der herausgeführten Signale, die Abmessungen und die Antenne unterscheiden sich zwischen den Varianten.
ESP-01
- Antenne auf Platine integriert
- 8 Pin Stiftleiste (UART, GPIO0, GPIO2, RST, PD)
- Baudrate: 115200
- LEDs: Rot = Power, Blau = Aktivität
- Firmware Update möglich
- Größe: 14,5 x 24,8mm
ESP-02
- U-FL Anschluss für externe Antenne
- 8 Pin Lötanschluss (UART, GPIO0, GPIO2, RST, PD)
- Baudrate: 115200
- LEDs: Rot = Power, Blau = Aktivität
- Firmware Update möglich
- Größe: 14,5 x 14,7mm
ESP-03
- Integrierte Keramik Antenne auf der Platine
- Antennensignal auf Pin (ANT)
- 14 Pin Lötanschluss (UART, GPIO0, GPIO2, GPIO12-GPIO15, GPIO18, ANT, RST, PD)
- Baudrate: 115200
- LEDs: Rot = Power, Blau = Aktivität
- Firmware Update möglich
- Größe: 17,4 x 12,2mm
Pinbelegung
Pin-Nr. | Name | Bemerkung |
---|---|---|
1 | GND | Masse |
2 | TXD | Daten senden (max. 3,3V) |
3 | GPIO2 | Ein- / Ausgangspin |
4 | PD | Abschalten (low = aktiv) |
5 | GPIO0 | Ein- / Ausgangspin |
6 | RST | Reset (low = aktiv) |
7 | RXD | Daten empfangen (max. 3,3V) |
8 | VCC | Versorgungsspannung 3,3V (max. 3,6V) |
Software
Befehle
Werden Befehle an das ESP8266 gesendet müssen diese zwingend mit einem <CR><LF> angeschlossen werden um von dem ESP8266 als Befehl erkannt zu werden.
Allgemeine Befehle
Befehle die Informationen über das ESP8266 bereitstellen.
Befehl | Beschreibung | Parameter | Beispiel |
---|---|---|---|
AT | Test-Befehl, gibt immer "OK" zurück wenn Verbindung besteht | AT | |
AT+RST | Führ Reset durch | AT+RST | |
AT+GMR | Gibt Firmware-Informationen aus | AT+GMR |
Allgemeine Wifi Befehle
Befehle zum setzen von allgemeinen Einstellungen für Verbindungen des ESP8266.
Befehl | Beschreibung | Parameter | Beispiel |
---|---|---|---|
AT+CWMODE=<mode> | Setzt Wifi-Betriebsmodus | 1 = Client 2 = AP 3 = Client + AP |
AT+CWMODE=3 |
AT+CIPMUX=<mode> | Einstellungen für mehrere Verbindungen | 0 = Einzelverbindung 1 = mehrere Verbinungen |
AT+CIPMUX=1 |
AT+CIPMODE=<mode> | Einstellen des Datenmodus | 0 = Transparent 1 = Datenmodus |
AT+CIPMODE=1 |
Client Wifi Befehle
Befehle bei der das ESP8266 als Client fungiert und eine Verbindung mit einem bestehenden WLAN-Netzwerk eingeht.
Befehl | Beschreibung | Parameter | Beispiel |
---|---|---|---|
AT+CWJAP="<ssid>","<pass>" | Verbinden mit Wifi-Netzwerk (WLAN-Router) | <ssid> = SSID <pass> = Password |
AT+CWJAP="POLLOS","HEISENBERG" |
AT+CWLAP | Ausgabe der zurzeit verfügbaren WLAN-Netzwerke | AT+CWLAP | |
AT+CWQAP | Trennt verbindung zum WLAN-Netzwerk | AT+CWQAP | |
AT+CIFSR | Ausgabe der eigenen IP-Adresse | AT+CIFSR |
AP Wifi Befehle
Einrichten eines eigenen WLAN-Netzwerk mit dem ESP8266, das ESP8266 fungiert dann als Server.
Befehl | Beschreibung | Parameter | Beispiel |
---|---|---|---|
AT+CWSAP="<ssid>","<pass>"[,<chan>,<enc>] | Einstellungen für das WLAN-Netzwerk | <ssid> = SSID <pass> = Password <chan> = Kanal 1...14 <enc> = Verschlüsselung (0 = Offen, 1 = WEP, 2 = WPA_PSK, 3 = WPA2_PSK, 4 = WPA_WPA2_PSK) |
AT+CWSAP="POLLOS","HEISENBERG",1,3 |
AT+CWLAP | Ausgabe der zurzeit verfügbaren WLAN-Netzwerke | AT+CWLAP | |
AT+CWLIF | Zeigt verbundene Client-PCs an | AT+CWLIF |
Client IP Befehle
Befehle mit denen ein Datenaustausch zwischen dem Client (ESP8266) und einem Server, der einen Datenendpunkt darstellt, über das TCP oder UDP Protokoll eingegangen werden kann.
Befehl | Beschreibung | Parameter | Beispiel |
---|---|---|---|
AT+CIPSTATUS | Ausgabe der Verbundenen IP | AT+CIPSTATUS | |
AT+CIPSTART="<type>","<address>",<port> | Aufbauen einer Einzelverbindung (AT+CIPMUX=0) |
<type> = TCP oder UDP <address> = IP-Adresse <port> = Port |
AT+CIPSTART=“TCP”,”192.168.0.1”,666 |
AT+CIPSEND=<len> | Senden von Daten bei Einzelverbindung | <len> = Länge der Daten (byte) | AT+CIPSEND=5 >Hallo |
AT+CIPCLOSE | Schließen einer bestehenden TCP/UDP-Verbindung | AT+CIPCLOSE | |
AT+CIPSTART="<type>","<address>",<port> | Aufbauen von mehreren Verbindungen (AT+CIPMUX=1) |
<type> = TCP oder UDP <address> = IP-Adresse <port> = Port |
AT+CIPSTART=“TCP”,”192.168.0.1”,666 |
AT+CIPSEND=<id>,<len> | Senden von Daten bei mehreren Verbindungen | <id> = 0...4 <len> = Länge der Daten (byte) |
AT+CIPSEND=0,5 >Hallo |
AT+CIPCLOSE=<id> | Schließen einer definierten bestehenden TCP/UDP-Verbindung | AT+CIPCLOSE=0 |
Server IP Befehle
ESP8266 agiert als Server und empfingt Daten auf einem definierten Port.
Befehl | Beschreibung | Parameter | Beispiel |
---|---|---|---|
AT+CIPSERVER=1[,<port>] | Startet einen TCP-Server | <port> = TCP-Port | AT+CIPSERVER=1,666 |
AT+CIPSERVER=0 | Beendet den TCP-Server | AT+CIPSERVER=0 | |
AT+CIPSTO=<timeout> | Setzt Timeout für TCP-Server Verbindungen | <timeout> = 0...28800s | AT+CWLIF |