AutoIt und Arduino

  • Erster Erfahrungsbericht mit dem ESP8266-01:
    Angekommen sind 3 Stück, zusätzlich ein CP2102 USB 5V/3.3V Konverter.

    Zuerst habe ich beim CP2102 auf der Rückseite der Platine die hauchfeine "Leitung" zwischen dem 5V und GND Pads herausgekratzt, dann den 3.3V und GND-Pad mittels Tropfen Lötzinn verbunden. AN USB-Port des Laptops angesteckt, zwischen GND und VCC 3.3V gemessen, passt! Aber das Ding brauchte ich garnicht^^


    Durch Code-Jack´s Empfehlung habe ich mir das ESP8266BASIC wie hier beschrieben, per Arduino-UNO am USB-Port geflashed, nach einigen Versuchen hat das auch geklappt. Die Verkabelung erfolgte "fliegend" mittels Breadboard....das Flashen klappte nicht immer auf Anhieb, Stützkondensatoren habe ich 2 verbaut. :D

    Der ESP arbeitet, nachdem die Firmware geflashed wurde, als Accesspoint (Server) ohne weitere Zugriffs/Sicherheitseinstellungen (Passwort).
    In der Drahtlosnetzverbindung von Win7 hatte ich eine neuen Teilnehmer Namens ESP. Im Browser bekommt man über die IP-Adresse 192.168.4.1/edit Zugriff auf das Webinterface.
    Was folgte war das Ausprobieren einiger Beispiele, heyho, auf dem Breadboard steckte noch ein LDR, dessen Werte habe ich mir direkt mal mit dem noch freien GPIO2 ausgelesen. Eine daneben steckende LED konnte auch zum Blinken gebracht werden...so weit so gut.
    Der BASIC-Editor macht was er soll, die "Sprache" ist wirklich supersimpel!
    Um das mal mit aller Deutlichkeit zu sagen, nachdem die BASIC-Firmware auf dem ESP ist, erfolgt sämtliche "Programmierung" OTA (over the air) per Webbrowser, das heißt, es ist am ESP nur noch die reine Stromversorgung GND/VCC nötig!
    Mit dem Handy das WLAN anwählen, im Browser die IP-Adresse eingeben und schon wird die "Website" präsentiert, dort einmal auf den Button "LED Blinken" tippen, und die LED am ESP blinkt.GEIL!!!


    Durch Code-Jack´s Ausführungen zur "Stabilität" habe ich nach einigen Stunden Rumgebastel und -gefluche auch meinen Teil beizutragen...
    Das ESP hängt sich bei Datenübertragungen ab und zu auf. Die blaue LED, welche bei Datenübertragungen und beim Booten ab und zu flackert, ist dauerhaft am leuchten, der ESP beendet die Funktion als AP (abgestürzt/aufgehängt) und, und das ist imho der IoT-Supergau, er resettet dann nicht mehr selbstständig....
    Also "mechanisch" resetten (stromlos machen!) und neu booten. Das dauert übrigens nur einige Sekunden, bis der AP in der Liste der WLANS erscheint.

    Der Reset per "Reset-Pin" funktioniert übrigens nicht?!

    Da allzeit genügend "Strom" nach Ausführung etlicher User wohl das Problem zu sein scheint, habe ich ein 5V/2A Steckernetzteil per Spannungsteiler auf 3.3 V gebracht (vorsichtshalber doch Stützkondensatoren (1000µF-Elko, 100µF-Folien und einen von den "schnellen kleinen" 1µF :D ) . Messschaltung aufgebaut, dort habe ich bis zu 1A GEMESSEN, wenn der ESP NOCH mehr "Saft" braucht, fange ich an zu lachen...
    ESP per Verlötung (nur 3.3V an VCC/CH-PD und GND/GND) ans 3.3V-Netz gehängt und beim Booten blieb er mit blauer LED hängen. Beim 2. Versuch hat er gebootet, daraufhin fingen meine Experimente mit den von Code-Jack angesprochenen "großen" Dateien an.
    Dazu einfach im Webinterface im Filemanager den "Datei aufwählen"-Button klicken, auf meiner Festplatte die Mona-Lisa.jpg mit 254KB Größe auswählen, im Webinterface den Button "Upload" drücken und die blaue LED am ESP flackert. Nach ca. 2-3 Sekunden ist lt. Webinterface die Datei hochgeladen, auf Button "View" klicken, und "langsam" wird im Browser die JPG angezeigt, allerdings nur die oberen 25%, dann durchgehend leuchtende blaue LED, ESP abgestürzt, neu booten...
    Nach einigen Versuchen mit kleineren jpg-Dateien, die auch wunderbar hochgeladen und im Browser angezeigt wurden (im "LED-Blink-Programm wird nur eine Zeile eingefügt: Image Mona-Lisa.jpg, genial!) habe ich dann das Filesystem zerschossen...fragt mich nicht wie, die *.bas-Programme wurden zerschossen angezeigt, die Dateien waren nicht mehr zu löschen, es kam auch im Editor die Meldung "gespeichert", aber beim anschließenden reload waren die Dateien unbrauchbar, wurden also nicht überschrieben. Neue Dateien konnten keine mehr angelegt werden. Einige andere User haben genau diese Probleme auch beschrieben.
    Neu flashen hat das Problem nicht beseitigt, das Dateisystem wird beim flashen nicht "genullt", verbesserungswürdig, da sollte man eine Option anbieten! Neuerliche FORMAT-Flash per ESP-Basic-Flasher.exe mit sämtlichen angebotenen Flash-Size-Größen brachte keine Besserung, da nachts um halb zwei hab ich das Ding vom Netz genommen.

    Nach einigen Stunden den ESP neu gebootet, das zerschossene Filesystem war zwar immer noch nicht zu gebrauchen, aber nach beherztem Klick auf den "View"-Button zur Anzeige der 254K großen Mona-Lisa.jpg wurde die im Browser zwar "langsam" aber vollständig angezeigt....shit happens...
    Also den ESP zurück ins Tütchen mit Zettel "Filesystem defekt" und den nächsten ESP an den Arduino zum Flashen angeschlossen. Das klappte auf Anhieb, daher habe ich sofort danach den ESP mit dem CP2102 am USB-Port des Laptops verheiratet, also nur VCC/GND. Wieder einige Testdateien/Schaltungen/Uploads ausprobiert, DAS Ding läuft...bisher 8o

    Ich vermute, die "Probleme" sind vielseitiger Natur. Nach stundenlanger Recherche im Internet kristallisieren sich mehrere Punkte heraus, die einfach nur einen einzigen Schluß zulassen. Das Ding ist und bleibt ein BILLIGTEIL! Aus Billigstkomponenten aufgebaut und billigst gefertigt ist die Streuung innerhalb der Qualität imho ziemlich hoch!
    Wenn man Glück hat, erwischt man einen "guten", welchen man auch noch "passend" mit Strom und Spannung versorgt. Diesem dann auch noch nicht viel Arbeit in Form von "kleinen" Datenbewegungen zugemutet, und der macht zuverlässig seine Arbeit.
    Das Konzept des ESP-Basic, EINMAL zu flashen und weiterhin nur über die Programmierung im Browser over the air zu steuern finde ich super, alledings bin ich mir sicher, dass mindestens 50% der Abstürze/Hänger beim Booten auf das Basic zurückzuführen ist...

    Ich habe seit 3h einen ESP (am Netzteil) laufen, der sich per SLEEP-Befehl regelmäßig jede Minute neu bootet und dessen Programm einen Wert in eine Datei schreibt. Diese Datei wird per AutoIt-Script per InetRead() "abgeholt", sobald der ESP online ist. Kleines Programm, nur einige Bytes zu bewegen, scheint zuverlässig zu funktionieren...

    Der 3. ESP hängt mittlerweile am CP2102 und macht auch was er soll....

    • Offizieller Beitrag

    Interessanter Erfahrungsbericht!
    Ich benutze allerdings "nur" die Arduino-IDE zum programmieren/hochladen. Bisher lief das ganz gut und nach anfänglichen Schwierigkeiten mit C/C++ bin ich mittlerweile schon etwas geübter damit.
    Was ich bei den ganzen ESP8266-Teilen nervig finde, ist, dass es zu viele verschiedene (LUA, Basic, C/C++, AT-Befehle) Programmiersprachen gibt und man bei der Suche im Netz stets ein Beispiel mit der "falschen" Programmiersprache findet.
    Auch beim programmieren mit der Arduino-IDE gibt es einige Probleme, weil einige Libraries den ESP8266 nicht unterstützen.
    Insgesamt verbringt man viel Zeit damit, sich etwas passendes im Netz zu suchen oder die Libraries entsprechend anzupassen (was mit meinen bescheidenen C/C++ Kenntnissen nicht immer gelingt).
    Meine kleine Wetterstation will ich eigentlich auf dem ESP laufen lassen, aber nachdem ich jetzt das 2.2" TFT zum laufen bekommen habe, gab es Probleme mit der RTC (DS3231). Zum Glück reichte eine kleine Anpassung in der Library und jetzt funktioniert die RTC. Mal sehen, wie das mit den Sensoren aussieht...
    BTW: Kennt jemand einen 7-Segment-Font (12er bis 24er Größe) der mit der Adafruit_GFX_Library (die TFT_ILI9341-Library funktioniert leider nicht auf dem ESP) läuft?

  • So schlimm ist C jetzt auch nicht ;)
    Ich habe mal eine komplette Website (inkl. Bilder) auf den ESP gepackt zum testen, nie Probleme gehabt, weder ich lokal noch meine Kumpels über das Internet (Das sind jetzt zwar nicht so riesige Datenmengen, aber immerhin).

    Und ja es gibt auch beim Arduino eine OTA-Update Möglichkeit, die habe ich aber noch nie benutzt und daher auch keine Erfahrung.

  • Hallo Andy,

    zunächst mal vielen Dank, für diesen umfangreichen Erfahrungsbericht!

    Das ESP hängt sich bei Datenübertragungen ab und zu auf. Die blaue LED, welche bei Datenübertragungen und beim Booten ab und zu flackert, ist dauerhaft am leuchten, der ESP beendet die Funktion als AP (abgestürzt/aufgehängt)


    Ich glaube, das hatte ich in dieser Form noch nie.


    Der Reset per "Reset-Pin" funktioniert übrigens nicht?!


    Ja, der Reset-Pin des ESP ist eben NICHT wirklich der Reset. Das ist da so eine bekannte Sonderbarkeit des ESP.
    Es ist ein anderer Pin, den man für einen Reset verwenden muss, ich weiß aber gerade aus dem Kopf nicht, welcher das beim ESP8266-01 ist. Muttu mal Tante Google befragen.


    auf Button "View" klicken, und "langsam" wird im Browser die JPG angezeigt


    Wegen dem "langsam" erinnere ich erneut an das bereits erwähnte "delayed ACK"; ein Problem, das unter jeder Windows-Version auftritt und durch zwei Einträge in der Registry beseitigt werden kann (steht in meinem Forum).
    Der Internet-Explorer (und nur der!) umschifft das Problem von sich aus, auch ohne Registry-Gefummel.

    Das Problem unter anderen Browsern hat seine Ursache in dem vom ESP verwendeten uIP. Es ist auf Größe und geringen Speicherbedarf optimiert.
    uIP arbeitet erst dann weiter, wenn es vom PC das ACK empfangen hat und sendet so lange keine weiteren Pakete, sondern wartet stur auf das ACK.
    Und Windows verzögert das Senden dieses ACK, weil es nicht ahnt, dass am anderen Ende eine so minimalistische Hardware hängt.

    Der Registry-Fix scheint keine Nebenwirkungen zu haben, ist also zu empfehlen.

    Unter Android (Smartphone) war bei mir die Datenübertragung vom/zum ESP immerhin schneller, als unter ungefixtem Windows, aber ebenfalls zu langsam. Da wüsste ich aber nicht, wie ich das delayed ACK abstellen könnte und war bislang zu faul zum Recherchieren.

    Nach dem Registry-Fix sollte Dein kleines Bild in 1-2 Sekunden geladen sein.


    habe ich ein 5V/2A Steckernetzteil per Spannungsteiler auf 3.3 V gebracht (vorsichtshalber doch Stützkondensatoren (1000µF-Elko, 100µF-Folien und einen von den "schnellen kleinen" 1µF )


    Du hast ernsthaft den ESP an einen (immerhin per Kondensatoren gestützten) Spannungsteiler gehängt?
    Da müssen Deine Widerstände ja mindestens 10x niederohmiger sein, als der Innenwiderstand des ESP, sonst hast Du Spannungseinbrüche.
    OK, die Kondensatoren puffern das ein gutes Stück, aber überprüfe mal lieber die Spannung am ESP mit dem Speicheroszi.

    Und ich erwähne es nochmals: Steckbretter sind für solche Sachen nicht brauchbar!
    Die Dinger sind eine ewige Problemquelle, das ist bekannt. Und das liegt nicht allein an der "Zuverlässigkeit" der Kontakte (und den Verbindungen der Leitungen, nimm mal die Schrumpfschläuche ab!). Sondern jeder Draht ist auch eine Induktivität und so weiter. Da passieren "tolle" Sachen ...
    Also immer 'nen Spannungsregler nehmen, dessen Ausgang auf kürzestem Wege an den ESP LÖTEN und dort noch zusätzlich die Stützkondensatoren hin, um jeden Zweifel an der Spannungsversorgung zu beseitigen.
    Vor den Spannungsregler wiederum ein weiterer, fetter Elko und ein Folienkondensator.
    DAMIT kann man dann Experimente machen.

    Gerade wenn man Stabilitätsproblemen auf die Schliche kommen will, müssen die vielfältigen Probleme, die fliegende Aufbauten auf Steckbrettern nun mal verursachen, gründlich beseitigt werden, sonst hat es gar keinen Sinn.


    habe ich dann das Filesystem zerschossen...fragt mich nicht wie, die *.bas-Programme wurden zerschossen angezeigt, die Dateien waren nicht mehr zu löschen, es kam auch im Editor die Meldung "gespeichert", aber beim anschließenden reload waren die Dateien unbrauchbar, wurden also nicht überschrieben.


    Das ist mir noch nie passiert. Wäre für mich plausibel, dass so etwas durch unzureichende Stromversorgung verursacht wird.
    Wie wir ja wissen, zieht der ESP keinen gleichmäßigen Strom, wie ein Widerstand es zweifelsfrei tut. Sondern er zieht den Strom gepulst, wobei Peaks zwischen 300 und 400mA auftreten können.
    Der Durchschnittsstrom, den ein Multimeter anzeigt, mag ja zwischen 70 - 100mA liegen, aber die fiesen, schmalen Strompeaks sind halt ein Problem.
    Die zusätzlichen Kondensatoren machen da eine Menge wieder gut und beseitigen insbesondere die Induktivität der Zuleitung ganz gut. Aber perfekt kann es halt nur dann werden, wenn der ESP auf kürzestem Weg an einem aktiven Spanungsregler gehängt wird, statt an einen passiven Widerstands-Spannungsteiler.

    Ich code, also bin ich!

  • Nach dem Registry-Fix sollte Dein kleines Bild in 1-2 Sekunden geladen sein.

    Klein :D , es belegt immerhin die Hälfte des verfügbaren Speichers^^

    Und ich erwähne es nochmals: Steckbretter sind für solche Sachen nicht brauchbar!

    Steckbrett ist out, s.o. ich experimentiere gerade mit dem im (USB-)Steckernetzteil steckenden CP2102 und dem daran "hängenden" ESP, und ich muss sagen, ich bin begeistert!!!
    Seit ca. 7h malträtiere ich das Teil per AutoIt 8o , keinerlei Probleme bisher! Der 2. ESP, der am Spannungsteiler hängt, verrichtet ebenso seinen Dienst...

    Btw. wg dem Spannungsteiler und "Niederohmig", dir sagt ein 1-OHM-Leistungswiderstand was? Den hatte ich vor einigen Jahrzehnten "erfunden", da ich (Oscar hat den "fehlenden" Shunt angesprochen) damals kein Geld für ein Amperemeter hatte, aber ein "altes" (analoges) Voltmeter hatte. 1 Ohm war der absolute Knaller, ich habe einfach auf dem Meßgerät das V mit nem A überklebt, und hatte mein "Amperemeter" incl. komplett übernommener Skala. Für meine Belange war das Teil einwandfrei :rofl:
    Übrigens konnte ich "früher" an keinem Sperrmüllhaufen vorbeigehen, ohne nach alten Radios und Fernsehern (das waren die Dinger mit der Bildröhre^^) zu gucken, DA drin waren noch echte Bauteile verbaut, die hat es ehrlich gesagt einen Sch*** interessiert, ob da 3.3V oder 5V oder auch mal 8V anlagen, angefasst (im laufenden Betrieb!!!), ups, wird bissl sehr warm, müssen wir mal den Strom etwas begrenzen ...tüdelüüüü....
    Mit den ausgelöteten IC´s von der gefühlten Größe und Gewicht eines Backsteins bin ich dann in den "Elektronikladen" getigert und dort haben dann die Spezialisten in dicken Büchern nach der Nummer gesucht, meistens war das irgendein unwichtiges Zeugs, aber ab und zu hatte ich mal "Treiber-ICs" für Vor+Endstufen dabei, das war dann die Sahne, schnell einige Filter zusammengebruzzelt (Hoch/Tief/Bandpass aus L/C-Gliedern) und aus den alten Radio-und Fernseherlautsprechern "Boxen" gebaut und mit den "Endstufen" befeuert.
    Da gabs auch kein Problem bei einer Schulfeier mal ne Turnhalle zu beschallen. :rock:
    Der oben angesprochene 1-Ohm-Widerstand kam auch aus irgendeinem Schrott-Teil, war ca. 8x1.5x1.5 ZENTIMETER(!) groß und in meinem VW-Käfer eingebaut, irgendeine Schaltung um die Lautsprecher mit dem Blaupunkt-Radio Baujahr 1965 anzutreiben....im Winter war die Heizung im Käfer auf den Zustand der meist weg/festgerosteten Klappen in den Heizbirnen angewiesen, da war man dann froh, wenn man sich die Finger an dem Keramik-Klotz aufwärmen konnte :rofl: ...erzähl das heute mal einem Kiddie, dass es Autos ohne Klimaanlage und vor allem Anschluss für das Smartphone gegeben hatte...


    der ESP auf kürzestem Weg an einem aktiven Spanungsregler gehängt wird,

    Wie gesagt, läuft die Kombi USB-Steckernetzteil, darin steckendem CP2102 und direkt daran angelötetem ESP bisher stressfrei!! OHNE Kondensatoren!
    Mal sehen, ob ich irgendwo noch so ein Teil auftreiben kann, da passt dann die kompette Anlage rein, wenn man dann noch die Deckel der Kindersicherungen für Netzstecker verbaut, hat man sogar noch eine Revisonsöffnung und sicher noch massig Platz für Sensoren usw.


    BTW: Kennt jemand einen 7-Segment-Font (12er bis 24er Größe) der mit der Adafruit_GFX_Library (die TFT_ILI9341-Library funktioniert leider nicht auf dem ESP) läuft?

    Nein, ich leider nicht :S aber ich hänge mich mal mit der Fragerei an:
    Hat jemand eine Idee, wie ich das zerschossene Filesystem des ESP überschreiben/flashen könnte?


    Was ich bei den ganzen ESP8266-Teilen nervig finde, ist, dass es zu viele verschiedene (LUA, Basic, C/C++, AT-Befehle) Programmiersprachen gibt und man bei der Suche im Netz stets ein Beispiel mit der "falschen" Programmiersprache findet.

    Ich bin mittlerweile echt vom Basic begeistert, so wie es aussieht, wird da auch permanent dran gearbeitet und verbessert! Die Funktionen bilden mittlerweile schon diverse Bibliotheken ein, und eine "GUI" mit diversen Buttons/Ein-/Ausgabefeldern, welche wirklich simpelst per Browser-"Editor" erstellt wird, ist genauso simpel vom Handy aus zu bedienen oder per AutoIt über _IENavigate() bzw. Inetread() . Für diejenigen, die ihre Website aufhübschen wollen/müssen, steht CSS zur Verfügung...da werde ich mich irgendwann auch mal mit beschäftigen, heute geht erstmal die Bestellung für 10 weitere 01er raus, und morgen durchwühle ich die Krempelkisten nach Teilen für einen "Programmer". ESP reinstecken, Flasher.exe starten, Button drücken, fertig.
    Bis die Dinger ankommen, muss ich mir Gedanken/Experimente über Stromverbrauch machen, die sollen ja möglichst lange mit 3 AA-Akkus laufen.
    Die Abfrage und Verarbeitung meiner benötigten Werte mache ich mit AutoIt , das läuft einwandfrei auf einem Windows-Tablet und ist somit genauso mobil wie die ESP´s. Den "Kabel-Übergang ins GByte-Netz" bekomme ich sicher mit einem normalen Router/AP hin. Bin mal gespannt, wie sich das entwickelt...

  • @Andy Warum den eigentlich die 01er, wenn die 12Eer doch eigentlich nur Vorteile bieten?


    Und zum Spannungsteiler: Bleibt nicht trotzdem das Problem, das dann die Spannung bei Last einbricht?
    In diesem Fall mag das ja alles klappen (der ESP zieht nicht so viel Strom und die Kondensatoren fangen das auch auf), aber dauerhaft würde ich dem nicht über den Weg trauen. Gerade weil ein Linearregler à la LM317 (und Konsorten) ja nahezu nichts kostet.

    2 Mal editiert, zuletzt von Alizame (5. Juni 2016 um 20:30)

  • ..im Winter war die Heizung im Käfer auf den Zustand der meist weg/festgerosteten Klappen in den Heizbirnen angewiesen

    dann warst du, zumindest im Winter, auch einer der freundlichen Autofahrer? Und hast immer wieder die leicht anfrierende Frontscheibe von innen saubergewischt ? Die anderen Käferfahrer mit lauwarmen Lüftchen im Winter, zumindest die ersten 10 km, hatten im Sommer Probleme, da man ja dann die Heizung nicht abstellen konnte.

  • Klein , es belegt immerhin die Hälfte des verfügbaren Speichers^^

    Ja muttu den 12E nehmen, der kostet nicht mehr, bietet aber 4 MB, statt 256 kB.


    Btw. wg dem Spannungsteiler und "Niederohmig", dir sagt ein 1-OHM-Leistungswiderstand was? Den hatte ich vor einigen Jahrzehnten "erfunden", da ich (Oscar hat den "fehlenden" Shunt angesprochen) damals kein Geld für ein Amperemeter hatte, aber ein "altes" (analoges) Voltmeter hatte. 1 Ohm war der absolute Knaller, ich habe einfach auf dem Meßgerät das V mit nem A überklebt, und hatte mein "Amperemeter" incl. komplett übernommener Skala. Für meine Belange war das Teil einwandfrei

    Ja, solche Tricks muss ich mir auch immer wieder mal aus dem Ärmel schütteln, wenn ich auf 'nem Service-Einsatz bei 'nem Kunden bin und ein dringend benötigtes Teil nicht vorhanden ist, die Maschine aber unbedingt wieder laufen soll.
    Da wird dann schon mal ein Toaster in 'nen Lastwiderstand umfunktioniert und so.
    Ich merke schon: Hier sind gestandene Praktiker unter sich! :)


    Übrigens konnte ich "früher" an keinem Sperrmüllhaufen vorbeigehen, ohne nach alten Radios und Fernsehern (das waren die Dinger mit der Bildröhre^^) zu gucken,

    Wilkommen im Club! :)
    Ich war ja sooo traurig, als damals (Mann, ist das schon lange her!) die Sperrmüll-Entsorgung umgestellt wurde!
    Und ich habe im Keller noch immer kistenweise auf solche Weise ergatterte Schätze.
    Aber ich wurde ruhiger, als ich anfing ernsthaft Geräte zu konstruieren. Da kommt bei mir der Perfektionist durch; alles muss Industriequalität sein und reichlich überdimensioniert & auf Langlebigkeit getrimmt. Niemals wäre ich je auf die Idee gekommen, bei solchen Projekten Krempel aus der Bastelkiste zu verbauen!
    Also bunkern die "Schätze" weiter im Keller, vielleicht darf ich sie ja eines Tages mit ins Grab nehmen ...


    Hat jemand eine Idee, wie ich das zerschossene Filesystem des ESP überschreiben/flashen könnte?

    Öh, einfach formatieren und das Basic neu flashen!?!
    Falls das nicht klappt, nimm mal das schick unkomplizierte Progi, mit dem man NodeMCU flasht. Das hat eine vertrauenserweckende Formatierroutine dabei:
    http://randomnerdtutorials.com/flashing-nodem…-using-windows/

    Spätestens danach sollte sich das Basic neu flashen lassen und dann dürfte auch das Filesystem wieder in Ordnung sein.


    Ich bin mittlerweile echt vom Basic begeistert, so wie es aussieht, wird da auch permanent dran gearbeitet und verbessert!

    Das freut mich sehr!
    Ja, dieses Basic ist auf so wundervoll charmante Art spartanisch und macht dennoch alles, was es muss. Und das auf maximal komfortable Weise!
    Ich wäre wirklich ser traurig, wenn ich doch genötigt wäre, auf das von mir so ungeliebte Arduino zu wechseln, wenn ich die Stabilitätsprobleme nicht in den Griff kriegen sollte.
    Jeden Abstrich, den ich von diesem genialen "over-the-air"-Prinzip machen müsste, würde ich als sehr schmerzhaft empfinden!

    Aber momentan ruht die ESP-Thematik bei mir. Ich hatte einen Interessenten dafür, der aber abgesprungen ist. Derzeit programmiere ich mir an meiner Reparaturverwaltung in AutoIt die Finger wund.

    Und an dieser Stelle möchte ich mal ein ganz dickes DANKE ins Forum brüllen!
    - Ich habe hier "von den üblichen Verdächtigen" jede Menge großartiger Routinen gefunden, mit teilweise total raffinierten Lösungsansätzen, auf die ich kaum jemals selbst gekommen wäre!
    Also da überkam mich schon so manche Woge der Dankbarkeit, beim nächtlichen Surfen, wenn ich die vielen Beispiele ausprobierte. Manchmal juckt es mich in den Fingern, unter etliche Threads ein überschwengliches Dankes-Posting zu setzen, aber ich verkneife es mir, um die Threads damit nicht aufzublähen, ohne was fachkundiges beizusteuern.
    Die Power-User mögen aber versichert sein: Ihre Beiträge werden beachtet und wirklich sehr, sehr wertgeschätzt!!!


    heute geht erstmal die Bestellung für 10 weitere 01er raus

    Ehrlich: Das verstehe ich jetzt nicht!
    Für ungefähr 2,60 EUR bekommst Du den guten -12E:
    http://www.ebay.de/itm/10pcs-ESP8…GUAAOSwNSxVdYD8

    Und für unter 6,- EUR bekommst Du Varianten des damit bestückten NodeMCU-Boards:
    http://www.ebay.de/itm/NodeMCU-Lu…-0AAOSw9N1V2-Ww

    Bzw. für etwa 5,50 EUR den doppelstöckigen Witty:
    http://www.ebay.de/itm/ESP8266-Se…iEAAOSwhDdXEJa0

    Da ist auf der (einzeln einsetzbaren) oberen Platine bereits ein Spannungsregler, 'ne RGB-LED, ein Lichtsensor und 'ne Stromversorgungsbuchse (USB-Mini) drauf.
    Die untere Platine dient nur zum Flashen und kann später weggelassen werden. Sie beinhaltet den USB-Seriell Baustein.

    Wenn Du natürlich aus konkretem Grund partout beim -01 bleiben willst, dann will ich Dir das nicht wegdiskutieren. Aber ich erwähne mal ganz dezent ein weiteres Mal die besseren Alternativen, falls deren Vorteile irgendwie doch noch nicht so voll zu Dir vorgedrungen sein sollten.

    Und ein weiterer Vorteil, der bislang noch nicht zur Sprache kam, sei hiermit explizit erwähnt:
    Der -12E hat eine FCC-Zulassung! Damit darf legal gefunkt werden!
    Auf den -01 trifft das nicht zu!

    Guggsu hier:
    http://www.esp8266.com/wiki/doku.php?…6-module-family

    Außerden sei darauf hingewiesen, dass vom -01 mal Chargen mit viel zu niedrigen Widerständen auf den Markt gelangten.
    Zitat von obiger Website:
    Note: Some batches of this module ship with LED Current limiting resistors of the wrong value (47Ohm vs 4.7KOhm). This usually results in the power LED vanishing in a puff of smoke.

    Angeblich gab es sogar mal Chargen des -01mit verkehrt herum eingelöteter LED ...


    Der -12E ist der Nachfolger des Nachfolgers des Nachfolgers ... mit diversen Verbesserungen, höherer Reichweite und ausgemerzten Kinderkrankheiten.
    Ich will all das nur noch mal erwähnt haben, falls noch nicht zu Dir durchgedrungen. Aber es ist natürlich Deine Entscheidung ...

    Ich code, also bin ich!

  • @autoBert
    Naja, das hatte sich dann im Lauf der Jahreszeiten folgendermaßen eingestellt:
    Im Herbst hat man die Weinlese abgewartet, das hat einige Märker in die Tasche gespült, man konnte sich ein Schweißgerät kaufen und hat nun auch die Möglichkeit, die Heizklappen zuzuschweißen. Was zur Folge hatte, dass nun immer und mit voller Kraft (ich weiß bis heute nicht, ob es da in der "Lüftung" einen elektrischen Pustefix gab, ich vermute eher nicht^^) "geheizt" wurde. War ja nicht schlimm, die Dreiecksfenster in den Türen konnte man aufklappen und so über den Fahrtwind die Temperatur im Auto "regeln". Im Frühling musste man genau den Zeitpunkt erwischen, die Heizbirnen wieder aufzuflexen und ein Sperrblech anzuheften => Heizung aus!
    Machte man diese Aktion zu früh, ist man nachts/spätabends mit kaltem Hintern heim- oder schlimmer noch mit einer zentnerschweren Landfrau auf dem Beifahrersitz in einen Zappelschuppen gefahren. Und kalt kommt bei Mädels garnicht gut an....
    Hat man zu spät reagiert und es standen 7 Sonnen am Himmel, man musste zu einem wichtigen Termin, hat sich in Hemd und Krawatte gezwängt, saß auf den schwarzen glühendheißen Kunstledersitzen und die Heizung lief dazu noch volles Rohr....hach war des scheee...
    Jedenfalls trieb das Blaupunktradio die Lautsprecher über einen mega selbstgebastelten Verstärker an. Da hatte man den 80er Jahre Sound "orginal", und ein (Mono-)Kassettenrekorder, den man auf 12V-Betrieb umgebaut hatte, sorgte für das persönliche Musikerlebnis :rock:

  • falls deren Vorteile irgendwie doch noch nicht so voll zu Dir vorgedrungen sein sollten.

    Sie haben keinen einzigen Vorteil, ich benötige nur die Funktion als AP.
    Wobei der -12E DOCH einen Vorteil hat, ich muss die Pins nicht auslöten, die stören mich 8o , also -12E :klatschen:

    • Offizieller Beitrag

    Mal etwas OT, aber Bastler betreffend:
    Ich verschrotte z.Zt. diverse alte Beatmungsgeräte. Die haben recht große LCD-Displays (hier und hier in ca. 150% der realen Größe sichtbar).
    Eigentlich zu schade, die in die Tonne zu treten, aber die Geräte haben das Zeitliche gesegnet und ich habe auch keinen Bedarf dafür.
    Falls ihr mit den Displays rumspielen möchtet, könnte ich euch sicher welche zukommen lassen. Ich habe aber keine Datenblätter für die Teile.
    Die Displays sind rückseitig mit einer Art Steckerleiste auf einem Mainboard angedockt. Dieses kann ich aber nicht hergeben, da es die Geräteinformationen (Firmware, Nutzungsdaten etc.) enthält und als Kernelement definitiv vernichtet werden muß.
    Also meldet euch, falls ihr Bedarf habt. Es kann sein, dass ich mich die nächsten 10 Tage nicht melde - eine Dienstfahrt steht an.

  • Kleines Update bzgl. des "zerschossenen" Dateisystems eines der ESP´s.
    Nach vergeblichen testweisen Versuchen, "andere" (LUA)-Firmware zu flashen (was nicht funktionierte) und damit das Filesystem zu überschreiben, hatte ich mir die Basic-Firmware nochmal angeschaut. Wer Lesen kann ist klar im Vorteil!
    Im Webinterface ist unter dem Reiter "Settings" u.a. auch ein Button "Format", dieser formatiert rückfrage- und rückstandsfrei das Dateisystem :thumbup: . Das Modul ist nun wieder brauchbar, sehr fein!
    Aufgrund der Experimente auch mit anderen "Betriebssystemen" bleibe ich beim Basic auf dem ESP, sehr schlank und simpel, aber imho kann man alles damit machen und das sehr einfach von jedem Device über das Webinterface.
    Übrigens kann man, wenn erforderlich, den seriellen Monitor der Arduino IDE benutzen. Kostet einen Mausklick.

    • Offizieller Beitrag

    Ich habe mir das ESP-Basic auch mal angesehen, aber jetzt wieder alles umzudenken, ist mir zu aufwendig.
    Und wie bindet man da zusätzliche Fonts für die Anzeige auf dem TFT ein? Ich habe da nichts gefunden.

    Aber auch sonst ist die Dokumentation zum ESP nicht wirklich gut! Ich habe gestern ca. 5 Stunden damit verbracht, herauszufinden was es mit einem "wdt reset" auf sich hat.
    Ich wollte meine Wetterstation erweitern. Der Luftdrucksensor ließ sich noch problemlos einfügen (per I2C), aber als ich dann die beiden DHT-Feuchte-Sensoren angeschlossen hatte, gab's per serieller Ausgabe immer einen "wdt.reset". Ok, das ist der "Watchdog", aber warum wird der ausgelöst? Und warum liefert die RTC (DS3231) plötzlich nur noch Datenschrott?

    Bis ich dann nach Stunden der Suche einen Hinweis fand, dass ich die Feuchte-Sensoren nicht hätte an GPIO9 und GPIO10 anschließen dürfen. Wobei GPIO10 noch funktioniert, aber GPIO9 führt direkt zum "wdt.reset".
    Hier (ESP-12-schematic) habe ich dann mal etwas brauchbares gefunden. Wenn man mit so was: ESP-12-Pinout arbeitet und naiv denkt, dass man die GPIOs alle nutzen kann, dann kommt sowas (oben) dabei raus.

    Die Arduinos sind dagegen viel Einsteiger-freundlicher. Mit dem UNO oder meinen 5 NANOs (China-Clones) hatte ich nicht solche Probleme. Gerade weil dort die Dokumentation viel besser ist.
    Naja, jetzt werde ich mich also mal im ESP-Forum einlesen.

  • Ja, Arduino ist schon wesentlich ( ! ) geschmeidiger im Umgang, vor allem, wenn man auf die Bibliotheken zurückgreifen kann!
    Beispiele gibt es tausendfach...

    Der ESP muß den jahrelangen Vorsprung des Arduino aufholen, durch die Leistung/Größe und vor allem das WLAN gehe ich davon aus, dass der ESP "DAS" Modul des IoT werden wird! Vom Preis und der Möglichkeit OTA (over the air) zu flashen (ich rede von der Firmware, nicht nur von den Programmen! ) mal völlig abgesehen...

    Das Problem ist die zurückgebliebene Dokumentation im Sinne zur Verfügungstellung FUNKTIONIERENDER Beispiele und Unterstützung des Herstellers.
    Wenn ich die Krücken mit AT-Kommandos und die LUA-Orgien mit Knöpfchendrückerei sehe, kommt mir ehrlich gesagt das Kotzen! Potential von 100% wird zu 20% genutzt und das auch noch halbherzig...ich werde das Gefühl nicht los das Espressif ziemlich von dem Erfolg des kleinen Dingens überrascht wurde und einiges mit sehr heißer Nadel gestrickt wurde.
    Der Arduino wurde nur deshalb so erfolgreich, weil er genau das alles NICHT gemacht hat, was die Linux-Bastler seit 30 Jahren veranstalten. Elitäres Rumgezicke und Pseudo-Nerdtum hat noch keinen professionellen und schon garnicht 08/15-Anwender hinter dem Ofen hervorgelockt!
    Der Arduino IST die Maschine für Anwender! Mit simpler IDE, haufenweise nachvollziehbaren Beispielen kombiniert mit einer relativ simplen "Sprache" ist das Gerät prädestiniert für "Macher". Und eben nicht ausschliesslich für Programmierer/Hardcoretechniker (oder die, die sich dafür halten! ), sondern auch Künstler, Kinder/Schüler, Maschinenbauer uswusf...

    Warum mag ich AutoIt? Script laden, F5 drücken, läuft. Sowas mal mit GCC gemacht? Danke, setzen...Sollen sich die "Freaks und Cracks" aus dem Linux-Lager damit rumschlagen.
    Mit der "Basic"-Umgebung des ESP gestaltet sich das ähnlich simpel wie mit AutoIt! Script in der im Browser nach Verbindung per WLAN mit dem ESP erscheinenden "IDE" *schmunzel* laden/reinkopieren, [RUN] klicken (F5 führt regelmäßig zu Schreikrämpfen...Browser . :Face: ..) , läuft.
    Wenn nicht, hängt man zzt noch etwas in der Luft, die "Fehlermeldungen" sind nur rudimentär und ab und zu verhaspelt sich auch noch der ESP, was aber an der Basic-Engine liegt, denn wenn das System einmal läuft, dann wird es nur vom Power-Off abgeschaltet!
    Das Basic-Forum "lebt" und bei Problemen hilft der Entwickler weiter!

    Nächste Woche bekomme ich 10 weitere ESP-12E, die werden dann als "Cloud" bzw. AP-Wolke in der Firma verteilt und sollen nichts weiter machen als die verfügbaren anderen "AP"-Namen und deren RSSI an eine AutoIt-Anwendung zu senden. Interessant wird die Störung dieses Netzwerks infolge Umgebung mit massiver Anzahl Stahlprofile und beschichteter Glasscheiben. Ziel ist, eine halbwegs (+-3-5m) genaue Trilateration (eher eine Multi-Lateration) hinzubekommen.
    Zunächst werte ich die Daten/Standorte mit Autoit aus, einfach weil ich damit schneller bin, später wird die Positionsbestimmung/Ortung auf den ESP laufen, dort sind dann die Standorte mit jedem Handy/Laptop/Tablet abrufbar! Weboberfläche FTW, das Basic auf dem ESP stellt hinreichende Grafikbefehle zur Verfügung...schaumamal

    • Offizieller Beitrag

    Habe z.Z. einen Esp8266 mit 4 Temperaturfühlern ,2 LCD Displays 1024 kbit EEprom und diversen Tastern die alle an 2 Pins hängen.
    Die Taster und Lcds hängen alle an PFC8574 Portexpandern, die Anzahl der I/O Pins ist nur durch die zur Verfügung stehenden Geräteadressen begrenzt.

    Programmierst Du mit der Arduino-IDE?
    Wenn ja, würde mich interessieren wie Du die Geräte über den Portexpander ansprichst.
    Wie sehen denn dann die Port-Adressen aus?
    Ich brauche nämlich momentan auch noch einige I/O-Ports.

    • Offizieller Beitrag

    Ich programmiere immer per Arduino IDE.
    Um Displays per PCF8574 zu benutzen brauchts du z.B. das Liquid Crystals LIbary.
    Dazu gibt es aber x Versionen, du brauchst eine die Displays per i2c ansprechen kannst.
    Für die Taster benutze ich das PCF8574 Lib, einfach mal danach googlen.

    Welche genau, kann ich dir nicht sagen, weil meine Daten irgendwo auf den Servern rumgammeln.
    Die stehen seit ca 1/2 Jahr auf dem Dachboden und ich hab keinen Antrieb die wieder aufzubauen.
    Arduino/ESP liegen bei mir bis zum Winter eh auf EIs, keine Zeit und Lust.


    Aber generell brachst du nur 2 Pins um alles mögliche zu steuern. Begrenzt ist das Ganze nur durch die
    vorhandenen Geräteadressen der ic2 Portexpander und natürlich die Leitungslänge des i2c Bus.

    Z.B. gibt es vom PFC8574 2 verschiedene Versionen, die unterschiedliche Adressen haben.
    Wenn ich jetzt richtig im Kopf habe sind 8 verschiedene ic2 Adressen mit dem PFC8574 möglich 0x20 -0x27.
    Das Hauptproblem am i2c Bus ist, das fast alle Bausteine 0x20 - ... benutzen.
    Den PFC8574 hab ich nur gewählt, weil der nur Cents kostet. Altenativ gibt es auch den MCP23017 der hat 16 Ports.
    Das Teil wird vom Microchips hergestellt und Libs gibt es dazu von Ardafruit.
    Das Adafruit LIb hat auch die Displayunterstützung integriert.

    • Offizieller Beitrag

    Den MCP23017 hatte ich hier noch rumliegen, also Lötkolben angeschmissen und auf eine Platine gelötet. Library von Adafruit installiert. Funktioniert!
    Ich kann alle 16 I/Os einzeln schalten, soweit so gut, aber ich kann diese I/Os nicht nutzen, um die DHT-Feuchtesensoren anzuschliessen.
    Die entsprechende DHT-Library erwartet ja einen Port/Pin "DHT dht(DHTPIN, DHTTYPE)". Ich bin schon am suchen, aber scheinbar gibt es für das Problem keine entsprechende Library. Oder kennt jemand von euch eine Lösung dafür?


    Mein TFT ist per Hardware-SPI angeschlossen und das soll auch so bleiben. RTC und Luftdrucksensor per I2C. Die beiden DHT habe ich jetzt an GPIO10 und GPIO0 angeschlossen, was testweise erstmal funktioniert.
    Wenn das stabil läuft, dann bleibt es wohl bei den Anschlüssen und ich nutze den MCP23017 nur zum schalten von einigen LEDs und zur Eingabe per Tastatur. Später sollen da evtl. noch ein paar Lampen geschaltet werden.
    Mal schauen, wie das so weitergeht...
    Trotz aller Sucherei und mangelhafter Dokumentation macht es doch Spaß mal wieder etwas zu "basteln". :)

    • Offizieller Beitrag

    Als Temperatursensoren benutze ich auch i2c Chips.
    Genauer gesagt den LM75A, andere Sensoren hab ich noch nicht verbaut.