WiFi Modul ESP8266

Hi,

unser Helmut hatte HIER den o.g. Baustein aus dem Hut gezaubert.

Ich hab das ganze mal überflogen und bin zu der Überzeugung gekommen dass wir diesem Superteil einen eigenen Thread gönnen sollten.

In diesem ersten Thread werde ich die Informationen sammeln und auf dem laufenden halten, normalerweise verliert man ja ab einer gewissen Anzahl an Beiträgen den Überblick.

Der ESP8266 ist normalerweise ein 32-bit Microcontroler mit entsprechender Firmware
und die Erspart uns das gesamte Geprogge der WiFi, UDP und TCP/IP Verbindungen.
Interessant sind für uns die Module welche bereits die Transceiver Bausteine integriert haben.
Davon gibt es mittlerweile unterschiedliche Ausführungen, je nach Anwendungsfall.
Gehandelt wird er u.a. über eBay zu Preisen von 2,60€ (Stand 22.04.2015)

Kurz was kann das Teil:

WiFi Modul welches u.a. per AT Befehlen angesprochen werden kann.
Es besteht die Möglichkeit die Firmware anzupassen um einen zweiten Co-Processor einzusparen.

Zum Start:
0. Herstellersite

  1. DAS IOT SDK vom April
    Nach dem Entpacken gibt es unter Documents einen ersten Einstieg.
  2. Hier das aktuelle vom 26.5.2015
  3. und weil nicht alles perfekt läuft,hier dazu den passenden Patch
  4. PinOut der Module -01 bis -03
  5. Modulübersicht bis ESP-13
  6. FORUM des Herstellers
  7. ESP8266.com Forum
  8. Flashtool HIER
    Was auffällt:
    Für mich DER erste Hersteller welcher Updates anbietet und im Entwicklungsbereich die Zusammenarbeit mit den Anwendern sucht um die üblicherweise auftauchenden Bugs zu eliminieren.
    Dank MWS
  9. Das von Ihm genannte KOCHBUCH.

**************** Kommunikation über die serielle Schnittstelle
15. Herstellerforum bzgl. der AT Kommandos
12. Erste Erfahrungen 01er Modul

**************** Programmierung per Arduino IDE direkt auf den ESP
16. Forum zum Thema
14. Erste Versuche von mir mit ESP-01 Modul und die Installation der IDE
19. frei verdrahteter ESP-12 an einer 8-fach Relaiskarte
5. HIER ein Link um den ESP8266 mit einer Arduino IDE direkt zu proggen.
6. In DIESEM Fall steuert er direkt ein I2C Bus IC.
22. 1-Wire läuft problemlos, fehlt nur noch die passende und erweiterte Software.
Helmut hat weitere:
21. Helmuts LP und Michaels Software zeigen den Einstieg in die I2C Programmierung.
7. LINKS, und noch
8. EINER.

**************** Programmierung per Arduino und Prozessor und seriell dann auf den ESP
Mittlerweile gibt es sogar von deutschen Produzenten Module mit integrierten Co-Prozessoren, natürlich dann nicht mehr zum „Superpreis“, aber dennoch interessant.
Suchbegriffe für Amazon: Arduino Micro 32U4 ESP8266EX
9. schönes Youtube Video
10. und WIKI dazu

**************** Programmierung per Hersteller IDE direkt auf den ESP
Aufsetzen der Entwicklungsumgebung unter Linux

mfg

BerndJ

PS: Meine Muster sind eingetrudelt,
letzte fortlaufende Punktnummer:22

PS:
um zukünftig besser und gezielter helfen zu können wären Angaben hilfreich:
welcher ESP Baustein
welche eingesetzte Soft- und Firmware mit Revisionnummer
welcher Baustein angebunden?, und wie?, mit welchen Parametern
wie und mit welchem Protokoll erfolgt die Anbindung an IPS
was funktioniert

und erst dann das detaillierte Aufzeigen der Problemsituation.

Vordruck:
ESPxx
ESPeasy V108
HCxxxxx, Port GPIO12, direkt
an IPS via Domotics HTTP auf TCP Port 52000
es funktioniert:
meldet sauber Erkennungen im Sensorbereich
Probleme:
leider viel zu viele

Cooles Teil. Ich fand schon immer dass die ganzen WiFi Shilds viel zu überteuert sind und damit ergäben sich ja tolle Möglichkeiten.

Wenn ich jetzt noch raus bekomme wie ich mit dem Arduino einen Sensor auslesen kann der 0,5-4,5mA für 0 -120kLux Lichtstärke aus gibt ist meine Wetterstation so gut wie fertig (zumindest theoretisch, praktisch muss ich auch noch die Zeit finden alles aufzubauen).

