Forum Replies Created

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts

  • StudioShemp
    Participant

    Hi Polskifacet,

    It should work absolutely fine. I’m wondering what you mean though by a regular ESP-12f board. A standalone ESP12f module itself needs external pull-up/pull-down resistors on certain pins to boot. As you’ve mentioned the flashing wifi LED, I’m guessing you have a board with the esp module soldered on and all of the supporting passive components already in place, along with the led attached to a gpio pin. So… My guess is perhaps the gpio pins in use on the board may be in the wrong state at boot, or something connected to the pins is holding it in that state. (I’m assuming you’ve checked to see if it’s presenting a Wifi AP whilst it’s LED is flashing?) Do you have a web link to the board and are there any jumpers, or anything connected to the pins?


    StudioShemp
    Participant

    Hi @Vamp,

    For the buttons – You’re going to have to examine how you’ve set PIN_BUTTON_1, PIN_BUTTON_2, PIN_BUTTON_3 in your defines.h and where they are used in the code to ensure that when the relays are triggered, the code isn’t reading the same pin e.g. digitalReadExt(PIN_BUTTON_xx).

    The display is far more embedded. If I recall, the code already handles detection of a display if present, but if you’ve tried using the SDA (GPIO4) / SCL (GPIO5) pins already and it hasn’t worked, you may need to remove references to it in the code, e.g. remove the #include statements for the display library (SSD1306Display.h). If you still have issues, possibly comment out sections of code which call the display library -e.g. lcd.init(); or write to or clear the display (lcd_print… etc. )

    Using the display pins goes beyond what I was aimig to do, so I can really only provide general guidance here.

    Also – you need to be aware of what Ray mentions above – the behaviour of the pins and their default states at power-on. You will need to look at the esp8266 reference material for the expected default states of the pins you’re intending to use and see if your use is consistent. If not, you may find the module doesn’t even power on.

    I hope that helps.


    StudioShemp
    Participant

    Hi @Ray,

    I absolutely agree the OLED/LCD is less important than the GUI. I changed the OLED because I saw it a lot whilst I was building, and realised there wasn’t a way to change the format other than to build it in to the firmware in the DD-MM format, which was pretty simple.

    I use the GUI a lot more now of course, and again noticed the MM-DD format in the “Enable Date Range” input dialogue for setting up a new program.

    If it’s possible to set a switch to change both GUI and display at some point, fantastic!

    Cheers,

    Alan


    StudioShemp
    Participant

    Hi @Ray, @Tobasco


    @Ray
    , Tobasco’s repo is at https://github.com/ThFischer/OpenSprinkler-for-ESP12F_Relay_X4

    I’ve just updated my README.txt as per his suggestion to include the tips he mentions above (and acknowledge his foundational work for this project). I wish I’d found the repo earlier and forked from it as it’s far more aligned to where I headed in my own.

    Also wanted to mention the LCD/OLED date format change in my repo, and wondering if something similar could be included as an option in the OpenSprinkler GUI for all of us that use DD-MM date format in our part of the world and simply cannot fathom MM-DD when we see it.

    Finally, I just wanted to say thank you for supporting those of us who love to tinker with alternative hardware.

    Cheers,

    StudioShemp


    StudioShemp
    Participant

    Hi all,

    I’ve created a version 2.2.0(1) build of the firmware at https://github.com/StudioShemp/OpenSprinkler-ESP8266-WIFI-4-Channels-Relay-Module-AC-DC-ESP-12F-Development-Board

    I essentially compared and isolated the changes from the original 2.1.9(11) release by OpenSprinkler with the 2.1.9 release by @vamp mentioned in this forum (branched from solideus merge on github) and embedded these changes in to a clean 2.2.0(1) codebase from OpenSprinkler.

    I have tested it on my ESP12F_RELAY_X4 build (ESP8266-WIFI-4-Channels-Relay-Module-AC-DC-ESP-12F-Development-Board) and everything is working well, noting that you will need to back up first then restore, as this release will perform a factory reset.

    I’ve also made a few enhancements to make maintaining easier for new releases – created a ‘define’ in defines.h to flag the use of the ESP12F_RELAY_X4 board, and altered the code in main.cpp, OpenSprinkler.cpp and defines.h to read this flag to run the code specific to the ESP12F_RELAY_X4 board depending on the value of that flag, 1 or 0, in defines.h. (the standard 2.2.0(1) executes if the flag is set at 0). All sections of code using the flag as a condition are commented with /**ESP12F_RELAY_X4… */

    For this version (2.2.x) you will need to:

    manually install the OpenThings-Framework-Firmware-Library into your Arduino IDE’s library folder
    (https://github.com/OpenThingsIO/OpenThings-Framework-Firmware-Library)

    install the WebSockets Library by Markus Sattler using the Library Manager in the Arduino IDE

    There’s a pull request now on the solideus github repo for my Master 2.2.0(1) branch.

    As a bonus, there’s code in there to alter the date format to DD-MM on the LCD (another flag in defines.h) for those of us who don’t use (or like!) the US MM-DD Date format .

    All running beautifully on my build. Thanks to @Tobasco, @Vamp and solideus for the awesome effort on this.

    Cheers,

    StudioShemp

Viewing 5 posts - 1 through 5 (of 5 total)