Coder Social home page Coder Social logo

celliesprojects / aquacontrol32 Goto Github PK

View Code? Open in Web Editor NEW
59.0 59.0 20.0 14.6 MB

5 channel aquarium LED controller with web interface for ESP32 boards. Supports DS18B20, SSD1306, ILI9341, XPT2046 and SmartConfig. Arduino IDE.

License: MIT License

C 44.75% HTML 25.76% C++ 28.47% Shell 1.03%
aquarium-lights arduino-ide ds18b20 esp32 iot iot-application iot-device led-controller mh-et-d1-mini moon-phase oled-display-ssd1306 smartconfig sntp temperature-logger temperature-sensor tft-display web-interface xpt2046

aquacontrol32's People

Contributors

celliesprojects avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

aquacontrol32's Issues

Make lunar cycle default.

Involves changes to the webserver code and web interface.

  1. Change web interface pages channels and setup.
  2. Change webservertask.ino.

Oled random pixels when powered by 5v directly

When I power the ESP32 with the usb cable and a wall socket, the oled screen boots up as it should and the text appears smoothly.

When I remove the usb cable and put 5v directly on the VCC input, the ESP boots up normally, and I can get to the webpage, but the OLED screen only shows random pixels.

I think something is wrong with the initialization of the screen, but I cannot figure out what it is.

No new updates?

I hope you can update the code soon if you have time, this project was truly amazing. I could help you to improve the design.

[Solved]Controller stuck/not properly booting after new installation

aquacontrol version: [v1.6.6]

Arduino IDE version: [1.8.12]

ESP32 Arduino core version: [ESP32 Arduino 1.0.4 (IDF 3.2) Release]

The issue is:

After flashing the board, it connects to my router (espressif) through a local IP (192.168.2.25) but even if I wait about 20 minutes or more for the internal flash drive to be formatted, I get a blank page.
I already flashed it several times after a full flash erase, but I'm still having the same issue:

esptool.py --port /dev/cu.SLAB_USBtoUART  erase_flash

I'm using the default settings to flash it and I haven't changed anything but the wifi network and password.

Debug log:
How can I get the debug log if I don't have access to the gui?

Additional information:
Board: ESPWROOM32 - ESP32 DEVKITV1
Partition Scheme: Default with FFAT enabled

Captura de Pantalla 2020-03-06 a la(s) 2 35 04

Btw I'm so excited because this software looks amazing and I'm so glad that you're sharing your work. I would really appreciate your help because I'm not sure if the board has to be flashed differently.
Thanks again.

Fascinating !

Greetings and hats down for the impressive job! I recently ordered three esp32 boards and started looking for possible options to upgrade my ageing aquarium controller with esp32 based one. Soon I realized that with my very limited programming skills I will never be able to do it myself. And today I found this brilliant work. Sorry, but I'm really excited . Donated immediately a few beers and have some questions, if you can spare some time:

  1. Are you planning to add relays support in the future? I would like to control my food feeder with an option to add feed times and duration from the web interface, my self made feeder is powered by 12 volt DC motor. The real time provision is already there, so it should be an easy task. At the same time I want to be able to stop automatically all pumps in the aquarium for 30 seconds before the feeding time and start them again 2 minutes after the feeding is finished (maybe this is also a good idea to be controlled from the web interface, not hardcoded.

  2. As lullaby37 asked, it would be great if we can use the temperature readings to control another relay for heaters, or two - one for heaters above web interface set temperature and one for fans for cooling with provision for some hysteresis to avoid constant on/of cycles.

If you can add this functionality this would be enough for probably 90% of all freshwater aquarium hobbyists and I would definitely buy you more beer😂

I have many more ideas, but I know how hard work is all this, so ill leave them tor later, if you are willing to improve more. By the way your project is not easy to find and I'm sure if it can be somehow advertised more it will attract a lot of people. I'm starting a blog about a fully automated aquarium that can work with no attention for months, and if I build your controller I will definitely give it a separate (or more than one ) article. You can check it here: www.tufaquarium.com. I like it very much and I see a very big potential in aquacontrol32.

Cheers, Valentin

MQTT or other way to integrate with HA, add cheap PH & TDS sensor.

Refactor the web interface.

Web interface is a mess.
To name just a few issues:

  1. The title css is different on some pages.Done.
  2. There are obsolete calls, like the whole set pwm stuff. Decision time. Is it really necessary to be able to change things like pwm depth?
  3. Maybe the css files could be consolidated, maybe that's not such a good idea.
  4. Change the font to Google Roboto font. Done.

Cooling Fan integration

Hey,
nice project! I have built the aquacontrol2 on the ESP8266 and I am now aiming for the aquacontrol32, I am just waiting for my ESP32 to arrive.
Anyways, your project is awesome and I wish I could add stuff but my programming skills are just too basic and this is much too complex and advance for me, so this not really an issue but rather a request or a wish for future versions. I hope this is okay.
As you are monitoring temperature already, why not add the function is heat or cool if temperature is not as needed... you could just trigger a relay that starts a fan or a the aquarium heater.
Anysways, keep up the good work! Awesome project. :) I hope wishing for functions here is no problem. If it is, I can just delete this. ;)

