(→Update) |
No edit summary |
||
Line 226: | Line 226: | ||
[http://shop.boxtec.ch/esp8266-wifi-transceiver-modul-esp02-p-42187.html ESP8266 ESP-02 (boxtec.ch)] <br> | [http://shop.boxtec.ch/esp8266-wifi-transceiver-modul-esp02-p-42187.html ESP8266 ESP-02 (boxtec.ch)] <br> | ||
[http://shop.boxtec.ch/esp8266-wifi-transceiver-modul-esp03-p-42188.html ESP8266 ESP-03 (boxtec.ch)] | [http://shop.boxtec.ch/esp8266-wifi-transceiver-modul-esp03-p-42188.html ESP8266 ESP-03 (boxtec.ch)] | ||
== Einzelnachweise == | |||
<references> |
Revision as of 09:18, 13 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. Der ESP8266 benötigt eine Spannungsversorgung von +3,3V die mindestens 300mA liefern kann, sollte es Probleme geben bei der Kommunikation sollte auf jedenfall zuerst die Spannungsversorgung überpüft 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 (8N1)
- 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 (8N1)
- 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 (8N1)
- 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> abgeschlossen werden um von dem ESP8266 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 |
Firmware
Den Quellcode der Firmware des ESP8266(SDK) erhält man von dem Hersteller Esprssif, nachdem man eine Geheimhaltungserklärung unterschreiben hat.
Update
Um das ESP8266 auf eine neue Firmware zu updaten muss wie folgt vorgegangen werden:
- Zunächst prüfen ob eine serielle Verbindung mit dem ESP8266 funktioniert (Application Mode), dazu ESP8266 mit Spannung versorgen und die Pins mit folgenden Pegeln belegen
- RST an VCC (+3,3V)
- PD an VCC (+3,3V)
- GPIO0 an VCC (+3,3V)
- GPIO2 an VCC (+3,3V)
- RST an VCC (+3,3V)
- Per serieller Verbindung "AT<CR>" an das ESP8266 senden, dieses muss mit einem "OK<CR><LF>" antworten. Sollte das nicht funktionieren die Verbindung überprüfen (RXD und TXD müssen gekreuzt werden!! Baudrate: 115200 (alte Firmware: 57600) 8N1)
- Aktuelle Versionsstände der auf dem ESP8266 befindlichen Firmware können über den Befehl "AT+GMR<CR>" ermittelt werden. Das ESP8266 anwortet dann z.B. wie folgt: "00160901<CR><LF>". Dabei geben die ersten vier Zahlen den Verionsstand des SDK wieder (0016) und die letzen vier Zahlen den Stand der AT-Befehle (0901).
- Zum flashen einer neuen Firmware den ESP8266 in den Flash Mode versetzen, durch setzen der Pegel auf:
- RST an VCC (+3,3V)
- PD an VCC (+3,3V)
- GPIO0 an GND (0V)
- GPIO2 an VCC (+3,3V)
- RST an VCC (+3,3V)
- Die neue Firmware kann mit dem Tool "XTCOM UTIL"[1] auf das ESP8266 geladen werden.
Quellen
File:ESP8266 Specifications English.pdf
Thread zum ESP8266 auf mikrocontroller.net
ESP8266 WiFi Module (boxtec.ch)
ESP8266 ESP-01 (boxtec.ch)
ESP8266 ESP-02 (boxtec.ch)
ESP8266 ESP-03 (boxtec.ch)
Einzelnachweise
<references>