Edit:

Ich hab da einen interessanten Link gefunden in dem ausführlöich die Nutzung mit dem Arduino beschrieben wird. vielleicht ist der ja interessant: WiFi Kochbuch mit ESP8266 | Arduino-Hannover

Hi MWS,

als erstes schönen Dank für den Link, hab ich oben mal mit eingefügt.

Wenn ich mich recht entsinne ist im SDK ein Beispiel für den AD Port.
Zur Not ´nen Atmel oder PIC als zweiten Controler nehmen und den die Sache erledigen lassen.

Welchen Sensor setzt Du ein?

mfg

BerndJ

Ich wollte den Vestamatic Crystal Station Sonne Wind verwenden.

Der Wind wird mittels Reed Kontakt als Impuls ausgegeben und die Sonneneinstahlung wie gesagt als Strom von 0,5-4,5mA.

Hier mal der Link zu den Daten: http://www.vestamatic.de/fileadmin/Downloads/DE/WISO%20Crystal%20Station/Bedienungsanleitung/WISO%20Crystal%20Station_DE_85400721%20F1.pdf

Hi,

hab gerade mit Homematic angefangen und überlegt ob die alte KS300 raus fliegt und ersetzt wird durch HM.
Nachdem ich dann allerdings den Preis gesehen habe hatte es sich erledigt.

Dieses Teil gibt´s bei eBäh ab 89€, richtig?, oder gehts auch günstiger?

mfg

BerndJ

Ja genau wobei ich meine ich hätte das Teil auch schon für um die 65 Euro gesehen.

Mit einem Arduino und dem WIFI Modul könnte man das sicher perfekt in IPS einbinden und auch die Sendehäufigkeit könnte stark erhöht werden, was z.B. praktisch wäre um Böen auszuwerten.

PS: Im Rolladenshop24 hab ich das Teil für den Preis gesehen.

Übrigens gibt es auch von Adafruit z.B. ein Breakout Board mit einem Texas Instruments CC3000 der ist mit 35,- Euro zwar etwas teurer aber er soll auch bessere WiFi Leistung haben, es gibt die Möglichkeit eine externe Antenne zu nutzen und es wird via SPI angesprochen.

Hi,

haben einige Ausführungen auch, z.B. die 07er.

mfg

BerndJ

So hat mir keine Ruhe gelassen und ich hab mir jetzt mal bei In-Circuit so ein „radino Spider 2.4G, Entwicklungsboard für radino Module, integrierte 2.4GHz Antenne“ inkl. einem „adino32 WiFi mit ESP8266EX“ bestellt.

Ich hoffe ich hab mal irgendwann was Zeit mich damit zu beschäftigen. Das ist genau das was ich schon seit Monaten suche.

Hi,

Hier gibt ein PDF wie sie Ihre eigene Entwicklungsumgebung unter Linux aufsetzen.

mfg

BerndJ

Hi,

so ganz kurz die ersten gesammelten Verzweiflungen.

Probeaufbau (zu geizig für Lochraster, Heisskleber zum Sichern der Kabel und zur Iso fehlt noch).

An den linken 3 Anschlüssen hängt ein Prolific USB auf serieell Wandler mit 3,3V Pegel (ehemaliges Nokia Kabel) am PC.
Auf diesem nutze ich das UART Terminal von MikroE.
Kurz ein Blick in´s Terminalprogramm bzgl. der Einstellungen:

Nach dem ersten Herstellen einer Verbindung sollte ein Blick auf die in diesem Käfer vorhandene Version geworfen werden.

Dazu Eingabe im Terminal:

AT+GMR

Vermutlich kommt etwas historisches zutage, bei mir war es die 0018000902-AI03.

Als Übertragungsrate wurden noch 9600 Baud benutzt, nicht wie oben abgebildet 115200.

Verschwendet keine Zeit denn für diese Version habe ich beispielsweise keine Doku der AT Befehle mehr gefunden.

Und wenn man versucht mit der neuen Doku die alten, historischen Befehle zu ersammeln; nur etwa ein Drittel funktioniert davon.

Also ran an das Update.
Versorgungsspannung weg, GPIO0 zunächst auf Gnd setzen.
Manager gibt es im ersten Beitrag, dann noch bei den 3 markierten Dateien die richtigen Pfade aus dem abgespeicherten SDK richtig stellen, den richtigen Port auswählen; die abweichende Baudrate einfach ignorieren, Power on und ruff uff Start. Schon spielt es ein (erkennbar am grünen fortlaufenden Balken).
Beenden, Power off, GPIO0 wieder auf Vcc.

