Erster Eindruck: ESP8266 - WLAN-Modul mit rs232 Schnittstelle

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hm, leider wurde das XTCOM_UTIL.zip im electrodragon.com Wiki gelöscht.. Hab das noch >> hier << gefunden - nur lässt sie sich nicht starten =( "Diese Anwendung konnte nicht gestartet werden, da die Side-by-Side-Konfiguration ungültig ist."

    ..wieso hab ich immer solche Probleme :@

  • Erster Eindruck: ESP8266 - WLAN-Modul mit rs232 Schnittstelle? Schau mal ob du hier fündig wirst!


  • Gedanklich funktioniert es etwas anders als einen ttiny zu flashen. Mosi etc brauchst du nicht, an sich nur TX und RX.

    Brauch ich dafür einen bestimmten Sketch auf dem Arduino? Wenn ja, welchen?

    //EDIT: Habs rausgefunden - man brauch den Arduino nicht flashen :)

    -> ESP8266 + RaspberryPI

  • Gibt es eigentlich irgendwo eine vernünftige Auflistung aller Versionen des ESP8266 Modules ?

    Ich weiß dass es vom Hersteller direkt 12 verschiedene gibt: ESP-01 bis ESP-12
    Aber ich hab auch noch andere gesehen wie zB ESP-ADC oder dieses dessen Bezeichnung ich nicht weiß :huh:

    Auch die Unterschiede zu den Versionen sind nicht gut dokumentiert - wie wärs wenn wir das hier machen? :)


    [an=ESP01][/an]ESP-01

    Spoiler anzeigen
    • The most common module with printed PCB antenna
    • Antenne auf Platine integriert
    • 8 Pin Stiftleiste (UART, GPIO0, GPIO2, RST, PD)
    • 2x4 2.54 mm pitch header
    • Baudrate: 115200 (8N1)
    • LEDs: Rot = Power, Blau = Aktivität
    • Firmware Update möglich
    • Größe: 14,5 x 24,8mm (L x B)


    esp8266-pinout1.png

    Code
    VCC	  3.3V (max 3.6V) Versorgungsspannung
    GND	  Ground
    TXD	  Transmit Data (3.3V Pegel!)
    RXD	  Receive Data (3.3V Pegel!)
    CH_PD	Chip Power down: (LOW = Power down aktiv)
    GPIO0	General Purpose I/O 0
    GPIO2	General Purpose I/O 2
    RST	  Reset (LOW = Reset aktiv)


    [an=ESP02][/an]ESP-02

    Spoiler anzeigen
    • A less common module with antenna connector, that may be compatible with breadboards
    • U-FL Anschluss für externe Antenne
    • 8 Pin Lötanschluss (UART, GPIO0, GPIO2, RST, PD)
    • Dual 1x4 2.54 mm pitch header in DIP form factor
    • Baudrate: 115200 (8N1)
    • LEDs: Rot = Power, Blau = Aktivität
    • Firmware Update möglich
    • Größe: 14,5 x 14,7mm (L x B)


    esp02-pinout.jpg

    Code
    VCC	          3.3V (max 3.6V) Versorgungsspannung
    GND  	        Ground
    TXD	          Transmit Data (3.3V Pegel!)
    RXD	          Receive Data (3.3V Pegel!)
    GPI015 (CH_PD)   Chip Power down: (LOW = Power down aktiv)
    GPIO0	        General Purpose I/O 0
    GPIO2	        General Purpose I/O 2
    RST	          Reset (LOW = Reset aktiv)


    [an=ESP03][/an]ESP-03

    Spoiler anzeigen
    • A SMT (Sufrace Mount Technology) module with all pins broken out to castellated pads with built-in ceramic antenna
    • Integrierte Keramik Antenne auf der Platine
    • Antennensignal auf Pin (ANT)
    • 14 Pin Lötanschluss (UART, GPIO0, GPIO2, GPIO12-GPIO15, GPIO18, ANT, RST, PD)
    • Dual 1x7 2 mm pitch castellated pads
    • Baudrate: 115200 (8N1)
    • LEDs: Rot = Power, Blau = Aktivität
    • Firmware Update möglich
    • Größe: 17,4 x 12,2mm (L x B)


    esp-03_rst.jpg
    RESET: GPIO18 kann als RESET verwendet werden, nachdem auf dem ESP-03 Modul die im Bild markierte Lotbrücke geschlossen wurde.


    [an=ESP04][/an]ESP-04

    Spoiler anzeigen
    • Another SMT (Sufrace Mount Technology) module with all pins broken out to castellated pads without built-in antenna
    • Dual 1x7 2 mm pitch castellated pads
    • external antenna on pad
    • 7 GPIOs: GPOI0/2/12/13/14/15/18
    • UART URXD/UTXD
    • RESET and CH_PD (powerdown)
    • VCC/GND
    • 12.0 mm W x 15.0 mm L


    [an=ESP05][/an]ESP-05

    Spoiler anzeigen
    • A simple UART-only module with antenna connector
    • Single 1x4 2.54 mm pitch header
    • built-in U-FL connector for external antenna
    • No GPIO
    • UART URXD/UTXD
    • No RESET nor CH_PD (powerdown)
    • VCC/GND
    • 14.2 mm W x 14.2 mm L


    [an=ESP12][/an]ESP-12

    Spoiler anzeigen


    ESP12.jpgESP12_pinout.jpg

    • Metal shield claims FCC
    • PCB Antenna
    • Dual 1x8 2mm pitch header
    • ADC
    • GPIO: 0 / 2 / 4 / 5 / 12 / 13 / 14 / 15 / 16
    • Größe: 24 x 16mm (L x B)


    [an=ESP-ADC][/an]ESP-ADC

    Spoiler anzeigen

    ESP_Pinbelegung_640.jpg

    • external antenna
    • Dual 1x9 2,54mm pitch header
    • ADC
    • GPIO: 0 / 2 / 4 / 5 / 12 / 13 / 14 / 15 / 16
    • Größe: 22,9 x 14,9mm (L x B)


    http://shop.in-circuit.de/product_info.p…&products_id=67


    Siehe dazu auch: http://wiki.fablab-nuernberg.de/w/Ding:ESP8266

  • Hat hier einer von euch schon mit der NodeMCU Firmware Erfahrungen gemacht? Die basiert auf LUA und scheint bereits einiges zu bieten. So kann man zB mit dem file-Module direkt Dateien schreiben/auslesen und so eigene Scripts erzeugen, oder Standard Aktionen beim starten ausführen lassen usw. Ein Beispiel für letzteres findet man > hier < und > hier <.

    Ich weiß allerdings noch nicht welche Build ich mir flashen muss -> Im pre_build Ordner liegen verschiedene FW's von 512kB bis 4MB ... Wie finde ich raus welche für mein ESP8266 die passende wäre :huh:


    Was mich zZt reizt ist das net.server-Module, mit dessen Hilfe man einen Server auf zB Port 80 starten kann und bei entsprechenden Vorkommnissen bestimmte Aktionen durchführen könnte.

    Ich spiele nun mit dem Gedanken damit eine Art Relay/Repeater/Gateway zu basteln. Theoretisch dachte ich mir das so:
    * ESP8266 wird über UART an den PI angeschlossen.
    * ESP8266 fügt sich als Client ins WLAN ein und erhält eine IP.
    * Auf dem ESP8266 initialisiert man mehrere Ports: 80 für HTTP, 22 für SSH
    * Auf dem PI läuft ein Script/Programm was auf Meldungen vom ESP8266 reagiert...
    * Wird nun eine Verbindung zur IP des ESP8266 auf Port 80 hergestellt, erfolgt eine Ausgabe über UART, dem PI wird mitgeteilt "Verbindungsaufbau Port: 80", das Script/Programm wiederum stellt eine Socketverbindung zum local laufenden Dienst her - in diesem Fall der Webserver.
    * Solange auf dem ESP8266 nicht die Verbindung geschlossen wird, werden alle Daten vom echten Client und vom PI kommend einfach unverändert durchgereicht.

    Was denk ihr dazu - wäre das überhaupt machbar? :s


    //EDIT: Ich hab mir jetzt die 512k FW geflasht, das ESP8266 an den PI angeschlossen, Xming gestartet, cutecom gestartet und /dev/ttyAMA0 mit 9600 baud geöffnet..
    Erste Maßnahme:

    Code
    file.remove("init.lua")
    file.open("init.lua", "w")
    file.writeline([[print("meigrafd's LUA module 0.1")]])
    file.close()
    node.restart()

    Dann wird als erstes die Zeile von der Firmware selbst ausgeben und anschließend meine aus der init.lua ;)
    (leider geht irgendwie kein copy&paste aus cutecom..)

    Also die erste Spielerei geht schon mal :fies:

    Die 2.Spielerei ist es automatisch eine Verbindung zu meinem WLAN herzustellen:

    Code
    file.remove("init.lua")
    file.open("init.lua", "w")
    file.writeline([[wifi.setmode(wifi.STATION); wifi.sta.config("SSID","PWD"); tmr.delay(3000); print(wifi.sta.getip())]])
    file.close()
    node.restart()

    Das lässt sich beliebig kombinieren. In die init.lua können mehrere Zeilen geschrieben werden.

    Die 3.Spielerei ist es einen simplen Webserver auf Port 80 zu initialisieren:

    Code
    sv=net.createServer(net.TCP, 1)
    sv:listen(80, function(c)
      c:on("receive", function(c, pl) print(pl) end)
      c:send("hello world\nESP8266")
    end)

    Wen's interessiert, im fragment.lua sind ein paar Beispiele aufgelistet die so möglich sind: https://github.com/nodemcu/nodemc…es/fragment.lua

  • Ein weiteres sehr nettes Tool, ergänzend zu dem aus Beitrag#64: https://github.com/4refr0nt/luatool
    Damit wirds leichter Scripts auf das ESP8266 Module hochzuladen ;)

    Code
    cd /usr/src
    git clone https://github.com/4refr0nt/luatool
    cd luatool/luatool
    nano init.lua

    Dann die Folgende Zeile anpassen:

    Code
    file.writeline([[wifi.sta.config("SSID","MasterPassword")]])

    Und jetzt folgenden Befehl ausführen:

    Code
    ./luatool.py --port /dev/ttyAMA0 --src init.lua --dest init.lua --verbose


    Damit wird die Datei init.lua auf das ESP8266 Module hochgeladen.

    Danach folgendes machen:

    Code
    ./luatool.py -p /dev/ttyAMA0

    Um dann eine WLAN verbindung herzustellen im Terminal zB picocom folgendes eingeben:

    Code
    picocom /dev/ttyAMA0
    
    
    dofile("main.lua")


    Wer jetzt eine automatische WLAN Verbindung etablieren möchte modifiziert init.lua wie folgt:

    ( cat main.lua >> init.lua )

    Anschließend hochladen:

    Code
    ./luatool.py --port /dev/ttyAMA0 --src init.lua --dest init.lua --verbose


    Und dann das Module über ein Terminal wie zB picocom neustarten:

    Code
    picocom /dev/ttyAMA0
    
    
    node.restart()

    Ausgabe:

    Wenn sich die "Connecting to AP..." Zeile unendlich wiederholt stimmt etwas mit den SSID / PWD Einstellungen nicht und ihr müsst das Module leider neu flashen, da es sich aus diesem Loop nicht mehr rausholen lässt :baeh2:

    //EDIT: Und um eine Webseite aufzurufen kann man folgendes nutzen:

    Code
    hostip = "192.168.0.11"
    page = "esp8266.php"
    client=net.createConnection(net.TCP, false)
    client:on("receive", function(sck, c) print(c) end )
    client:connect(80, hostip)
    client:on("connection", function(conn)
      print('Sending http request..')
      conn:send("GET /" .. page .. " HTTP/1.1\r\nHost: " .. hostip .. "\r\nConnection: keep-alive\r\nAccept: */*\r\n\r\n")
    end)

    ...natürlich nach belieben kombinierbar mit init.lua :fies:

    Spoiler anzeigen

  • Gibt es eigentlich irgendwo eine vernünftige Auflistung aller Versionen des ESP8266 Modules ?


    Ja die gibt es (mittlerweile) tatsächlich :thumbs1:
    https://github.com/esp8266/esp8266-wiki/tree/master/docs - [PDF] (auch als .odt verfügbar)

    Quelle:
    ESP8266 modules hardware guide – gotta catch ‘em all!
    http://l0l.org.uk/2014/12/esp826…a-catch-em-all/
    esp8266.com - Forum
    http://www.esp8266.com/viewtopic.php?f=5&t=28

    ----------------------------
    Ich wusste bis gerade eben gar nicht dass es unterschiedliche Versionen innerhalb der "Modul Serien" gibt. :-/
    Wie man auf der verlinkten Seite sehen kann ist das aber zumindest z.Z bei der Serie ESP-01, ESP-02, ESP-05 und ESP-07 der Fall. Genaueres dazu im oben verlinkten "ESP8266 modules hardware guide".

    --------------------------------------------------------
    --------------------------------------------------------
    Ausserdem ist mir gestern noch was geniales Untergekommen:
    ESPlorer - eine IDE speziell entwickelt für den ESP8266.

    ESPlorer.jpg

    Zitat


    Esplorer

    The essential multiplatforms tools: Integrated Development Environment (IDE) for any ESP8266 developer from luatool author's.
    Including a LUA for NodeMCU and MicroPython. Also, all AT commands are supported.
    Required JAVA (Standart Edition - SE ver 7 and above) installed.

    Vorstellung im esp8266.com Forum: (Feature Liste, Download links, Github)
    http://www.esp8266.com/viewtopic.php?f=22&t=882

    Läuft unter Windows, MAC, Linux und Solaris! :thumbs1:

    ----------------------------
    PS: Werd mir jetzt endlich auch ein paar ESP's bestellen. Welche ganau, das hab ich noch nicht entschieden. Mal schauen. ;)

    DON'T PANIC!

  • Die IDE sieht sehr interessant aus, scheint aber leider noch einige Bugs zu haben - manchmal schmierts ab bzw reagiert nicht mehr... "Frankenshtein" ist auch noch nicht integriert ebenso wie microPython und mir fehlt auch noch eine Funktion die Firmware damit zu flashen.. Aber ist ja eh noch Beta ;)


    Heute kam mein [al=ESP12]ESP-12[/al] an, nur leider musst ich feststellen das die Anschlüsse nur 2mm Rastermaß haben, also muss ich jetzt auch noch warten bis die 2mm pitch header aus China ankommen =( Zusätzlich noch > diese < 2mm to 2,54 Adapter Platinen.
    (hab die Liste oben in Beitrag#63 aktualisiert)

    Bin aktuell auch noch mit dem ESP-01 am rumspielen und den Bootvorgang bzw WLAN-Anmeldung zu beschleunigen... Leider brauch das Module mit nodeMCU durchschnittlich 5 Sekunden sich in meinem WLAN anzumelden, vielleicht liegt das an der Firmware - das versuche ich zZt heraus zu finden.


  • Bin aktuell auch noch mit dem ESP-01 am rumspielen und den Bootvorgang bzw WLAN-Anmeldung zu beschleunigen... Leider brauch das Module mit nodeMCU durchschnittlich 5 Sekunden sich in meinem WLAN anzumelden, vielleicht liegt das an der Firmware - das versuche ich zZt heraus zu finden.

    Ich habe mich letztens nach einem WLAN Modul für meine Arduions umgesehen und bin auf den ESP8266 und die NodeMCU Firmware gestoßen und habe mir mehrere Videos dazu auf YouTube angesehen.

    In einem teile jemand mit, dass die Anmeldedauer vom verwendeten AP/Router abhängt. Mit einem war er unter einer Sekunde verbunden, bei einem TP-Link hat es über 3 Sekunden gedauert. :s

    Hat einer hier Erfahrungen mit dieser Variante?


  • In einem teile jemand mit, dass die Anmeldedauer vom verwendeten AP/Router abhängt. Mit einem war er unter einer Sekunde verbunden, bei einem TP-Link hat es über 3 Sekunden gedauert. :s

    Bei mir geht es teilweise auch in einer Sekunde, aber meistens dauert's länger. Wovon das abhängig ist weiß ich aber noch nicht.. Da ich aktuell auch nodeMCU verwende war mein Verdacht halt das es daran liegt - aber für genauere Tests hatte ich bisher keine Zeit.

    Hat einer hier Erfahrungen mit dieser Variante?

    Davon hab ich mir auch 2 Stück bestellt (21.12.2014) aber bisher kam leider noch nichts an.

  • Hallo,

    der ESP-12 scheint mir recht interessant zu sein.
    Wo habt ihr denn bestellt?
    Bei ebay gibt es diese Variante zu Preisen ab 6€, bei Aliexpress sogar schon zu Preisen von ca. 3$.
    Leider erlaubt Aliexpress so gut wie kein PayPal und irgendwie habe ich ein ungutes Gefühl meine Kreditkarteninformatiomem dort zu hinterlegen.

  • Ich denke, gerade wenn man etwas Zweifel bei einem Shop hat, gibt es wohl nix besseres als Kreditkarte.

    Fragt bei Eurer KK Bank nach, wie ein Betrugsfall dort behandelt wird.

    Ich hatte mal ein Problem, dass ein "Händler" nicht lieferte und "verschwand". Die Kohle habe ich damals von meiner KK Bank wiederbekommen.

    Aber wie gesagt, sichert Euch ab und fragt nach oder lasst es eben, wenn Zweifel bestehen.

    ;) Gruß Outi :D
    Pis: 2x Pi B (Rente) / 1x Pi B+ (Rente) / 1x Pi 2 B (Rente) / 2x Pi 3 B (RaspberryMatic / Repetier Server) / 2x Pi Zero 1.2 (B. Lite) / 2x Pi Zero 1.3 (B. Lite) / 2x Pi Zero W 1.1 (B. Lite) / 1x Pi Zero 2 (mal so, mal so) / 1x Pi 3 B+ (Tests) / 1x Pi 4 B 4GB (BW Lite (Webserver)) / Pi 400 (BW) / 1x Pi 5 (BW) / 2x Pi Pico / 2x Pi Pico W
    Platinen: Sense HAT / HM-MOD-RPI-PCB / RPI-RF-MOD / PiFi DAC+ V2.0 / TV HAT / Pi 5 Kühler HAT
    Kameras: orig. Raspberry Pi Camera Module V1 & V3 / PS3 Eye

  • Ich brauch mal euren Rat:

    Hab mir ja vor ein paar Wochen das ESP-12 Module sowie 2mm to 2,54 Adapter gekauft, nun gehts ans zusammenlöten... Dabei stelle ich jetzt leider fest das keine Professionelles anlöten möglich ist - die Stiftleisten müssen schief angelötet werden :s

    Ich hab 4 Fotos gemacht (die leider auf dem Kopf sind, habs Handy falschrum gehalten) wo man das erkennt... 4 verschiedene Varianten die Vor- aber auch Nachteile haben:

    1. Beschriftung nach oben, ablesbar, Adapterplatinen nach außen: http://RaspberryPI.RoXXs.org/ESP8266/ESP12/20120206_100500.jpg
    2. Beschriftung nach unten, einigermaßen ablesbar sofern man das Modul halt in der Hand hat, Adapterplatinen nach außen: http://RaspberryPI.RoXXs.org/ESP8266/ESP12/20120206_100947.jpg
    3. Beschriftung nach oben, ablesbar, Adapterplatinen nach innen, 2.54mm Stiftleiste stößt ans Gehäuse des Modules: http://RaspberryPI.RoXXs.org/ESP8266/ESP12/20120206_100701.jpg
    4. Beschriftung nach unten, einigermaßen ablesbar: http://RaspberryPI.RoXXs.org/ESP8266/ESP12/20120206_100834.jpg
    5. Beschriftung nach unten, einigermaßen ablesbar, beide Adapter nach links: http://RaspberryPI.RoXXs.org/ESP8266/ESP12/20120206_105145.jpg

    Vorteil bei Variante 3 und 4 wäre halt dass das Konstrukt nur einige mm größer als das ESP-12 Module wäre, aber leider stoßen bei 3. wie gesagt die Stiftleisten an das Metall Gehäuse - das müsste man dann also vorher isolieren (mit Tesafilm o.ä.)

    Beim zusammenlöten muss man bei 3 / 4 aber auch die richtige Reihenfolge beachten sonst kriegt man Probleme :D Erst 2.54mm anlöten, erst danach die 2mm.


    Für welche Variante würde ihr euch entscheiden :huh:

  • Davon hab ich mir auch 2 Stück bestellt (21.12.2014) aber bisher kam leider noch nichts an.

    Diese Teile kamen heute endlich mal an :lol:

    Erster Eindruck ist gut - da is auch ne kleine Aufsteckantenne bei, son drähtschen :blush:
    Wie auf dem Bild zu sehen ist auf der Unterseite eine 4 Polige Stiftleiste quer, was leider das Aufstecken auf ein Breadboard verhindert bzw nur mit den großen kann man das PCB so aufstecken das diese 4 Pins dann raus ragen und nicht im Breadboard sind.

    Die anderen 2 x 11 Pins sind zwar beschriftet aber 90% davon sagt mir überhaupt nix...
    Also auf dem Rücken liegend, Stiftleiste zu mir, Bauteile auf dem Tisch:

    Zum anschließen und testen bin ich aber noch nicht gekommen - hab noch 2-3 andere Baustellen die vorher dran kommen :daumendreh2:

  • Vielen Dank für die Rückmeldung! Das mit der unteren Stiftleiste ist ja mal ärgerlich.. Unverständlich warum diese nicht an den Seiten hinausgeführt werden, wie die anderen auch.

    Ich bin gespannt, wann meine Lieferung ankommt. :) Hatte Anfang Januar bestellt. :o Aber es ist ja auch ein weiter Weg :P

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!