ESP8266 - Nebenprodukte

  • Hallöle,
    in meinem, mittlerweile doch ziemlich umfangreichem -> SensorNode-Projekt <- verwende ich oft kleine, angepasste sketches um auszuprobieren, was ich anpassen muss, damit z.B. I2C auf einem ESP-01 möglich ist.
    Jetzt hab' ich mir gedacht es wäre vielleicht ganz sinnvoll, die dabei anfallenden Mini-sketches hier mit zur Verfügung zu stellen.
    Wer jetzt z.B. einen BMP sensor ansteuern will, muss deshalb nicht den Monster-sketch der Sensor-Node herunterladen und mühselig abspecken.
    Ich werde da jetzt keine grossartige Doku zu den einzelnen sketches verfassen ... schaut einfach mal rein.

    Nur vielleicht der Hinweis auf den LCD sketch: dabei handelt es sich um ein "normales" 1604 LCD (44870) mit einem I2C-Konverter basierend auf einem PCF8574AT (I2C-Addresse 0x3F) bzw. PCF8574 (I2C-Addresse 0x27).
    ACHTUNG! Der Konverter (zumindest meiner) hat Pullups auf 5V verbaut. Levelshifter verwenden!
    //EDIT: verwendet dabei unbedingt die im sketch angegebene I2C-Datei ... das scheint die einzige zu sein, die anstandslos mit den ESPs tut. Ich hab da eine ganze Weile rumexperimentieren müssen, bis ich was Brauchbares gefunden habe.

    Update per HTTP-Sketch: der speichert eine laufende Nummer im EEPROM. Aus seiner MAC-Adresse und dieser Nummer wird dann das File für den Update zusammengesetzt, also z.B. 11:22:33:44:55:66-0.bin
    Ist das vorhanden, wird damit eine Online-Update ausgeführt.


    Ich hoffe, ihr könnt das eine oder andere Teil brauchen.

    //EDIT: ich häng' die Logger-Datei auch mal hier mit an ...

    History:
    16.03.2016 - einfaches OTA Update per HTTP Beispiel hinzugefügt


    So long,
    -ds-

  • Ja mei dag ... woast eh ... ;)
    Na manchmal werden ein paar Dinge (quasi-)parallel fertig ... und dann gibt's halt mal wieder einen Schwung mehr oder weniger sinnvoller Beiträge von mir :) ....

    cheers,
    -ds-

  • Danke dafür!
    Hätte ich 2-3 Tage eher gebraucht. ;) Hab nen halben Tag damit zugebracht herauszufinden, dass man beim ESP extra Wire.begin(sda, scl); angeben muss, da er keine dedizierte sda und scl ports hat.

    Das hier könnte beim ein oder Anderen für verwirrung sorgen im LCD-Sketch:

    Code
    // Initialize the serial port at a speed of 9600 baud
    	Serial.begin(57600);
  • Ich hab ein einfaches Update per HTTP-Beispiel mal dazugepackt.
    Aus der MAC-Adresse des ESP-Moduls und einer, im EEPROM hinterlegten laufenden Nummer, wird der Name der Datei ermittelt.
    Zuerst wollte ich das über ein Timestamp-Konstrukt machen, da ich aber mal davon ausgegangen bin, dass Datum und Uhrzeit nicht zwangläufig aktuell sein müssen, hab' ic auf die MAC zurückgegriffen.

    cu,
    -ds-

Jetzt mitmachen!

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