Errors compiling with new arduino 2.1.1

aquacontrol version: [replace this with your aquacontrol version]
1.6.8

Arduino IDE version: [replace this with your Arduino IDE version]
2.1.1
ESP32 Arduino core version: [replace this with your ESP32 Arduino core version]
1.8.6
The issue is:
I'm trying to flash a ESP board but I'm getting lots of errors, is the code working with the latest arduino IDE? Thanks for your help

Adding a slave controller

Would it be possible or feasible to implement adding a second controller that could be working as a slave? So if you change the leds to 85% on the master controller the slave gets updated automatically.

Maybe a new function called updateLEDs() that will take care of updating the LEDs on the slave. This function could receive the array LED intensity values ​​(a 5 element array for all 5 LED channels) and update the corresponding LED values ​​on the slave.
Then you could add a new websocket for slave controller communication. This websocket supposedly, will connect to the master controller's websocket to receive LED intensity change instructions.
In the webSocketEvent() function, you could identify if the websocket request is coming from the master or slave controller. If it's coming from the master, it should update the LEDs on the master and send the update instructions via the slave controller's websocket. If it's coming from the slave, it will just update the LEDs on the slave.
Finally, adding the logic to configure communication between the master and slave controllers over WiFi. On the master controller it will have to create a WiFi network and connect to it on the slave controller. Would that be a good idea? It would be very helpful for adding several wireless controllers.

Check if SSD1306Wire.h can possibly be made faster.

See here.

    bool connect() {
      Wire.begin(this->_sda, this->_scl);
      // Let's use ~700khz if ESP8266 is in 160Mhz mode
      // this will be limited to ~400khz if the ESP8266 in 80Mhz mode.
      Wire.setClock(700000);
      return true;
    }

Clock is at 700Khz, might be possible to up that on ESP32.

Shematics for ILI9341

Hey,

sorry to bother you again with another request. I got everything set up and working but I am still struggling with the ILI9341. I tried two different displays and several ways of wiring, yet iut does not work.

I have bought the following displays:
https://de.aliexpress.com/item/32960934541.html
https://de.aliexpress.com/item/33012793224.html

They both work using the following example:
https://educ8s.tv/arduino-2-8-ili9341-tutorial/

Yet I cannot get them to work with your project. I think it might be duw to the wiring.
I checked wiring several time but I cannot find a mistake. I connected pins as shown in "tft_board_pins". As for the Pullups, I used a 10k resistors to connect the board pins to +3,3V. AS for TFT LED I went directly from PIN 2 using a 100Ohm resistor.
I am stuck and I cannot find my mistake, so maybe schematics would be useful. If you want, I can draw my shematics and you point out the mistakes?
Sorry to bother you again and thanks for your help.

Description off /webif/Readme.md Wrong

Hello,

i tried to make a Language change for the Html files and convert it to a same lookin file as your e.g. channels_htm_gz.h
But when i will compile it Arduino gives me failure on compiling. I think because i didnt gzipped it. But how to gzip it that it will work?
Or in what order i have to zip the file?

How Moonlight ON or OFF really works?