Einschalten und schon kann man mit der AT-Befehlsdoku arbeiten.

Unter IPS einen UDP Port einrichten, eine zugehörige Registervariable und schon kann die Kommunikation losgehen:

Die folgenden Befehle im Terminalprogramm eingeben:
AT+CWMODE=1 setzt das WLAN Modul als Node
AT+CWJAP=„SSID“,„WLANKEY“ verbindet mit dem WLAN, diese Daten bleiben erhalten
AT+CWAUTOCONN=1 und schon connected er automatisch beim Neustart
AT+CIFSR zeigt IP und MAC an
AT+CIPSTART=„UDP“,„192.168.113.30“,7080,1112,0 öffnet UDP Verbindung
AT+CIPSEND=5 und 20mS warten, dann kann das los gehen, 5 Zeichen, max 2048 Bytes
5 Bytes senden und sich freuen dass diese in IPS ankommen.

Anders rum mag er mit dieser Firmware auch endlich kommunizieren:

RegVar_SendText(10144 /*[Technik\ESP8266\Register Variable com3]*/,"HuHu");

erzeugt auf der seriellen Schnittstelle:
+IPD,4:HuHu

OK

Ich vermute dass die TCP/IP Verbindung genau so sauber funktioniert, noch nicht getestet, aber folgt demnächst.

Soweit erst mal.

mfg

BerndJ

Hi,

Helmut hat es bereits erwähnt: man kann diesen Käfer auch direkt mit der Arduino IDE programmieren.

In dieser Applikation wird KEIN Atmel Prozessor programmiert welcher dann mit dem Modul kommuniziert, es erfolgt die direkte Anpassung der Firmware im ESP8266. Also günstiger geht es nicht.

Kurz zur Installation:

Arduino HIER herunterladen und installieren,

dann Datei --> Voreinstellungen

unter dem Punkt:

Additional Boards Manager URLs (wiehierbeschrieben) folgenden Link einfügen:

http://arduino.esp8266.com/package_esp8266com_index.json

mit OK schliessen.

Anschliessend Platine --> Werkzeuge --> Boards Manager --> esp8266 --> More Info --> Install

Arduino schliessen und neu starten.

Lasst euch nicht irritieren das es kein ESPTool zum Programmieren gibt, hab ich mehrere Stunden vergeblich versucht zu installieren, es läuft so.

Unter Werkzeuge finden wir dann die 3 möglichen ESP8266 Varianten:

Jetzt muss das ganze natürlich getestet werden, also

laden, sieht so aus:

dort dann die eigenen Daten des WLAN Access Points eingeben,

Power des Modules ausschalten,

GPIO0 auf Gnd setzen (dann möchte er neue Firmware)

Power des Modules einschalten und den Übertragen Button wählen

Nachdem das erledigt ist, Power Off, GPIO0 auf High, Power on und im Webbrowser die Adresse des Modules eingeben, Voila, so gehts und inspiriert sofort die Daten anzupassen.

InstESP-10.png

Nächstes Beispiel, ein WLAN Scanner mit Ausgabe der Daten auf der seriellen Schnittstelle:

same Procedure wie oben,

anschliessend öffnen wir den Monitor für die UART,

und schauen auf diese Schnittstelle:

Ja, ist trotz der paar Einfamilienhäuser einiges an Netzen vorhanden; wobei 3 stammen von mir.

Mehr Grafiken mag die Forensoftware nicht in einem Beitrag, daher kurz was zum Anfüttern:

Das Beispiel --> ESP8266WIFI --> WIFIWebServer

schaltet den GPIO2 des Modules per Webaufruf,

sprich wir hätten die erste praxistaugliche Anwendung für IPS.

Hab ich mittlerweile Quick&Dirty für einen ESP-07 oder -12 so modifiziert dass insgesamt 8 Ports angesprochen werden können.

Mal sehen ob in den nächsten Tagen etwas Zeit ist um eine Leiterplatte zu erstellen um meine 8er Relaiskarten damit zu koppeln.

Hoffe ich habe genügend infiziert.

mfg

BerndJ

Ich hab inzwischen das radino Board bekommen. Leider hatte ich erst eine „falsche“ Version bestellt (die 32er Version ist nicht so einfach zu handhaben wie die kleinere) aber nach einem Telefonat mit dem Geschäftsführer wurde das Teil problemlos getauscht.
Ich habe das Teil mal angeschlossen und es funktioniert Out of the Box als AccessPoint und man kann auf einer Webseite die RGB Werte für eine LED ändern.
Zu mehr bin ich leider noch nicht gekommen aber die Cristal Station liegt auch schon hier und wartet darauf getestet zu werden. Leider hab ich im Moment nicht so viel Zeit.

