ESP8266 Grundlagen: Unterschied zwischen den Versionen

Aus Hackerspace Ffm
Wechseln zu: Navigation, Suche
(Linksammlung)
(Linksammlung)
 
(41 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
== Geplante Workshop Inhalte ==
 
== Geplante Workshop Inhalte ==
 
* Anschluß an PC via USB-Seriell-Konverter, Pegelwandlung 5V - 3.3V, Stromversorgung 3.3V
 
* Anschluß an PC via USB-Seriell-Konverter, Pegelwandlung 5V - 3.3V, Stromversorgung 3.3V
 +
** Pegelwandlung Infos generell: http://www.mikrocontroller.net/articles/Pegelwandler
 +
** Angestrebte Lösung: FTDI/Arduino gleich auf 3.3V laufen lassen (geht nicht mit jedem)
 +
** Einfache Pegelwandlung mit 2 Widerständen: Wie auch beim Anschluss von SD-Karten siehe [http://hackerspace-ffm.de/wiki/index.php?title=Datei:SD_Card_Connection.png]
 +
** Wichtig: Unbenutzte Pinne beim Standard-Modul auf 1 legen, sonst macht es spontan Resets etc.
 
* Updaten der Firmware
 
* Updaten der Firmware
* Handbertrieb mit AT-Kommandos
+
* Handbertrieb mit AT-Kommandos - Wichtig: Kommandos müssen mit $0d $0a (cr lf) terminiert werden.
 
* alternative Firmwares
 
* alternative Firmwares
 
* Betrieb am Arduino/uC
 
* Betrieb am Arduino/uC
* evtl. Betrieb am Raspberry
+
* evtl. Betrieb am Raspberry (geht, aber da nur TCP-Ebene untersützt wird ist es recht sinnfrei - nehmt besser einen untersützten USB-WLAN-Stick!)
  
 +
== Board Layout ==
 +
<pre>
 +
+----------------------------+
 +
|  FTDI Board        -> DTR |
 +
|                    <- RX  |
 +
| U                  -> TX  |
 +
| S                      VCC |
 +
| B                  <- CTS |
 +
|                        GND |
 +
+----------------------------+
 +
 +
+----------------------------+
 +
|  ESP8266 ESP-01            |
 +
|                  RXD  VCC  |
 +
|                GPIO0  RST  |
 +
|  component    GPIO2  CH_PD|
 +
|    side          GND  TXD  |
 +
|                            |
 +
+----------------------------+
 +
 +
GND <-> GND
 +
VCC <-> VCC
 +
TX  <-> RXD
 +
RX  <-> TXD
 +
        CH_PD pullup to VCC
 +
        GPIO0 pull to GND for firmware flash
 +
        RST pullup to VCC
 +
</pre>
 +
 +
== Terminal Settings ==
 +
9600, 8N1 (älter versionnen 115K oder 57K)
 +
 +
'''Windows:'''<br>
 +
[https://sites.google.com/site/terminalbpp/ Br@y's Terminal]<br>
 +
[https://sites.google.com/site/terminalbpp/t/Terminal20130820.zip?attredirects=0&d=1 Br@y's Terminal direkt download v.1.9 (mit funktionierendem Autoscroll)]<br>
 +
<br>
 +
[http://www.hw-group.com/products/hercules/index_de.html Hercules SETUP utility] von [http://www.HW-group.com www.HW-group.com] - Erlaubt ebenfalls das testen der TCP-Verbindung<br>
 +
 +
'''Mac/Windows:'''<br>
 +
[http://freeware.the-meiers.org/ CoolTerm]
 +
Options:
 +
* Terminal - Terminal Mode: Line Mode<br>
 +
* Recive - Recive Options: Ignore recive data signal errors<br>
 +
 +
'''Linx:'''<br>
 +
[[Arduino IDE like serial monitor in the Raspberry Pi shell]]<br>
 +
 +
== Flashing Firmware ==
 +
Der NodeMcu Firmware Programmer kann auch für andere Firmwares verwendet werden:<br>
 +
[https://github.com/nodemcu/nodemcu-flasher NodeMcu Firmware Programmer on GitHub] NodeMcu Firmware enthalten<br>
 +
[https://drive.google.com/folderview?id=0B_ctPy0pJuW6d1FqM1lvSkJmNU0&usp=sharing ElectroDragon Firmware 0.95]
  
 
== Linksammlung ==
 
== Linksammlung ==
 +
=== Gutes Buch ===
 +
* http://neilkolban.com/tech/esp8266/ Ziemlich umfangreiches PDF-Buch zum ESP8266
 +
 
=== Erster Start ===
 
=== Erster Start ===
 
* http://defcon-cc.dyndns.org/wiki/ESP8266 Übersicht / Einstiegsanleitung (deutsch)
 
* http://defcon-cc.dyndns.org/wiki/ESP8266 Übersicht / Einstiegsanleitung (deutsch)
 +
* http://www.mikrocontroller.net/articles/ESP8266 Übersicht / Einstiegsanleitung (deutsch)
 
* http://www.electrodragon.com/w/ESP8266 Übersicht/Einstiegsanleitung/weitere Infos (englisch)  
 
* http://www.electrodragon.com/w/ESP8266 Übersicht/Einstiegsanleitung/weitere Infos (englisch)  
 +
* http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family Übersicht über angebotene Module
  
 
=== Tiefergehende Infos / Foren ===
 
=== Tiefergehende Infos / Foren ===
 
* http://www.esp8266.com/ Community Forum zum ESP8266
 
* http://www.esp8266.com/ Community Forum zum ESP8266
* http://bbs.espressif.com/ Forum vom Chiphersteller
 
 
* http://zeptobars.ru/en/read/Espressif-ESP8266-wifi-serial-rs232-ESP8089-IoT Bild vom Chip  
 
* http://zeptobars.ru/en/read/Espressif-ESP8266-wifi-serial-rs232-ESP8089-IoT Bild vom Chip  
 +
* http://www.esp8266.com/wiki/doku.php?id=start Noch so eine Linksammlung :-)
 +
* http://bbs.espressif.com/ Forum vom Chiphersteller, alles recht "closed" dort...
  
 
=== Interessante Projekte ===
 
=== Interessante Projekte ===
Zeile 25: Zeile 86:
 
* https://wiki.attraktor.org/images/9/98/ESP8266_Vortrag_Attraktor_Teil_1.pdf Grundlagen und Anleitung zum Aufspielen der Firmware (Attraktor Hamburg)
 
* https://wiki.attraktor.org/images/9/98/ESP8266_Vortrag_Attraktor_Teil_1.pdf Grundlagen und Anleitung zum Aufspielen der Firmware (Attraktor Hamburg)
 
* https://wiki.attraktor.org/images/e/e5/ESP8266_Vortrag_Attraktor_Teil_2.pdf Anleitung eigene Firmware erstellen, Toolchain etc. (Attraktor Hamburg)
 
* https://wiki.attraktor.org/images/e/e5/ESP8266_Vortrag_Attraktor_Teil_2.pdf Anleitung eigene Firmware erstellen, Toolchain etc. (Attraktor Hamburg)
 +
* https://github.com/pgollor/esphttpd Webserver auf dem ESP8266
 +
 +
== AT COMMANDS ==
 +
* Modul Reset
 +
<pre>AT+RST</pre>
 +
 +
* AP & Client Mode
 +
<pre>AT+CWMODE=3</pre>
 +
Weitere Moden: 1 = Client, 2 = AP, 3 = Client + AP
 +
 +
* kein multi client
 +
<pre>AT+CIPMUX=0</pre>
 +
Weitere Moden:<br>0 = Einzelverbindung, 1 = mehrere Verbinungen
 +
 +
* AP Einstellungen
 +
<pre>AT+CWSAP="TEST04","",1,0</pre>
 +
AT+CWSAP="{SSID}","{PWD}",{WLAN Channel},{Verschlüsselung}<br>
 +
Verschlüsselung Varianten:<br>0 = Offen, 1 = WEP, 2 = WPA_PSK, 3 = WPA2_PSK, 4 = WPA_WPA2_PSK
 +
 +
* Verbundene Clients auflisten
 +
<pre>AT+CWLIF</pre>
 +
 +
* Verbindung aufbauen mit ein TCP Server
 +
<pre>AT+CIPSTART="TCP","192.168.4.2",666</pre>
 +
AT+CIPSTART="{Protokol}","{IP}",{Port}<br>
 +
Protokol: TCP, UDP
 +
 +
* 5 Bytes senden
 +
<pre>AT+CIPSEND=5 [CR+LF]
 +
>HALLO</pre>
 +
 +
 +
 +
===Server mode test===
 +
 +
* Modul Reset
 +
<pre>AT+RST</pre>
 +
 +
* AP & Client Mode
 +
<pre>AT+CWMODE=2</pre>
 +
Weitere Moden: 1 = Client, 2 = AP, 3 = Client + AP
 +
 +
* kein multi client
 +
<pre>AT+CIPMUX=1</pre>
 +
Weitere Moden:<br>0 = Einzelverbindung, 1 = mehrere Verbinungen
 +
 +
* AP Einstellungen
 +
<pre>AT+CWSAP="TEST05","",13,0</pre>
 +
AT+CWSAP="{SSID}","{PWD}",{WLAN Channel},{Verschlüsselung}<br>
 +
Verschlüsselung Varianten:<br>0 = Offen, 1 = WEP, 2 = WPA_PSK, 3 = WPA2_PSK, 4 = WPA_WPA2_PSK
 +
 +
* Server Starten
 +
<pre>AT+CIPSERVER=1,666</pre>
 +
 +
==Pilda==
 +
<gallery caption="ESP8266 Workshop">
 +
Datei:ESP8266_brettboard.jpg|ESP8266
 +
Datei:ESP8266_workshop.jpg|ESP8266 Workshop Selfi
 +
Datei:ESP8266_workshop_stuffs.jpg|Diverse RF Module
 +
Datei:Rf_nordic.jpg|Nordic RF Modul (auch geil, fast genauso groß, ist aber was völlig anderes!)
 +
Datei:Workshop_camera.jpg|Lutz's Katze als Workshop Kamera
 +
</gallery>
 +
 +
[[Kategorie:Workshops]]

Aktuelle Version vom 7. November 2015, 20:17 Uhr

Geplante Workshop Inhalte

  • Anschluß an PC via USB-Seriell-Konverter, Pegelwandlung 5V - 3.3V, Stromversorgung 3.3V
    • Pegelwandlung Infos generell: http://www.mikrocontroller.net/articles/Pegelwandler
    • Angestrebte Lösung: FTDI/Arduino gleich auf 3.3V laufen lassen (geht nicht mit jedem)
    • Einfache Pegelwandlung mit 2 Widerständen: Wie auch beim Anschluss von SD-Karten siehe [1]
    • Wichtig: Unbenutzte Pinne beim Standard-Modul auf 1 legen, sonst macht es spontan Resets etc.
  • Updaten der Firmware
  • Handbertrieb mit AT-Kommandos - Wichtig: Kommandos müssen mit $0d $0a (cr lf) terminiert werden.
  • alternative Firmwares
  • Betrieb am Arduino/uC
  • evtl. Betrieb am Raspberry (geht, aber da nur TCP-Ebene untersützt wird ist es recht sinnfrei - nehmt besser einen untersützten USB-WLAN-Stick!)

Board Layout

+----------------------------+
|  FTDI Board         -> DTR |
|                     <- RX  |
| U                   -> TX  |
| S                      VCC |
| B                   <- CTS |
|                        GND |
+----------------------------+

+----------------------------+
|  ESP8266 ESP-01            |
|                  RXD  VCC  |
|                GPIO0  RST  |
|  component     GPIO2  CH_PD|
|    side          GND  TXD  |
|                            |
+----------------------------+

GND <-> GND
VCC <-> VCC
TX  <-> RXD 
RX  <-> TXD
        CH_PD pullup to VCC
        GPIO0 pull to GND for firmware flash
        RST pullup to VCC

Terminal Settings

9600, 8N1 (älter versionnen 115K oder 57K)

Windows:
Br@y's Terminal
Br@y's Terminal direkt download v.1.9 (mit funktionierendem Autoscroll)

Hercules SETUP utility von www.HW-group.com - Erlaubt ebenfalls das testen der TCP-Verbindung

Mac/Windows:
CoolTerm Options:

  • Terminal - Terminal Mode: Line Mode
  • Recive - Recive Options: Ignore recive data signal errors

Linx:
Arduino IDE like serial monitor in the Raspberry Pi shell

Flashing Firmware

Der NodeMcu Firmware Programmer kann auch für andere Firmwares verwendet werden:
NodeMcu Firmware Programmer on GitHub NodeMcu Firmware enthalten
ElectroDragon Firmware 0.95

Linksammlung

Gutes Buch

Erster Start

Tiefergehende Infos / Foren

Interessante Projekte

Alternative Firmware, GCC Toolchain, etc.

AT COMMANDS

  • Modul Reset
AT+RST
  • AP & Client Mode
AT+CWMODE=3

Weitere Moden: 1 = Client, 2 = AP, 3 = Client + AP

  • kein multi client
AT+CIPMUX=0

Weitere Moden:
0 = Einzelverbindung, 1 = mehrere Verbinungen

  • AP Einstellungen
AT+CWSAP="TEST04","",1,0

AT+CWSAP="{SSID}","{PWD}",{WLAN Channel},{Verschlüsselung}
Verschlüsselung Varianten:
0 = Offen, 1 = WEP, 2 = WPA_PSK, 3 = WPA2_PSK, 4 = WPA_WPA2_PSK

  • Verbundene Clients auflisten
AT+CWLIF
  • Verbindung aufbauen mit ein TCP Server
AT+CIPSTART="TCP","192.168.4.2",666

AT+CIPSTART="{Protokol}","{IP}",{Port}
Protokol: TCP, UDP

  • 5 Bytes senden
AT+CIPSEND=5 [CR+LF]
>HALLO


Server mode test

  • Modul Reset
AT+RST
  • AP & Client Mode
AT+CWMODE=2

Weitere Moden: 1 = Client, 2 = AP, 3 = Client + AP

  • kein multi client
AT+CIPMUX=1

Weitere Moden:
0 = Einzelverbindung, 1 = mehrere Verbinungen

  • AP Einstellungen
AT+CWSAP="TEST05","",13,0

AT+CWSAP="{SSID}","{PWD}",{WLAN Channel},{Verschlüsselung}
Verschlüsselung Varianten:
0 = Offen, 1 = WEP, 2 = WPA_PSK, 3 = WPA2_PSK, 4 = WPA_WPA2_PSK

  • Server Starten
AT+CIPSERVER=1,666

Pilda