I have an Arduino in a remote location and would like to upload new code via GPRS (a SIM900 is connected to the Arduino via tx/rx serial interface). I was thinking about putting the .hex file (or some format) on a webserver and Arduino will automatically check once a day if there is a new sketch available. If a newer sketch is available, the Arduino will download and update itself. I am clueless of how to accomplish this.
Can anyone point me in the right direction? Maybe even someone have accomplished this already and can share their knowledge?
Hi i'm in the same situation.
I'd like to send via sms a command which connects arduino to internet and it checks if there are new updates available.
I don't know where to start, i read something about upgrading arduino via ethernet but i don't know if that process can be adapted to our situation.
Hello!
I was thinking in implementing this for my project.
A solution could be a second arduino with kind of a bootloader in it.
This "bootloader" must be capable of:
using the modem to retrieve data
program the main arduino via ISCP or some
So the process could be:
The modem connected to both arduinos.
The startup process is managed by the secondary arduino
When you power on the system, only the secondary arduino starts. It must intialize the modem, and check if there are any updates
If not, the secondary arduino restarts de modem and starts up the main arduino
If there are updates, it must download the hex file, and reprogram the Main arduino. When it's done, symply it restarts the whole system.
If you need to update while it's working, the Main arduino could check if the main server has updates in order to do a self-reset and force the update process.
This bootloader thing seems to be a standar procedure, I dont know if there are any sketch that do this; but could be.