From DefCon Projects
Revision as of 07:58, 13 October 2014 by Webmaster (talk | contribs) (→‎Befehle)
Jump to: navigation, search

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


Quellen

File:ESP8266 Specifications English.pdf
ESP8266 WiFi Module (boxtec.ch)
ESP8266 ESP-01 (boxtec.ch)
ESP8266 ESP-02 (boxtec.ch)
ESP8266 ESP-03 (boxtec.ch)

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