0
\$\begingroup\$

I know, the question is very vague, but I'll try to explain better.

I'm working in a school project and I got interested in continuing this project after school. It's a automatic aquarium. I want to control everything that happens in a aquarium, so I used an Arduino Uno connected to some sensors and some activators - sorry, I don´t know the right terms.

Everything works ok.

But... I got the idea to control this system remotely, connecting it to the internet through a wifi connection using an wifi shield. Ok, seems possible to do, but I also want to change all "program" remotely. I mean, the user, by a site or app, would be able to select a fish and the Arduino would change all the environment to better grow that specie. And I imagine it requires a "reprogramming" of Arduino and its seems impossible to be done by wifi connection.

So... The question is:

  1. Can I achieve it using an Arduino? What version of Arduino? And How?
  2. If its impossible to achieve it with an Arduino, how could I achieve it?
\$\endgroup\$
2
  • 1
    \$\begingroup\$ Why reprogram the arduino for each new fish? If you get an arduino with enough space you can write an 'if' statement for each fish and then send a command via wifi to run that section of code. \$\endgroup\$
    – user103993
    Commented Oct 17, 2016 at 15:14
  • \$\begingroup\$ @Hayman I know, but I also think in use this approach to keep the Arduino updated with new features. I'm sure that I will want to change something in the software in the future. \$\endgroup\$
    – robsonrosa
    Commented Oct 17, 2016 at 15:37

2 Answers 2

5
\$\begingroup\$

There are high chances you don't need to reflash remotely. Just write a generic control algorithm supporting all target sensors and actuators, and let the user download configuration parameters which could be stored in EEPROM. Then update those parameters remotely.

If you insist on remote reflashing, you should also design a bootloader which takes a hand if the last reflashing attempt was unsuccessful. Otherwise your system will be easy to "brick".

\$\endgroup\$
1
  • \$\begingroup\$ The remote reflashing is also for update the software with new features. Thanks for the answer, I will research about you bootloader approach. :) \$\endgroup\$
    – robsonrosa
    Commented Oct 17, 2016 at 15:39
0
\$\begingroup\$

you should check out the ESP8266 boards, thay are cheap (around 3$ each) and has built-in wifi and can be programmed with the arduino IDE

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.