OpenSprinkler › Forums › OpenSprinkler Unified Firmware › ESP32 port of 2.1.9 firmware
- This topic has 129 replies, 17 voices, and was last updated 3 months, 1 week ago by v1pr.
-
AuthorPosts
-
November 10, 2021 at 5:12 pm #71624
zenonmbParticipantfound 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 1November 16, 2021 at 10:00 am #71658
zenonmbParticipantI 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
September 8, 2022 at 5:55 pm #73823
draztikParticipantHello, 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/UIPEthernetThis 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
September 15, 2022 at 4:05 pm #73887
kowal00071ParticipantHello, 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 1September 15, 2022 at 4:37 pm #73888
kowal00071ParticipantOctober 2, 2022 at 11:21 am #74033
zenonmbParticipantI 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 helpsmartin
October 2, 2022 at 12:46 pm #74034
draztikParticipantI’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.
October 2, 2022 at 5:17 pm #74041
draztikParticipantYour method worked!. Thank you for the help I really appreciate it.
October 7, 2022 at 7:37 am #74070
rickerdoParticipantFollowing
October 19, 2022 at 3:33 pm #74169
kowal00071ParticipantHello, 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
Attachments:
January 2, 2023 at 10:44 am #74621
kowal00071ParticipantWill there be software 2.2.0 for esp32 ?
March 13, 2023 at 1:53 pm #75017
kowal00071Participanthello 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]March 16, 2023 at 9:00 am #75034
Ken.238ParticipantThis is very interesting project. Where can I have the pub board make?
March 17, 2023 at 3:16 pm #75039
kowal00071ParticipantI 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
March 17, 2023 at 6:12 pm #75041
Ken.238ParticipantThanks for info. If you don’t mind how you design your pcb? Thanks.
April 19, 2023 at 8:11 pm #75353
polskifacetParticipantHello 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
April 29, 2023 at 8:36 pm #75469
Ken.238ParticipantIt will not compile in arduino ide too many error. I compile with plamformio. It is running.
May 3, 2023 at 7:41 pm #75521
polskifacetParticipantCould someone that successfully compiled the bin file just post it here?
May 3, 2023 at 9:46 pm #75523
polskifacetParticipantGot 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
May 4, 2023 at 10:38 am #75528
polskifacetParticipantMay 4, 2023 at 7:25 pm #75532
polskifacetParticipantGood 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.
May 5, 2023 at 7:52 am #75537
rickerdoParticipantGreat 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.
May 5, 2023 at 8:19 am #75538
polskifacetParticipantThe 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?
May 7, 2023 at 4:26 pm #75567
RayKeymasterThe 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.
May 22, 2023 at 4:15 am #75755
v1prParticipantHi,
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).
-
AuthorPosts
- You must be logged in to reply to this topic.
OpenSprinkler › Forums › OpenSprinkler Unified Firmware › ESP32 port of 2.1.9 firmware