OpenSprinkler Forums OpenSprinkler Unified Firmware ESP32 port of 2.1.9 firmware

Viewing 25 posts - 26 through 50 (of 125 total)
  • Author
    Posts
  • #71624

    zenonmb
    Participant

    found it . All stations should be “standard” so GPIO 12, corresponds to station 1, GPIO 13 corresponds to station 2 and so on.
    I have in mine 8 stations 12,13,14,15,16,17,18,19 .
    Finally tested the rain sensor and works ok , on GPIO 36, sensor 1

    #71658

    zenonmb
    Participant

    @Javier,

    I am thinking of expanding to 16 stations (since there are plenty pins available)from your code and not sure how challenging would be so would like an advice.
    regards,

    martin

    #73823

    draztik
    Participant

    Hello, I am having trouble compiling this. I have tried it with multiple versions of Arduino. I’m also a beginner when it comes to Arduino, I’ve only been using it for about a week so I’m sure it’s an error on my end. I even bought an identical esp32 board used in the example to see if that would help but I get the same errors. I’ll attach a copy of the error message that I get when I try to compile. In the error message it says I am missing “brzo_i2c.h” I did a search for this library and found it, when I add this library more errors show up.

    Am I compiling this completely wrong? I started with a fresh install of Arduino, I downloaded the full zip from github named “OpenSprinkler-Firmware-ESP32port-master.zip”. I then open Arduino and click on,
    Sketch>Include Library>Add.Zip Library and select “OpenSprinkler-Firmware-ESP32port-master.zip” and add it as a library. I then download and install the ESP32 Board support and add the three libraries mentioned in the Readme.

    2. you need to have necessary libraries, including SSD1306, RCSwitch, and UIPEthernet.
    https://github.com/ThingPulse/esp8266-oled-ssd1306
    https://github.com/sui77/rc-switch
    https://github.com/UIPEthernet/UIPEthernet

    This next step is where I was having trouble, I’m not even sure if this is the correct way of compiling I’ve only been doing this for about a week. I click File>Open and navigate to the Arduino library folder on my computer, open the OpenSprinkler-Firmware-ESP32-master folder and select the mainArduino.ino file. Then a window pops up saying the file needs to be inside a sketch folder named “mainArduino” create this folder? I click OK and create the new folder. I then click Sketch>Include Library and add the necessary libraries including OpenSprinkler-Firmware-ESP32port-master as one libraries. Is this the correct way to compile this?

    I know the ESP32 isn’t officially supported and this isn’t an Arduino forum but hopefully someone can help me out.

    Thanks

    #73887

    kowal00071
    Participant

    Hello, I also have a problem with compiling, can someone write step by step how to do it?

    In file included from C:\Users\kowal\Documents\Arduino\libraries\AriloSprinkler-Firmware-branch_dev_esp32/OpenSprinkler.h:42:0,
    from C:\Users\kowal\Desktop\SPRINKLER\soft\AriloSprinkler-Firmware-branch_dev_esp32\examples\mainArduino\mainArduino.ino:14:
    C:\Users\kowal\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.6\libraries\FS\src/FS.h:118:11: error: ‘File’ is already declared in this scope
    using fs::File;
    ^
    exit status 1

    #73888

    kowal00071
    Participant
    #74033

    zenonmb
    Participant

    I do not know much about Arduino either,but i can tell you what I have done to succesfully compile and run OPensprinkler on ESP32 module.
    Downloaded as you mentioned the zip file for opensprinkler and also the other 3 libraries.
    I have put those three libraries under the library folder within Arduino . When trying to compile got same message about creating a folder with name mainarduino ,so I have also put all the opensprinkler files under this new folder (not the other 3 libraries) . Then run the compiler again and this is the log should it help.

    In file included from C:\Users\Rosario\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5\cores\esp32/Arduino.h:170,
    from C:\Users\Rosario\Documents\Arduino\Proyectos\Opensprinkler\OpenSprinkler-Firmware-ESP32port-master\mainArduino\utils.h:28,
    from C:\Users\Rosario\Documents\Arduino\Proyectos\Opensprinkler\OpenSprinkler-Firmware-ESP32port-master\mainArduino\OpenSprinkler.h:29,
    from C:\Users\Rosario\Documents\Arduino\Proyectos\Opensprinkler\OpenSprinkler-Firmware-ESP32port-master\mainArduino\OpenSprinkler.cpp:24:
    C:\Users\Rosario\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5\cores\esp32/IPAddress.h: In static member function ‘static void OpenSprinkler::config_ip()’:
    C:\Users\Rosario\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5\cores\esp32/IPAddress.h:67:10: note: candidate 1: ‘bool IPAddress::operator==(const uint8_t*) const’
    bool operator==(const uint8_t* addr) const;
    ^~~~~~~~
    C:\Users\Rosario\Documents\Arduino\Proyectos\Opensprinkler\OpenSprinkler-Firmware-ESP32port-master\mainArduino\OpenSprinkler.cpp:2634:22: note: candidate 2: ‘operator==(uint32_t {aka unsigned int}, uint32_t {aka unsigned int})’ <built-in>
    if(dvip==(uint32_t)0x00000000) return;
    ^~~~~~~~~~
    In file included from C:\Users\Rosario\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5\cores\esp32/Arduino.h:170,
    from C:\Users\Rosario\Documents\Arduino\Proyectos\Opensprinkler\OpenSprinkler-Firmware-ESP32port-master\mainArduino\utils.h:28,
    from C:\Users\Rosario\Documents\Arduino\Proyectos\Opensprinkler\OpenSprinkler-Firmware-ESP32port-master\mainArduino\OpenSprinkler.h:29,
    from C:\Users\Rosario\Documents\Arduino\Proyectos\Opensprinkler\OpenSprinkler-Firmware-ESP32port-master\mainArduino\OpenSprinkler.cpp:24:
    C:\Users\Rosario\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5\cores\esp32/IPAddress.h:67:10: note: candidate 1: ‘bool IPAddress::operator==(const uint8_t*) const’
    bool operator==(const uint8_t* addr) const;
    ^~~~~~~~
    C:\Users\Rosario\Documents\Arduino\Proyectos\Opensprinkler\OpenSprinkler-Firmware-ESP32port-master\mainArduino\OpenSprinkler.cpp:2638:22: note: candidate 2: ‘operator==(uint32_t {aka unsigned int}, uint32_t {aka unsigned int})’ <built-in>
    if(gwip==(uint32_t)0x00000000) return;
    ^~~~~~~~~~
    In file included from C:\Users\Rosario\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5\cores\esp32/Arduino.h:170,
    from C:\Users\Rosario\Documents\Arduino\Proyectos\Opensprinkler\OpenSprinkler-Firmware-ESP32port-master\mainArduino\utils.h:28,
    from C:\Users\Rosario\Documents\Arduino\Proyectos\Opensprinkler\OpenSprinkler-Firmware-ESP32port-master\mainArduino\OpenSprinkler.h:29,
    from C:\Users\Rosario\Documents\Arduino\Proyectos\Opensprinkler\OpenSprinkler-Firmware-ESP32port-master\mainArduino\OpenSprinkler.cpp:24:
    C:\Users\Rosario\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.5\cores\esp32/IPAddress.h:67:10: note: candidate 1: ‘bool IPAddress::operator==(const uint8_t*) const’
    bool operator==(const uint8_t* addr) const;
    ^~~~~~~~
    C:\Users\Rosario\Documents\Arduino\Proyectos\Opensprinkler\OpenSprinkler-Firmware-ESP32port-master\mainArduino\OpenSprinkler.cpp:2642:22: note: candidate 2: ‘operator==(uint32_t {aka unsigned int}, uint32_t {aka unsigned int})’ <built-in>
    if(subn==(uint32_t)0x00000000) return;
    ^~~~~~~~~~
    Sketch uses 922585 bytes (70%) of program storage space. Maximum is 1310720 bytes.
    Global variables use 53168 bytes (16%) of dynamic memory, leaving 274512 bytes for local variables. Maximum is 327680 bytes.
    esptool.py v4.2.1
    Serial port COM3
    Connecting…….
    Chip is ESP32-D0WDQ6 (revision 1)
    Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
    Crystal is 40MHz
    MAC: ec:62:60:93:ac:a4
    Uploading stub…
    Running stub…
    Stub running…
    Changing baud rate to 921600
    Changed.
    Configuring flash size…
    Flash will be erased from 0x00001000 to 0x00005fff…
    Flash will be erased from 0x00008000 to 0x00008fff…
    Flash will be erased from 0x0000e000 to 0x0000ffff…
    Flash will be erased from 0x00010000 to 0x000f2fff…
    Compressed 18912 bytes to 13025…
    Writing at 0x00001000… (100 %)
    Wrote 18912 bytes (13025 compressed) at 0x00001000 in 0.4 seconds (effective 387.3 kbit/s)…
    Hash of data verified.
    Compressed 3072 bytes to 128…
    Writing at 0x00008000… (100 %)
    Wrote 3072 bytes (128 compressed) at 0x00008000 in 0.0 seconds (effective 524.3 kbit/s)…
    Hash of data verified.
    Compressed 8192 bytes to 47…
    Writing at 0x0000e000… (100 %)
    Wrote 8192 bytes (47 compressed) at 0x0000e000 in 0.1 seconds (effective 838.1 kbit/s)…
    Hash of data verified.
    Compressed 928352 bytes to 603790…
    Writing at 0x00010000… (2 %)
    Writing at 0x0001a599… (5 %)
    Writing at 0x000257dd… (8 %)
    Writing at 0x00031fee… (10 %)
    Writing at 0x0003b4d7… (13 %)
    Writing at 0x00040f7d… (16 %)
    Writing at 0x000467d3… (18 %)
    Writing at 0x0004bd7b… (21 %)
    Writing at 0x00051063… (24 %)
    Writing at 0x00056a03… (27 %)
    Writing at 0x0005c39a… (29 %)
    Writing at 0x00061c7e… (32 %)
    Writing at 0x0006773c… (35 %)
    Writing at 0x0006cc76… (37 %)
    Writing at 0x00072107… (40 %)
    Writing at 0x00077327… (43 %)
    Writing at 0x0007c63b… (45 %)
    Writing at 0x00081946… (48 %)
    Writing at 0x00086b72… (51 %)
    Writing at 0x0008bc4a… (54 %)
    Writing at 0x00090fad… (56 %)
    Writing at 0x0009609c… (59 %)
    Writing at 0x0009ba7f… (62 %)
    Writing at 0x000a11f9… (64 %)
    Writing at 0x000a66c0… (67 %)
    Writing at 0x000ab96d… (70 %)
    Writing at 0x000b0d70… (72 %)
    Writing at 0x000b633c… (75 %)
    Writing at 0x000bb8fa… (78 %)
    Writing at 0x000c1114… (81 %)
    Writing at 0x000c6e79… (83 %)
    Writing at 0x000cc7fa… (86 %)
    Writing at 0x000d4f47… (89 %)
    Writing at 0x000dd9c8… (91 %)
    Writing at 0x000e2fba… (94 %)
    Writing at 0x000e87d9… (97 %)
    Writing at 0x000edaae… (100 %)
    Wrote 928352 bytes (603790 compressed) at 0x00010000 in 10.1 seconds (effective 733.1 kbit/s)…
    Hash of data verified.

    Leaving…
    Hard resetting via RTS pin…

    BTW, the ESPmodule is ESP WROOM 32 with 9102 usb-serial chip. My Arduino version is 1.8.19
    Hope this helps

    martin

    #74034

    draztik
    Participant

    I’m going to try your method later tonight. I have the same ESP32 module you used, I’ll use that and try to compile it again. Thanks for replying I really appreciate your help.

    #74041

    draztik
    Participant

    Your method worked!. Thank you for the help I really appreciate it.

    #74070

    rickerdo
    Participant

    Following

    #74169

    kowal00071
    Participant

    Hello, I have a problem, I made a board from the @arigita project, its software has a compilation error, something with mirrorlink, I downloaded the @ja-charer software to this board but the display does not work

    #74621

    kowal00071
    Participant

    Will there be software 2.2.0 for esp32 ?

    #75017

    kowal00071
    Participant

    hello i tried to compile @arigita project in Arduino ide, it’s not possible, i tried two months, now i’m trying in platformio and i have error too, could someone help me? Please

    [code] * Executing task in folder AriloSprinkler-Firmware-branch_dev_esp32: C:\Users\kowal\.platformio\penv\Scripts\platformio.exe run

    Processing opensprinkler32 (framework: arduino; platform: [email protected].4; board: esp32dev)
    ————————————————————————————————————————————————————————————————Library Manager: Installing adafruit/Adafruit SSD1306 @ 2.5.0
    Unpacking [####################################] 100%
    Library Manager: Adafruit [email protected] has been installed!
    Library Manager: Resolving dependencies…
    Library Manager: Installing Adafruit GFX Library
    Unpacking [####################################] 100%
    Library Manager: Adafruit GFX [email protected].5 has been installed!
    Library Manager: Resolving dependencies…
    Library Manager: Installing Adafruit BusIO
    Unpacking [####################################] 100%
    Library Manager: Adafruit [email protected].1 has been installed!
    Library Manager: Installing mbed-thechrisyd/RCSwitch @ 0.0.0+sha.6f4be1a7962c
    Unpacking [####################################] 100%
    Library Manager: [email protected]+sha.6f4be1a7962c has been installed!
    Library Manager: Installing uipethernet/UIPEthernet @ 2.0.8
    Unpacking [####################################] 100%
    Library Manager: [email protected] has been installed!
    Library Manager: Installing knolleary/PubSubClient @ ^2.8
    Unpacking [####################################] 100%
    Library Manager: [email protected] has been installed!
    Verbose mode can be enabled via -v, --verbose option
    CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/esp32dev.html
    PLATFORM: Espressif 32 (1.12.4) > Espressif ESP32 Dev Module
    HARDWARE: ESP32 80MHz, 320KB RAM, 4MB Flash
    DEBUG: Current (esp-prog) External (esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
    PACKAGES:
    – framework-arduinoespressif32 @ 3.10004.210126 (1.0.4)
    – tool-esptoolpy @ 1.20800.0 (2.8.0)
    – toolchain-xtensa32 @ 2.50200.97 (5.2.0)
    Converting mainArduino.ino
    LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
    LDF Modes: Finder ~ chain, Compatibility ~ soft
    Found 31 compatible libraries
    Scanning dependencies…
    FileNotFoundError: [Errno 2] No such file or directory: ‘C:\\Users\\kowal\\Desktop\\splin\\AriloSprinkler-Firmware-branch_dev_esp32\\.pioenvs\\libdeps\\opensprinkler32\\UIPEthernet\\utility\\uip_arp.c’:
    File “C:\Users\kowal\.platformio\penv\lib\site-packages\platformio\builder\main.py”, line 187:
    env.SConscript(“$BUILD_SCRIPT”)
    File “C:\Users\kowal\.platformio\packages\tool-scons\scons-local-4.4.0\SCons\Script\SConscript.py”, line 597:
    return _SConscript(self.fs, *files, **subst_kw)
    File “C:\Users\kowal\.platformio\packages\tool-scons\scons-local-4.4.0\SCons\Script\SConscript.py”, line 285:
    exec(compile(scriptdata, scriptname, ‘exec’), call_stack[-1].globals)
    File “C:\Users\kowal\.platformio\platforms\espressif32\builder\main.py”, line 223:
    target_elf = env.BuildProgram()
    File “C:\Users\kowal\.platformio\packages\tool-scons\scons-local-4.4.0\SCons\Util.py”, line 737:
    return self.method(*nargs, **kwargs)
    File “C:\Users\kowal\.platformio\penv\lib\site-packages\platformio\builder\tools\piobuild.py”, line 61:
    env.ProcessProjectDeps()
    File “C:\Users\kowal\.platformio\packages\tool-scons\scons-local-4.4.0\SCons\Util.py”, line 737:
    return self.method(*nargs, **kwargs)
    File “C:\Users\kowal\.platformio\penv\lib\site-packages\platformio\builder\tools\piobuild.py”, line 137:
    plb = env.ConfigureProjectLibBuilder()
    File “C:\Users\kowal\.platformio\packages\tool-scons\scons-local-4.4.0\SCons\Util.py”, line 737:
    return self.method(*nargs, **kwargs)
    File “C:\Users\kowal\.platformio\penv\lib\site-packages\platformio\builder\tools\piolib.py”, line 1182:
    project.search_deps_recursive()
    File “C:\Users\kowal\.platformio\penv\lib\site-packages\platformio\builder\tools\piolib.py”, line 430:
    self.depend_on(lb, search_files=lb_search_files)
    File “C:\Users\kowal\.platformio\penv\lib\site-packages\platformio\builder\tools\piolib.py”, line 456:
    lb.search_deps_recursive(search_files)
    File “C:\Users\kowal\.platformio\penv\lib\site-packages\platformio\builder\tools\piolib.py”, line 430:
    self.depend_on(lb, search_files=lb_search_files)
    File “C:\Users\kowal\.platformio\penv\lib\site-packages\platformio\builder\tools\piolib.py”, line 456:
    lb.search_deps_recursive(search_files)
    File “C:\Users\kowal\.platformio\penv\lib\site-packages\platformio\builder\tools\piolib.py”, line 420:
    for inc in self.get_implicit_includes(search_files):
    File “C:\Users\kowal\.platformio\penv\lib\site-packages\platformio\builder\tools\piolib.py”, line 379:
    candidates = LibBuilderBase.CLASSIC_SCANNER(
    File “C:\Users\kowal\.platformio\packages\tool-scons\scons-local-4.4.0\SCons\Scanner\__init__.py”, line 221:
    node_list = self.function(node, env, path)
    File “C:\Users\kowal\.platformio\packages\tool-scons\scons-local-4.4.0\SCons\Scanner\__init__.py”, line 347:
    return self.scan(node, path)
    File “C:\Users\kowal\.platformio\packages\tool-scons\scons-local-4.4.0\SCons\Scanner\__init__.py”, line 379:
    includes = self.find_include_names(node)
    File “C:\Users\kowal\.platformio\packages\tool-scons\scons-local-4.4.0\SCons\Scanner\__init__.py”, line 372:
    return self.cre.findall(node.get_text_contents())
    File “C:\Users\kowal\.platformio\packages\tool-scons\scons-local-4.4.0\SCons\Node\FS.py”, line 2737:
    contents = self.get_contents()
    File “C:\Users\kowal\.platformio\packages\tool-scons\scons-local-4.4.0\SCons\Node\FS.py”, line 2728:
    return SCons.Node._get_contents_map[self._func_get_contents](self)
    File “C:\Users\kowal\.platformio\packages\tool-scons\scons-local-4.4.0\SCons\Node\__init__.py”, line 213:
    with open(fname, “rb”) as fp:
    [/code]

    #75034

    Ken.238
    Participant

    This is very interesting project. Where can I have the pub board make?

    #75039

    kowal00071
    Participant

    I ordered from jlcpcb

    do not do this software can not be uploaded, it has errors

    there is no contact with the author, I had to convert to esp8266 and upload the official soft

    #75041

    Ken.238
    Participant

    Thanks for info. If you don’t mind how you design your pcb? Thanks.

    #75353

    polskifacet
    Participant

    Hello Guys,
    Trying to compile this as Raspberry Pi is essentially impossible to buy. I’m running Arduino Ide 2.1.0 (latest). Installed the libraries mentioned on GIT. Having this issue while compiling:

    /home/adam/Downloads/OpenSprinkler-Firmware-ESP32port-master/examples/mainArduino/mainArduino.ino:14:13: error: stray ‘#’ in program
    UIPEthernet #include “OpenSprinkler.h”
    ^
    /home/adam/Downloads/OpenSprinkler-Firmware-ESP32port-master/examples/mainArduino/mainArduino.ino:14:1: error: ‘UIPEthernet’ does not name a type
    UIPEthernet #include “OpenSprinkler.h”
    ^~~~~~~~~~~

    exit status 1

    Compilation error: stray ‘#’ in program

    #75469

    Ken.238
    Participant

    It will not compile in arduino ide too many error. I compile with plamformio. It is running.

    #75521

    polskifacet
    Participant

    Could someone that successfully compiled the bin file just post it here?

    #75523

    polskifacet
    Participant

    Got it to compile in Arduino! I had a fat finger paste in the main.ino!. Now I am trying to figure out how to set the pin low by default so they go high when a station is triggered.

    #define STATION_LOGIC 0 // GPIO logic ex. for relays conneted to grand 0 meens ON

    Turning it to 1 does nothing

    #75528

    polskifacet
    Participant
    #75532

    polskifacet
    Participant

    Good news, got it all working! I unknowingly pulled the repo to my Downloads folder but already had it in the arduino libraries folder so I was changing the wrong file.

    Would be great if we could get an up to date version for ESP32, initial testing shows its great for OpenSprinkler. The interface is fast and it only costs $5 or less per esp32 dev board. Seems like the OP is no longer around :(. I’ll update the bin files on my link as a activate on high and second one for low.

    #75537

    rickerdo
    Participant

    Great work. Could you post the source code to github though for posterity’s sake? It would be much easier for others to contribute to as well.

    #75538

    polskifacet
    Participant

    The code is untouched from the OP’s GitHub. It’s just a little tricky to get it to compile if you’re not familiar with Arduino development. The bin files on my site are purely there for some of the other people that haven’t been able to compile it, not sure if I can put them in the git repo?

    #75567

    Ray
    Keymaster

    The main OpenSprinkler (ESP8266) code has been changed to adopt platformio, which makes compilation a lot easier. Just install platformio, install the extension, and compile. The ESP32 version could also use the same approach.

    #75755

    v1pr
    Participant

    Hi,

    unfortunatelly porting is not that easy, since the ethernet library does not exists for ESP32. Anyway, I started porting to ESP32 – based on Ja.Carer’s work. Code compiles, but did not have the time to test it (yet) on my custom board; so any volunteers for testing are welcomed 🙂

    Code is here: https://github.com/V1pr/OpenSprinkler-Firmware-ESP32

    Please read the readme! Moreover, I’m not sure, if the bug in the Arduino-ESP32 library has been updated in platrofmio (bug with the F() macro calling).

Viewing 25 posts - 26 through 50 (of 125 total)
  • You must be logged in to reply to this topic.

OpenSprinkler Forums OpenSprinkler Unified Firmware ESP32 port of 2.1.9 firmware