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

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
<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

Quellen

File:ESP8266 Specifications English.pdf

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