Hi, even reading all this (#43) I still have doubts how it works regarding the ON or OFF.
I can't see anywhere on the EDITOR to choose if is normal light or moonlight.

I'm using 2 channels as this image:
image

so for full moon I should have 30% intensity on the blue light channel, but even showing now this:
image

The blue lights are off.

How really this works and I can setup specific timings for moonlight?
Thanks.

Fix status text on setup page.

When unauthorized users try to scan for sensors, the status text is updated before the request is authenticated. This leaves an ugly Scanning... text in the status line after the call is rejected.

Dosing Pump integration

I've been using aquacontrol32 v1.6.8 for two months now.
Everything works according to my expectations, but it would be nice to have the possibility to use one or two dosing pumps that could also be operated by aquacontrol32. With adjustable start times and dosing durations.

Screen is only white

Hello.The controller is working perfectly but the ILI9341 screen is only white and I need some advice.Thanks

Arduino IDE verify problem

aquacontrol version: 1.6.8

Arduino IDE version: 2.2.1

ESP32 Arduino core version: ESP32 DEV module

The issue is:
[replace this with a clear and concise desciption of the issue]

Debug log:
C:\aquacontrol32-1.6.8\aquacontrol32\webservertask.ino: In function 'bool setupMDNS(const char*)':
C:\aquacontrol32-1.6.8\aquacontrol32\webservertask.ino:673:49: error: cannot convert 'ip4_addr*' to 'esp_ip4_addr_t*' {aka 'esp_ip4_addr*'}
esp_err_t res = mdns_query_a( hostname, 2000, &addr );
^~~~~
In file included from C:\Users\tberenyi\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11\libraries\ESPmDNS\src/ESPmDNS.h:46,
from C:\aquacontrol32-1.6.8\aquacontrol32\aquacontrol32.ino:7:
C:\Users\tberenyi\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11/tools/sdk/esp32/include/mdns/include/mdns.h:649:83: note: initializing argument 3 of 'esp_err_t mdns_query_a(const char*, uint32_t, esp_ip4_addr_t*)'
esp_err_t mdns_query_a(const char * host_name, uint32_t timeout, esp_ip4_addr_t * addr);
~~~~~~~~~~~~~~~~~^~~~

exit status 1

Compilation error: cannot convert 'ip4_addr*' to 'esp_ip4_addr_t*' {aka 'esp_ip4_addr*'}

Additional information:
I tried with another Arduino IDE version, but the problem is the same

Temp sensor problem[Describe the bug in one line.]

aquacontrol32 1.6.8 [replace this with your aquacontrol version]

Arduino IDE version: 2.2.1 [replace this with your Arduino IDE version]

ESP32 Arduino core version: 1.0.4 [replace this with your ESP32 Arduino core version]
I upload to ESP32 the aquacontrol32 1.6.8, good working , but the temp sensor don't good.
The DS18B20 connect the pin 5. In the web setup I click the sensor "scan" , then show it " No sensor found ".
On the OLED display show the RAM size, but don't showing the temp .

What is the problem ?
I check the temp sensor with other hardwer, that's ok.

Additional information:
[replace this with additional information]

Problem with Touchscreen

I have tested 2 different ILI9341 screens, both with XPT2046 touch controller and wired correctly (I assume). Screen works fine with the has_no_mosi option, but I cant get the touch function working. Is there a touch example I could try? I tried the examples in the librarie without succes.

Weak glow of led tapes

Good day. Your project is nice, but the led strip only lights up to 50% after setting it to 100%. Which is a great shame that they are not working at full capacity. Otherwise dimming etc is great. Please help. Thank you

use of enum 'lightStatus_t' without previous declaration

I keep running into this error and searching the web for a solution but to know avail.

I am using Arduino IDE 1.8.7 (Windows Store 1.18.15) and the latest version of Aquacontrol32.

Below is the error message log.

Arduino: 1.8.7 (Windows Store 1.8.15.0) (Windows 10), Board: "LOLIN D32, Default, 80MHz, 921600, None"

aquacontrol32:114:6: error: use of enum 'lightStatus_t' without previous declaration

enum lightStatus_t

  ^

aquacontrol32:119:39: error: 'lightStatus_t' does not name a type

const char lightStatusToString( const lightStatus_t status )

                                   ^

aquacontrol32:119:60: error: two or more data types in declaration of 'lightStatusToString'

const char lightStatusToString( const lightStatus_t status )

                                                        ^

aquacontrol32:115:1: error: expected unqualified-id before '{' token

{

^

aquacontrol32:119:39: error: 'lightStatus_t' does not name a type

const char lightStatusToString( const lightStatus_t status )

                                   ^

C:\Users\Tom\Documents\Arduino\aquacontrol32\aquacontrol32.ino: In function 'const char lightStatusToString(int)':

aquacontrol32:123:10: error: 'LIGHTS_OFF' was not declared in this scope

 case LIGHTS_OFF:   return PSTR(" LIGHTS OFF");

      ^

In file included from C:\Users\Tom\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.0\cores\esp32/WString.h:29:0,

             from C:\Users\Tom\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.0\cores\esp32/Arduino.h:150,

             from sketch\aquacontrol32.ino.cpp:1:

C:\Users\Tom\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.0\cores\esp32/pgmspace.h:36:25: error: invalid conversion from 'const char*' to 'char' [-fpermissive]

#define PSTR(s) (s)

                     ^

C:\Users\Tom\Documents\Arduino\aquacontrol32\aquacontrol32.ino:123:31: note: in expansion of macro 'PSTR'

 case LIGHTS_OFF:   return PSTR(" LIGHTS OFF");

                           ^

aquacontrol32:124:10: error: 'LIGHTS_ON' was not declared in this scope

 case LIGHTS_ON:    return PSTR(" LIGHTS ON ");

      ^

In file included from C:\Users\Tom\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.0\cores\esp32/WString.h:29:0,

             from C:\Users\Tom\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.0\cores\esp32/Arduino.h:150,

             from sketch\aquacontrol32.ino.cpp:1:

C:\Users\Tom\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.0\cores\esp32/pgmspace.h:36:25: error: invalid conversion from 'const char*' to 'char' [-fpermissive]

#define PSTR(s) (s)

                     ^

C:\Users\Tom\Documents\Arduino\aquacontrol32\aquacontrol32.ino:124:31: note: in expansion of macro 'PSTR'

 case LIGHTS_ON:    return PSTR(" LIGHTS ON ");

                           ^

aquacontrol32:125:10: error: 'LIGHTS_AUTO' was not declared in this scope

 case LIGHTS_AUTO:  return PSTR("LIGHTS AUTO");

      ^

In file included from C:\Users\Tom\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.0\cores\esp32/WString.h:29:0,

             from C:\Users\Tom\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.0\cores\esp32/Arduino.h:150,

             from sketch\aquacontrol32.ino.cpp:1:

C:\Users\Tom\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.0\cores\esp32/pgmspace.h:36:25: error: invalid conversion from 'const char*' to 'char' [-fpermissive]

#define PSTR(s) (s)

                     ^

C:\Users\Tom\Documents\Arduino\aquacontrol32\aquacontrol32.ino:125:31: note: in expansion of macro 'PSTR'

 case LIGHTS_AUTO:  return PSTR("LIGHTS AUTO");

                           ^

C:\Users\Tom\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.0\cores\esp32/pgmspace.h:36:25: error: invalid conversion from 'const char*' to 'char' [-fpermissive]

#define PSTR(s) (s)

                     ^

C:\Users\Tom\Documents\Arduino\aquacontrol32\aquacontrol32.ino:126:31: note: in expansion of macro 'PSTR'

 default:           return PSTR(" UNDEFINED ");

                           ^

C:\Users\Tom\Documents\Arduino\aquacontrol32\aquacontrol32.ino: At global scope:

aquacontrol32:177:1: error: 'lightStatus_t' does not name a type

lightStatus_t lightStatus;

^

C:\Users\Tom\Documents\Arduino\aquacontrol32\aquacontrol32.ino: In function 'void setup()':

aquacontrol32:234:33: error: no matching function for call to 'Adafruit_ILI9341::begin(int, SPIClass&)'

tft.begin( TFT_SPI_CLOCK, SPI );

                             ^

In file included from C:\Users\Tom\Documents\Arduino\aquacontrol32\aquacontrol32.ino:7:0:

C:\Users\Tom\Documents\Arduino\libraries\Adafruit_ILI9341/Adafruit_ILI9341.h:131:17: note: candidate: virtual void Adafruit_ILI9341::begin(uint32_t)

     void    begin(uint32_t freq=0);

             ^

C:\Users\Tom\Documents\Arduino\libraries\Adafruit_ILI9341/Adafruit_ILI9341.h:131:17: note: candidate expects 1 argument, 2 provided

C:\Users\Tom\Documents\Arduino\aquacontrol32\dimmertask.ino: In function 'void dimmerTask(void*)':

dimmertask:42:3: error: 'lightStatus' was not declared in this scope

lightStatus = LIGHTS_AUTO;

^

dimmertask:42:17: error: 'LIGHTS_AUTO' was not declared in this scope

lightStatus = LIGHTS_AUTO;

             ^

C:\Users\Tom\Documents\Arduino\aquacontrol32\dimmertask.ino: In function 'void lightsOn()':

dimmertask:137:3: error: 'lightStatus' was not declared in this scope

lightStatus = LIGHTS_ON;

^

dimmertask:137:17: error: 'LIGHTS_ON' was not declared in this scope

lightStatus = LIGHTS_ON;

             ^

C:\Users\Tom\Documents\Arduino\aquacontrol32\dimmertask.ino: In function 'void lightsOff()':

dimmertask:148:3: error: 'lightStatus' was not declared in this scope

lightStatus = LIGHTS_OFF;

^

dimmertask:148:17: error: 'LIGHTS_OFF' was not declared in this scope

lightStatus = LIGHTS_OFF;

             ^

C:\Users\Tom\Documents\Arduino\aquacontrol32\dimmertask.ino: In function 'void lightsAuto()':

dimmertask:153:3: error: 'lightStatus' was not declared in this scope

lightStatus = LIGHTS_AUTO;

^

dimmertask:153:17: error: 'LIGHTS_AUTO' was not declared in this scope

lightStatus = LIGHTS_AUTO;

             ^

C:\Users\Tom\Documents\Arduino\aquacontrol32\tfttask.ino: In function 'void showMenu()':

tfttask:155:10: error: 'lightStatus_t' does not name a type

static lightStatus_t displayedLightStatus;

      ^

tfttask:168:5: error: 'displayedLightStatus' was not declared in this scope

 displayedLightStatus = lightStatus;

 ^

tfttask:168:28: error: 'lightStatus' was not declared in this scope

 displayedLightStatus = lightStatus;

                        ^

tfttask:181:8: error: 'displayedLightStatus' was not declared in this scope

if ( displayedLightStatus != lightStatus )

    ^

tfttask:181:32: error: 'lightStatus' was not declared in this scope

if ( displayedLightStatus != lightStatus )

                            ^

C:\Users\Tom\Documents\Arduino\aquacontrol32\tfttask.ino: In function 'void showStatus()':

tfttask:233:10: error: 'lightStatus_t' does not name a type

static lightStatus_t displayedLightStatus;

      ^

C:\Users\Tom\Documents\Arduino\aquacontrol32\tfttask.ino: In function 'void drawMenuButtons()':

tfttask:431:24: error: 'lightStatus' was not declared in this scope

tempButton.color = ( lightStatus == LIGHTS_ON ) ? ILI9341_RED : ILI9341_BLUE;

                    ^

tfttask:431:39: error: 'LIGHTS_ON' was not declared in this scope

tempButton.color = ( lightStatus == LIGHTS_ON ) ? ILI9341_RED : ILI9341_BLUE;

                                   ^

tfttask:435:39: error: 'LIGHTS_OFF' was not declared in this scope

tempButton.color = ( lightStatus == LIGHTS_OFF ) ? ILI9341_RED : ILI9341_BLUE;

                                   ^

tfttask:439:39: error: 'LIGHTS_AUTO' was not declared in this scope

tempButton.color = ( lightStatus == LIGHTS_AUTO ) ? ILI9341_RED : ILI9341_BLUE;

                                   ^

C:\Users\Tom\Documents\Arduino\aquacontrol32\webservertask.ino: In lambda function:

webservertask:293:67: error: 'lightStatus' was not declared in this scope

   response->printf( "%s\n%s\n", timeStr, lightStatusToString( lightStatus ) );

                                                               ^

C:\Users\Tom\Documents\Arduino\aquacontrol32\webservertask.ino: In lambda function:

webservertask:462:68: error: 'lightStatus' was not declared in this scope

   return request->send( 200, HTML_HEADER, lightStatusToString( lightStatus ) );

                                                                ^

webservertask:462:82: error: return-statement with a value, in function returning 'void' [-fpermissive]

   return request->send( 200, HTML_HEADER, lightStatusToString( lightStatus ) );

                                                                              ^

webservertask:468:68: error: 'lightStatus' was not declared in this scope

   return request->send( 200, HTML_HEADER, lightStatusToString( lightStatus ) );

                                                                ^

webservertask:468:82: error: return-statement with a value, in function returning 'void' [-fpermissive]

   return request->send( 200, HTML_HEADER, lightStatusToString( lightStatus ) );

                                                                              ^

webservertask:474:68: error: 'lightStatus' was not declared in this scope

   return request->send( 200, HTML_HEADER, lightStatusToString( lightStatus ) );

                                                                ^

webservertask:474:82: error: return-statement with a value, in function returning 'void' [-fpermissive]

   return request->send( 200, HTML_HEADER, lightStatusToString( lightStatus ) );

                                                                              ^

Multiple libraries were found for "SSD1306.h"
Used: C:\Users\Tom\Documents\Arduino\libraries\ESP8266_and_ESP32_Oled_Driver_for_SSD1306_display
Not used: C:\Users\Tom\Documents\Arduino\libraries\esp8266-oled-ssd1306-3.2.5
Not used: C:\Users\Tom\Documents\Arduino\libraries\arduino_880236
Multiple libraries were found for "WiFi.h"
Used: C:\Users\Tom\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.0\libraries\WiFi
Not used: C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.15.0_x86__mdqgnx93n4wtt\libraries\WiFi
exit status 1
use of enum 'lightStatus_t' without previous declaration

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

Please advise.

error when upload to esp32

Hello
im interest in this project and when i tried it this error occurs

c:/users/kamal/appdata/local/arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/bin/../lib/gcc/xtensa-esp32-elf/5.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: C:\Users\kamal\AppData\Local\Temp\arduino_build_676954/aquacontrol32.ino.elf section .dram0.bss' will not fit in region dram0_0_seg'

c:/users/kamal/appdata/local/arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/bin/../lib/gcc/xtensa-esp32-elf/5.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: DRAM segment data does not fit.

c:/users/kamal/appdata/local/arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/bin/../lib/gcc/xtensa-esp32-elf/5.2.0/../../../../xtensa-esp32-elf/bin/ld.exe: region `dram0_0_seg' overflowed by 29192 bytes

can you help me with this issue?

regard

kamal

Feature check

Hello, thank you very much for your project, I´m testing it, and for now it is great!

I would like to know the maximum number of channels, and if is possible to add channels, for simple ON/OFF (with timers)?
I have tested and I can switch it without "fadein/fadeout" but I dont have a button on web for single (temporary) on/off.

My current setup is:

  • lights with 3 channels controlled by pwm
  • 3 temperature sensors DS18B20 (Water, Leds, pwm drivers)
  • 8 relay board for 230V switch, 4 currently in use (Heater, Filter, CO2, Skimmer)

I´m electronic technician , and my programming skills are limited for now, a help is much appreciated ! :)

Thanks in advance!

[FIXED] Core feature, custom led program uploading does not work

Hello,

Probably I'm doing something wrong but I got a problem with the key feature of the aquacontrol32.
Oled works, Lights_ON works, but if i'm going in Lights_auto mode and i try to upload new timers to the controller, it doesn't do anything. If I go to another webpage and back to the editor, the timers I set before have vanished.

What could be going wrong?

Thanks for your reply.

Moon light setup

**aquacontrol version: 1.6.6
**Arduino IDE version: 1..8.12
**ESP32 Arduino core version:1.0.4

The Readme tells "Moon light settings can be adjusted in the channels area of the web-interface" but I can't figure out how. Maybe the problem lies between chair and computer, I can't find any setting related to moon light on this area of the web interface that I could change. It only shows the percentage of illumonation and a picture of the moon phase. In the lower area I can change the channel names and colors. Can you clarify how the moon light setup is supposed to work?

Thanks for your help and this great project

#define SKETCH_VERSION "0.0.2" gets stuck

Compiling and uploading sketch "version 0.0.2" runs flawlessly.
Start up of controller seems to get stuck. Serial monitor output:

ets Jun 8 2016 00:22:57

rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:812
load:0x40078000,len:0
load:0x40078000,len:11392
entry 0x40078a9c

SmartConfig does not work

aquacontrol version: v1.6.6

Arduino IDE version: 1.8.11

ESP32 Arduino core version: 1.0.3 -1.04-master

The issue is:
SmartConfig does not work

Debug log:

ets Jun  8 2016 00:22:57

rst:0x1 (POWERON_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:1044
load:0x40078000,len:8896
load:0x40080400,len:5816
entry 0x400806ac
[I][aquacontrol32.ino:270] setup(): aquacontrol32 v1.6.6-master
[I][aquacontrol32.ino:271] setup(): ESP32 SDK: v3.2.3-14-gd3e562907
[E][Preferences.cpp:457] getBytesLength(): nvs_get_blob len fail: tftbrightness NOT_FOUND
[E][Preferences.cpp:437] getString(): nvs_get_str len fail: tftorientation NOT_FOUND
[I][aquacontrol32.ino:296] setup(): Forced an ILI9341 display on SPI.
[I][aquacontrol32.ino:314] setup(): Found SSD1306 OLED on I2C at address 0x3c.
[E][Preferences.cpp:437] getString(): nvs_get_str len fail: oledorientation NOT_FOUND
[I][aquacontrol32.ino:352] setup(): FFat mounted.
[E][WiFiSTA.cpp:219] begin(): connect failed!
[I][wifitask.ino:28] wifiTask(): Waiting 300 seconds for SmartConfig.
[W][WiFiGeneric.cpp:353] _eventCallback(): Reason: 15 - 4WAY_HANDSHAKE_TIMEOUT
[I][wifitask.ino:64] wifiTask(): WiFi connected to '' 0.0.0.0 B4:E6:2D:97:A8:4D
[E][Preferences.cpp:437] getString(): nvs_get_str len fail: hostname NOT_FOUND
[E][ESPmDNS.cpp:72] begin(): Failed setting MDNS hostname
[I][webservertask.ino:688] setupMDNS(): Looking for: aquacontrol32-97A84D.local...
[I][webservertask.ino:696] setupMDNS(): Setting up aquacontrol32-97A84D in mDNS.
[E][Preferences.cpp:437] getString(): nvs_get_str len fail: timezone NOT_FOUND

Additional information:
Reason: 15 - 4WAY_HANDSHAKE_TIMEOUT is a new one for me.

Flashing Nodemcu

Hello, I'm trying to flash a Nodemcu but I'm getting this error even if I press the flash button on the board:

A fatal error occurred: Timed out waiting for packet header

What am I doing wrong?

Thanks for putting so much effort into this project, I appreciate your help.

Pindefinition not Clear

Hey,
i am on the way to make for your Project an Fritzing Connection scheme but actually i have a Problem with PIN 12 in Master/devicePinSetup i see the following line

#define SPI_TFT_RST_PIN 12 /* Goes to TFT RESET */

but i cant find anywhere a description of that pin... not on the Pinout on the web or in the PIN-Description of the Arduino ESP 1.0.4 Core Package. can you please describe or change the title to the Original Board Marking like so:

#define SPI_SCK_PIN 25 /* Goes to TFT SCK/CLK, Board PIN IO25*/
#define SPI_MOSI_PIN 32 /* Goes to TFT MOSI, Board PIN IO32 /
#define SPI_TFT_RST_PIN 12 /
Goes to TFT RESET, Board PIN ??GPIO12/TDI?? /
#define SPI_TFT_CS_PIN 4 /
Goes to TFT CS,Board PIN IO4 /
#define SPI_SD_CS_PIN 0 /
Goes to SD CS,Board PIN IO0 /
#define SPI_MISO_PIN 39 /
Goes to TFT MISO,Board PIN ??SVN/GPIO39?? /
#define TOUCH_CS_PIN 33 /
Goes to TFT T_CS,Board PIN IO33 /
#define TOUCH_IRQ_PIN 35 /
Goes to TFT T_IRQ, Board PIN IO35 */

That willl be very helpfull, thank for your Hard work.
If iam ready then you can upload something like this:
fritzing aqua

Actually this is only Prototyping not the endproduct.

OLED setup in web interface.

  1. The OLED screen has 2 modes, selected with ( OLED_SHOW_SYSTEMDATA ) in deviceSetup.h which should be selectable from the web interface.
  2. The address on the bus ( OLED_ADDRESS ) should be selectable in the web interface.

connect to wifi

Hello. I like the project, but it won't connect to wifi even though the compilation runs fine without errors and the password and ssid are correct. Thanks in advance for your help

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.