Go Down

Topic: Uploading sketch over internet (Read 1 time) previous topic - next topic

arif_1

What will be general way  to upload sketch over internet or wireless firmware upgrade?

What I understand from searching so far:

-Download and save the .hex file to the external flash memory.

-modify the bootloader to upload sketch from the flash.


is that a good starting point?

I don't know if its a trivial step or not, any clue suggestion will be appreciated.

oric_dan

#1
Dec 28, 2014, 07:35 pm Last Edit: Dec 29, 2014, 12:09 am by oric_dan
In general, this is difficult, and I've not seen any 'hacked-up' solutions that actually work. If you search on "arduino wireless programming" you'll find several (hacker) pages, like on adafruit, but none of those work worth poo, that I've seen. There are some commercial units for sale, and you might also look at the Moteino device from low power labs, which allows programming using RFM12 and RFM69 radios.

sorscode

I use this one with great success.

https://github.com/d0ughb0y/NetLoad

oric_dan

#3
Dec 29, 2014, 12:12 am Last Edit: Dec 29, 2014, 12:24 am by oric_dan
Cool, I've not seen that one. Looks like they use a special bootloader, like Moteino does. When I tried the various older "wireless programming" schemes, using avrdude and XBee for instance, I came to the conclusion that data was being lost due to limited buffering capability of the XBee modules and that avrdude was really not written to handle multiple possible retries due to RF link errors. However, I imagine Ethernet boards will not have such serious buffering limitations; data will be thoroughly buffered at both ends, and retries done automatically.

@sorscode, post #1 - good one! ... Does this work with router wifi RF connections, or only with direct Ethernet connections? How do you do it?


arif_1

you mentioned about buffering capability limitations. I feel that too. What happens in case of larger sketches? or not so reliable internet connections? Isn't it safer to save it to a local memory before?

I see the spark core has a on board flash memory, "SST25VF016B-75-4I-S2AF-T" of 16 mbit. Can I assume that they used it as a buffer? or as I was initially thinking, the sketch is downloaded and saved to the local memory first before flashing.

sorscode

So the way I use the mentioned bootloader on Arduino Megas with the Ethernet Shield. Now granted I don't have Ethernet ran everywhere I use the Megas, so I use this neat little device.

http://www.netgear.com/home/products/connected-entertainment/gaming-home-theater/WNCE2001.aspx

Best Buy awhile back had them on sale for $10-15 a piece, and I bough a stock pile of them. I have a VLAN in my house along with a specific hidden SSID just for all my Arduino Controllers.

CatweazleNZ

Hi

I have a remote Arduino system plugged into a USB port on my remote server that runs 24 hours a day. The remote server has the Arduino development software installed.

I update the remote Arduino system by logging in with remote desktop to the remote server, copying the Arduino sketch and library files to the server and then recompling/uploading the sketch on the server to the remote Arduino system.

Since the remote Arduino system has an integrated ethernet shield I can log into it remotely via a browser for testing - or I can test it locally using the browser on the server.

Cheers

Catweazle NZ

KappaTseng

hello,
do you have any result ?
i also try to upload the sketch via network , but i have no idea on choosing board.
Can you give me any advice?

Lennyz1988

#8
May 19, 2017, 02:51 pm Last Edit: May 19, 2017, 07:30 pm by Lennyz1988
hello,
do you have any result ?
i also try to upload the sketch via network , but i have no idea on choosing board.
Can you give me any advice?
An ESP8266 can do this without any problems.

cbrandt

Do have a look at ArduRF1, they implemented wireless upload in their bootloader

Go Up