Hallo Zusammen,

schön dass es noch mehr hier gibt die auf den ESP8266 aufmerksam geworden sind. Ich bin dabei mit diesem Chip einige Standalone Sensoren und Aktuatoren mit IPS Anbindung zu realisieren.

Kommunikation mit IPS wie früher bei meinen Arduinos über einen IPS Server Socket und JSON Protokoll, genauso für den Rückweg über den gleichen Socket und auch JSON.

Programmieren tue ich das ganze über die Arduino IDE, mit NodeMCU und Lua habe ich mich noch nicht befasst, wüsste auch nicht was das für Vorteile bringen sollte (oder kann mir jemand welche nennen?)

Ich bin noch auf der Suche nach einem Schicken Gehäuse und ein Display für meine Temperatursensoren, vielleicht hat jemand bereits erfolgreich ein Display angebunden und kann es empfehlen, ebenso natürlich gerne eine Empfehlung für ein Gehäuse wo Netzteil, ein ESP-201 ein DHT22 und optional Display, Relay und eine zu schaltende Steckdose platz finden.

Noch nicht intensiv beschäftigt habe ich mich mit IR Receiver und IR LED am ESP, aber in diesem Bereich würde ich gerne meine Arduinos in Rente schicken, hat von euch schon jemand was mit IR und dem ESP gemacht?

Bin jedenfalls von dem kleinen Chip restlos begeistert, was man da für wenige Euros bekommt, es gibt auch etliche DEV Boards die schon einiges an Peripherie mitbringen und trotzdem teilweise noch unter 10 Euro kosten.

Bin jedenfalls gespannt wie es mit der Entwicklung weiter geht und was alles für Projekte hier mit dem Chip realisiert werden.

Grüße

**************** Programmierung per Arduino IDE direkt auf den ESP

Hallo Nibles,

als erstes mal herzlich willkommen in unseren Kreisen.

Ich hab momentan meine 8-er Relaiskarte und den ESP-12 miteinander verheiratet, Beitrag folgt demnächst.

Als nächstes ist TCP Verbindung und 1-Wire Sensor geplant; Grundlagenbeitrag wurde schon gefunden.
Ich publizier diese Sachen i.d.R. aber erst wenn sie bei mir reproduzierbar zu erstellen sind und somit sind dann meistens alle Fallstricke und Stolpersteine mit aufgeführt.

Was wurde von Deiner Seite mit Hilfe der Arduino IDE und Direktprogrammierung des ESP8266 bereits zum Laufen gebracht?

Schön wäre es wenn Du deine Erfolgserlebnisse hier mitsamt des Sketches allen in Form eines Projektbeitrages zur Verfügung stellen könntest, dann kommt irgend wann der Durchbruch und es fangen viel mehr damit an wenn Sie dann den finanziellen Aufwand dazu gesehen haben.

mfg

BerndJ

Hi,

hab das ganze dieses mal in Wordpress dokumentiert, Arduino Sketch ist auch dabei,

HIER zu finden.

mfg

BerndJ

Ich habe mal ein Platinchen für das 16-fach In / Out Hutschienenmodulgeroutet und werde es demnächst fertigen lassen.

Dieses Platinchen übernimmt die Dekodierung von 4 Stück I2C-PCF Portmodulen von einem ESP8266-1 Modul und wird anstelle des Pokeys-Modul auf die Platine gesteckt.

So kann man preisgünstig 16 optoentkoppelte Eingänge abfragen und 16 Relais über ULN-Treiberbausteine schalten.

Ich hatte schon einmal über Michael und seiner Internetseite berichtet.

Dieser Michael, ein sehr netter Zeitgenosse, hat für dieses Platinchen eine Software geschrieben, die er für nicht kommerzielle Nutzung weiter gibt.

Ich selbst habe im Moment keine Zeit es zu probieren, kommt noch :wink:

Anbei ein Zip, welches Files enthält, die man per Ardunio oder auch per ESP-Download-Software in das Modul laden kann.
Soweit ich es lese werden die WiFi Zugangsdaten, IP und die Passwort -Geschichte per ser. Schnittstelle festgelegt oder im Scetch-File und sind dann im EEprom gespeichert.

Nochmal herzlichen Dank an Michael !!

Gruß Helmut

I2c-16IN-16OUT1.0_Pokeys.zip (3.64 KB)

I2C-16IN-16OUT1.0.zip (189 KB)

