Forum Replies Created
-
AuthorPosts
-
zenonmbParticipantMy mistake. Was not aware of that feature in routers. Actually not sure if available .Will check . I thought you were talking about setting aside a range of IP addresses for dhcp (leaving other ip range for fixed ip), that every router ask when you define dhcp.
And yes,my problem was on setting DHCP to off.
zenonmbParticipantNo,I have not . But what would change that on the controller? Actually, at home I have all DHCP . Are you saying that the router might be “kicking off” the controller and this casues the reboot? I can see and checked that the IP address is not in use.
On the field, yes I have some range reserved for DHCP
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
zenonmbParticipantRead the user manual and it states ” % Watering : global scaling factor applied to station water times. For example, if set to 150%, all station water times will be
multiplied by 150% (except in programs that do not use weather adjustment).” So I checked on the program but still no change . Tried other commands and API is working fine.
zenonmbParticipantJonas,
I used the command but did not work.On my program I have unchecked “Use weather adjustments” and in options I have weather adjustment method as manual.
Tried 150 , to get 50% more time on the watering time, but that did not happened. BTW, did get “result : 1” on response with the http message, so it is correct.
Also, when changing the WL % via the API, should the GUI reflect that as well?
Any idea what might be missing?
zenonmbParticipant@ Jonas,
What API command do you use to set the watering level? Could not find anyone specific. The closest I found is in section 13. Manually Start a Program [Keyword /mp]
/mp?pw=xxx&pid=xxx&uwt=x , but this will start the program as well.
zenonmbParticipantMaybe an obvious question. Do you have your rain sensor working?
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
zenonmbParticipantColleagues,
An update on this topic, since I did as suggested (connecting 10K pull up + 4k7) and noticed same behavior as mikcaau mentioned. Investigating the logic levels, it turn out that the 4k7 R is too high (combined with 10K). With the suggested set up, V rain = 1V (aprox),and anything above 0.8V is considered ambiguous (not guaranteed, for a 3.3v power supply) .
I like the idea of a protection and thus a serial R , but the value should be lower . Like 1K or similar (with 10K pull up) .
Cheers,martin
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 1
zenonmbParticipantFound the problem. Library UIPEthernet was missing .The readme was key……
Complied fine and is working.
Question now is on station definitions. Should i select GPIO as type ? I am asking because I do not see any option for GPIO,to select which pin.
In ESP32.h we have this#define ON_BOARD_GPIN_LIST {12,13,14,15,16,255,255,255} // ESP32 on board gpins to be usead as sections, 255 – pin not defined
So i was expected to see those 5 pins as options for GPIO, but there is not any.
Any suggestions?
zenonmbParticipantJavier,
Tried to compile your code and got an error .
In file included from C:\Users\XXXXX\Documents\Arduino\OpenSprinkler-Firmware-ESP32port-master\mainArduino\mainArduino.ino:15:0:sketch\OpenSprinkler.h:37:26: fatal error: UIPEthernet.h: No such file or directory
compilation terminated.
And I think this error is correct. I do not see that file in your repository.BTW is not in the “regular”(Open sprinkler fw) firmware files repository either……
In opensprinkler.h we have
33#if defined(ARDUINO) // headers for ESP8266
34 #include <Arduino.h>
35 #include <Wire.h>
36 #include <SPI.h>
37 #include <UIPEthernet.h>So, in theory this file should not be called, since this is for Arduino…….
zenonmbParticipant@ Javier,
have you tried the rain sensor?
zenonmbParticipantCan not we put all the required files in the ESP8266/PI?
zenonmbParticipantGuys,
Any update on this topic?? Really needed.
BTW, attached is a proposed approach on the enhancement
cheers,
martinAttachments:
zenonmbParticipantThanks Ray for the clarification
zenonmbParticipantThanks Ray . I was not aware that stations should be “standard” (not GPIO). So S01 is mapped to P0 in PCF8574 (on the expansion), S02 mapped to P1…..and so on, until S08 mapped to P7 .
Question is why you did not use the spare pins on “main” PCF8574. According to the schematic, only two pins are used . One for B1 and the other for B3, so it seems there are 6 unused pins .
zenonmbParticipantRay,
I am back…..sooner than expected.
I see a lot of timeouts and disconnects13:23:56.730 -> host: weather.opensprinkler.com:80
13:50:40.485 -> WiFi disconnected, going back to initial
13:53:15.366 -> WiFi disconnected, going back to initial
13:59:55.131 -> WiFi disconnected, going back to initial
14:26:14.206 -> WiFi disconnected, going back to initial
14:30:20.140 -> WiFi disconnected, going back to initial
14:32:20.141 -> timeout
14:38:29.028 -> WiFi disconnected, going back to initial
14:46:48.476 -> WiFi disconnected, going back to initial
14:48:48.491 -> timeout
14:50:48.510 -> timeout
14:52:48.538 -> timeout
14:54:48.538 -> timeout
14:56:48.526 -> timeout
14:58:48.527 -> timeout
15:00:48.536 -> timeout
15:02:48.556 -> timeout
15:04:48.584 -> timeout
15:06:48.574 -> timeout
15:08:48.591 -> timeout
15:14:56.222 -> WiFi disconnected, going back to initial
15:16:56.213 -> timeout
15:24:28.770 -> WiFi disconnected, going back to initial
15:26:28.802 -> timeout
15:28:28.782 -> timeoutIs there anything that I can take a look?
zenonmbParticipantRay,
You were right. Now I do have the web and app running. Will get the HW, RTC and PCF8574 and put it to work. (not sure what happened before…)
Thank you very much for your support and regarding your system, there is no much to add . There are many messages in the forum stating the awsome product that you developed and opened to the community. Thank you
cheers,martin
zenonmbParticipantRay,
Commented out the lines and was able to compile it. This is what I get
09:02:16.368 -> 2106-02-07 02:28:20 – MQTT Init
09:02:16.368 -> 2106-02-07 02:28:20 – MQTT Init: ClientId OS-34AB9516ACD2
09:02:20.455 -> req_mqtt_restart
09:02:20.455 -> 2106-02-07 02:28:24 – MQTT Begin
09:02:20.455 -> 2106-02-07 02:28:24 – MQTT Begin: Config (:1883 ) Disabled
09:02:20.489 -> NTP Syncing…
09:02:20.489 -> ntp: time.google.com connected
09:02:20.695 -> 1634299340
09:02:20.730 -> host: weather.opensprinkler.com:80
zenonmbParticipantTried and as you suggested it was not difficult at all. Copied all files into the mainArduino directory , also added the 4 libraries and hit compile/upload(all within Arduino IDE).
No error, perfect clean. Same result as before, showed the WIFI as OS-ACD16, open browser, set my network credentials and after a minute did a reboot.
As before, it did not respond to the browser, so went to the defines.h files and uncommented the debug line.
Now when tried to compile, got errors stating that some libraries were not used . For example had with mqtt and also Ethernet(old libraries already in my arduino), so remove those and still getting the error belowArduino: 1.8.12 (Windows 10), Board: “Generic ESP8266 Module, 80 MHz, Flash, Disabled (new aborts on oom), Disabled, All SSL ciphers (most compatible), 32KB cache + 32KB IRAM (balanced), Use pgm_read macros for IRAM/PROGMEM, dtr (aka nodemcu), 26 MHz, 40MHz, DOUT (compatible), 1MB (FS:64KB OTA:~470KB), 2, nonos-sdk 2.2.1+100 (190703), v2 Lower Memory, Disabled, None, Only Sketch, 115200”
sketch\main.cpp: In function ‘void do_loop()’:
sketch\main.cpp:445:71: error: ‘static uint8_t Enc28J60Network::readReg(uint8_t)’ is private within this context
445 | uint16_t estat = Enc28J60Network::readReg((uint8_t) ENC28J60_ESTAT);
| ^
In file included from C:\Program Files (x86)\Arduino\libraries\EthernetENC-master\src/Ethernet.h:31,
from sketch\OpenSprinkler.h:38,
from sketch\main.cpp:26:
C:\Program Files (x86)\Arduino\libraries\EthernetENC-master\src/utility/Enc28J60Network.h:65:18: note: declared private here
65 | static uint8_t readReg(uint8_t address);
| ^~~~~~~
sketch\main.cpp:446:67: error: ‘static uint8_t Enc28J60Network::readReg(uint8_t)’ is private within this context
446 | uint16_t eir = Enc28J60Network::readReg((uint8_t) ENC28J60_EIR);
| ^
In file included from C:\Program Files (x86)\Arduino\libraries\EthernetENC-master\src/Ethernet.h:31,
from sketch\OpenSprinkler.h:38,
from sketch\main.cpp:26:
C:\Program Files (x86)\Arduino\libraries\EthernetENC-master\src/utility/Enc28J60Network.h:65:18: note: declared private here
65 | static uint8_t readReg(uint8_t address);
| ^~~~~~~
sketch\main.cpp:447:71: error: ‘static uint8_t Enc28J60Network::readReg(uint8_t)’ is private within this context
447 | uint16_t econ1 = Enc28J60Network::readReg((uint8_t) ENC28J60_ECON1);
| ^
In file included from C:\Program Files (x86)\Arduino\libraries\EthernetENC-master\src/Ethernet.h:31,
from sketch\OpenSprinkler.h:38,
from sketch\main.cpp:26:
C:\Program Files (x86)\Arduino\libraries\EthernetENC-master\src/utility/Enc28J60Network.h:65:18: note: declared private here
65 | static uint8_t readReg(uint8_t address);
| ^~~~~~~
exit status 1
Error compiling for board Generic ESP8266 Module.This report would have more information with
“Show verbose output during compilation”
option enabled in File -> Preferences.Any suggestion?
zenonmbParticipantUnderstand, but compiling the code seems challenging for me. Yes, you provided the instructions, but those are for linux and my Arduino IDE is on Windows and not sure if the procedure would be the same.
Thank you
zenonmbParticipantThanks Ray .
I have already power cycle the ESP and I see no response for the browser.
At this time, I do not have display, nor expansion board (PC8574). Just the ESP8266 12F . Will connect the RTC module + PCF8574 and see what happens.
cheers,
martin
zenonmbParticipantColleagues,
Still fighting….after another flashing attemps, I think I am moving(slowly…) . Now the ESP does not reboot and pop up as AP (SSID = OS_16ACD2) with 192.168.4.1, so I was able to connect and got the attached screen from opensprinkler(wifi config). To input SSID and pass , which I did and after that It register to my wifi, but can not get any response from the browser.
Any idea?Attachments:
zenonmbParticipantColleagues,
Was happily using opensprinkler in pi zero, but suddenly stopped working. Pi is dead and the issue is that I can not get a spare, so trying to move to ESP8266 HW . I do have 12F version. Downloaded the compiled file for ver 3.0 from here http://raysfiles.com/os_compiled_firmware/v3.0/ os_219_rev9.bin . Used the Express ESP flash tool, and followed this procedure https://www.allaboutcircuits.com/projects/flashing-the-ESP-01-firmware-to-SDK-v2.0.0-is-easier-now/
My question here is the starting memory. In that page it states 0xFB000. Is this correct?
The issue I am having is continues reboot, (btw, did not see any error on flashing the esp8266) and the blue led is flashing rapidly2nd boot version : 1.4(b1)
SPI Speed : 40MHz
SPI Mode : DIO
SPI Flash Size & Map: 8Mbit(512KB+512KB)
jump to run user1 @ 1000▒n’t use rtc mem data
rl$rlv
Ai-Thinker Technology Co.,Ltd.ets Jan 8 2013,rst cause:2, boot mode:(3,6)
load 0x40100000, len 1396, room 16
tail 4
chksum 0x89
load 0x3ffe8000, len 776, room 4
tail 4
chksum 0xe8
load 0x3ffe8308, len 540, room 4
tail 8
chksum 0xc0
csum 0xc02nd boot version : 1.4(b1)
SPI Speed : 40MHz
SPI Mode : DIO
SPI Flash Size & Map: 8Mbit(512KB+512KB)
jump to run user1 @ 1000▒n’t use rtc mem data
rl$rlv
Ai-Thinker Technology Co.,Ltd.ets Jan 8 2013,rst cause:2, boot mode:(3,6)
load 0x40100000, len 1396, room 16
tail 4
chksum 0x89
load 0x3ffe8000, len 776, room 4
tail 4
chksum 0xe8
load 0x3ffe8308, len 540, room 4
tail 8Finally, at this point I do not have any HW attached to the ESP8266-12F . I would need the RTC + PCF8574. Is it possible this behavior because I do not have connected that HW?
Any idea what night be wrong?
Cheers,martin
-
AuthorPosts