I'm looking for a little feasibility feedback with a revamp of a project I've got. I have a simple auto top off project I built a while back and am looking to take it to the next level.
At a high level here are the inputs and outputs I have: Inputs: 1x temperature sensor, 1x float switch, 1x flow sensor, and 1x cherry switch Outputs: 2x LEDs and 1x relay switch
Here's what I'm doing today: 1) The arduino controls the relay switch based upon the status of the float switch. This turns on and off the relay to turn on/off a solenoid which controls the water. I have added in some electronic delays (e.g. 10 seconds using a capacitors, resisters, and Schmitt trigger) to the float switch to prevent the water sloshing from turning on and off the solenoid too much. 2) The cherry switch (also using a capacitor/resister/schmitt trigger to debounce) is in the form of a button that will allow me to manually turn on and off the relay to manually fill the pond (or to keep it off). 3) I use the 2x LEDs to indicate the power of the system and the current status of the relay (one of the LEDs stays lit while the other flashes when the relay is on). 4) I am not doing anything with the temp or flow sensors at the moment, although they are wired into the GPIO
Here's what I'm attempting to do: 1) I would like to start logging (preferably to a website somewhere) the current state of the float switch, the temp sensor value, and the current water flow. I would like to take a reading every minute or so. The website can do the analytics and/or alerting to let me know if the pond is using an abnormal about of water and/or I have a leak (meaning the solenoid is off, but the flow sensor is running) 2) I would like to setup an API that will allow me to remotely send commands to the device (e.g. turn the relay switch on or off). This could be triggered by the leak detection on an external website (or something like that)
I have played with using a seeduino cloud to connect to wifi to get all of this to work, but either my code is bad or the device doesn't have enough CPU to handle everything I'm looking to do. Whenever I code it in to do everything, either my input values get missed or the whole thing seems to lock up.
So my basic question is: - Am I trying to do to much on a single arduino which means I should I separate the logging and API stuff from the output/input control? or - Am I doing too much for the arduino platform entirely and should I start looking at alternatives like a Raspberry Pi or Beaglebone? or - Does my code/electrical design just suck and I need to redesign this thing (realizing that you haven't actually seen any real designs or code)?
Thanks in advance!