From DefCon Projects
Jump to: navigation, search

Der ESP8266 ist ein kleiner Chip 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.

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)

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

Befehl Beschreibung Parameter Beispiel
AT+CWSAP="<ssid>","<pass>"[,<chan>,<enc>] Einstellungen für das WLAN-Netzwerk <ssid> = SSID
<pass> = Password
<chan> = Kanal
<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

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

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

Quellen

File:ESP8266 Specifications English.pdf

Cookies help us deliver our services. By using our services, you agree to our use of cookies.