Hi Helmut,

ich konnte es nicht lassen und musste es mit nur einem PCF8574 auf ´nem Steckbrett testen.

Schön wäre es das als IPS Modul zu bringen. Dann könnte man die Ausgangsportdreher bei 1 bis 8 und 9 bis 16 hierüber aus bügeln. Bei den Eingangsports betrifft es nur die ersten vier.

Ich hab mal das Datenblatt zum 8574 angeschaut: zulässige Versorgungsspannung 2,5 bis 6 Volt.

Soeben getestet, der schnurrt auch problemlos mit 3,3 Volt.

Könnte man die Software bezüglich der Eingänge nicht noch so proggen dass diese via Pushmeldung an einen TCP Server eine Meldung absetzen. Dass Pollen ist nicht nur ziemlich dämlich und zeitaufwendig, für die meisten zeitnahen Anwendungen ist es das KO Kriterium.

mfg

BerndJ

Und ich konnte es nicht lassen und habe die PCF als SMD geroutet, weil dann wird es noch billiger und das ESP - Modul mehr in die Mitte.

Du weißt, ich bin der Hutschienentyp :wink:

Das da jemand ein IPS-Modul dazu bastelt… ich kann’s nicht und so viele wollen nicht’s selber löten auch wenn es so „billig“ wird.

Inputänderungen per ESP-Meldungen aktuell mit bekommen: Die Software ist ja da, könntest Du selbst mal versuchen, oder ich/wir bitten um Hilfe vom Michael ?

Gruß Helmut
Edit: Und? Wie sieht die Weboberfläche aus?

Hi Helmut,

at 1.st (vergass ich total im ersten Beitrag hierzu):

@ Michael:

Spitzenarbeit zu dem Thema:
Beweist sie doch dass die I2C Schnittstelle in Form der Wire-Library bei der direkten Programmierung des ESP8266 per Arduino IDE funktioniert…
und Dein Quellcode zeigt uns Ungläubigen wie es dann auch noch funktioniert.

Ich persönlich verzweifle momentan an der SD Karteneinbindung in der Praxis,
die Jippierufe derjenigen die es hinbekommen haben fehlen mir leider noch,
… hoffentlich nicht mehr lange.
Ein ESP-12 Modul verstarb innerhalb dieser Versuche.

Technikbetont und dadurch „reduced to the max“: :slight_smile:

Der Einstieg:

Das setzen der Relais:

Zuletzt das Abfragen der 2 PCF8574:
Getstate.png

Leider fehlt das Schaltbild. Diesmal die Reihenfolge der Ports angepasst?, erleichtert das Proggen ungemein, zumindest ohne Modul auf dem manuellem Wege in IPS.

Mir fehlt momentan auch noch einiges an Wissen.
Wenn ich aber sehe wieviele sich im Vergleich zu früher drauf werfen,
dann saubere Sachen präsentieren …,
und die Möglichkeiten dessen betrachte:
bin ich der festen Überzeugung:
DA müssen wir ran!

Im Grunde genommen reine Proggerarbeit:

was fehlt:

Startsequenz:
Abfrage der Inputsstati und rin in ein Array
Loop:
Abfrage Inputstati und Vergleich mit Array

Eine TCP/Serverinstanz im ESP samt Port (Input um diese 2 Daten erweitern)

Warum Server und nicht Slave?
Momentan läuft unter IPS Linux die Servervariante noch nicht.

Meldung aller Inputstati an die TCP Adresse (mit IPS zur Auswertung) wenn Änderung stattgefunden hat.

Wenn wir denn schon mal dabei sind ebenso eine Sammelmeldung bei Änderung der Ausgangsports,
erlaubt das Nutzen externer Apps und Info an IPS.

Und ich steh auf Tragschienenträger.

Irgendwie kribbelt es mir in den Fingern:
a) eine LP zu routen mit dem ESP8266-01, basierend auf meiner 004er,
b) eine Relaiskarte samt 8574 umzusetzen basierend auf der 006er,
c) eine Inputkarte samt 8574 zu kreieren,
d) viele weitere Karten auf der I2C Basis
(ist das nicht eine schöne Spielwiese,
brauchst ja nur die Moduladresse in Zeile 10 des Arduino Sketches ändern).

Als allererstes nehmen wir den PCF8574A, hat ´ne andere Basisadresse, sprich weitere 64 Relais und keine neue LP nötig,
dann schauen wir auf den ADC und DAC (PCF8591),
so ein LED Dimmer wäre auch nicht schlecht (PCA9532).

Eine Übersicht gibt es HIER

mfg

BerndJ