Remote dumping of codes using GSM or RF

HI All -

Thanks in advance for taking out your time to read this post and suggest an idea.

I,m having a installation which is on a tall structure around 85 meters above the ground(we need to take stairs to reach), and some times we need to change and upload the codes, it is tedious.

Wondering, if there is a way we can upload the codes from ground either using RF or GSM.

Best,

Ramesha

Is it thinkable to use any kind of link, 85 meters long, from the installation down to ground making updating, services etc. more easy? What communication speed do You need? Using cables ought to be easier than using RF. It must be possible. Mankind walked on the moon 50 years ago…. Here we ask for a distance of 85 meters...

Railroader:
Is it thinkable to use any kind of link, 85 meters long, from the installation down to ground making updating, services etc. more easy? What communication speed do You need? Using cables ought to be easier than using RF. It must be possible. Mankind walked on the moon 50 years ago…. Here we ask for a distance of 85 meters...

It is planned to install at 375 locations, so running a cable is not going to be easy, speed is not a constraint, but we want to dump the code from a remote location on to controller

rockwellramesha:
, but we want to dump the code from a remote location on to controller

I think you mean "upload a new program to the Arduino". I think most people will think that "dump" means getting the code FROM the Arduino.

In any case, would the project support the cost of a pair of Arduinos at each location. One of them could have an un-changing program that receives the code and uploads it to the other Arduino?

...R

Are those 375 already built and ready? If so, any communication arrangement must be brought up to the top at least once.
Aren't they built things will be more handy.

Robin2:
I think you mean "upload a new program to the Arduino". I think most people will think that "dump" means getting the code FROM the Arduino.

In any case, would the project support the cost of a pair of Arduinos at each location. One of them could have an un-changing program that receives the code and uploads it to the other Arduino?

...R

Yes, project can afford more than a pair of Arduinos and any other hardwares required.

please let know on un-changing program concept

Railroader:
Are those 375 already built and ready? If so, any communication arrangement must be brought up to the top at least once.
Aren't they built things will be more handy.

We have to build(execution is being planned), for maintenance or any upgrade or change, we have to climb up 85 meters once to install, but it would be a pain to go up every day if there are many installation requiring maintenance

High up on a tower suggests a nasty electrical environment.
Lightning, ground resistances etc.

Lots of protection and shielding needed.

Robin’s idea of a second loader coprocessor - maybe something with a GPRS modem, so you can deploy the new code via data - then when needed, the loader can reflash the local processor*
This’ll add about $100 per unit including the loader, modem and IP rated enclosure. Software extra. Deployment method extra.

  • keep in mind the avrdude emulation in most examples only support the 328 cpu for memory size. Larger flash models need something closer to the real avrdude uploader to support the segmented upload strategy.

rockwellramesha:
please let know on un-changing program concept

Study this Arduino to Breadboard link to get some ideas. You will see how an Uno is used as a programmer for an Atmega 328. I'm not saying that you must do it like that, it is just to get you thinking. Obviously the ArduinoISP program would need considerable modification to accept code by wireless.

I believe some people upload code using Bluetooth modules and it would be worth finding those Threads and studying them. Again, just for the purpose of getting ideas. Bluetooth is just serial-by-wireless so you should be able to do much the same with some of the 433MHz modules that would have the range you need.

...R

lastchancename:
High up on a tower suggests a nasty electrical environment.
Lightning, ground resistances etc.

Lots of protection and shielding needed.

Robin’s idea of a second loader coprocessor - maybe something with a GPRS modem, so you can deploy the new code via data - then when needed, the loader can reflash the local processor*
This’ll add about $100 per unit including the loader, modem and IP rated enclosure. Software extra. Deployment method extra.

  • keep in mind the avrdude emulation in most examples only support the 328 cpu for memory size. Larger flash models need something closer to the real avrdude uploader to support the segmented upload strategy.

Thanks! we have installations at these locations with all protections for more than a year, every thing is stabilized - no issues on that front.

We had few installations, now we are expanding to 375 locations, so it has become very critical that, we have to look for ways to upload the codes from ground, and hence this exercise.

Spending 100$ additionally per unit is not an issue! now need to understand - your advise "when needed, the loader can reflash the local processor" and our solution is on 328CPU(our memory requirement is well within) - pl advise on avrdude uploader to support the segmented upload strategy (may be a simple hand written configuration would help).

Thanks

AVRDUDE emulator - e.g. AVRisp- to completely reflash the target - boot loader and/or all using SPI,
OR
Some other ideas
Instructable
The goal being to use a 'host' Arduino to reprogram another 'target' Arduino...
which applies the avrdude protocol on a 328 - to send a sketch to the target 328.
The target must already have the bootloader installed for the latter 'serial' examples.

I have to admit I haven't needed either of these - as I use ATMEL ISP tools and larger processors - but the scheme is legit. Just remember most avrdude emulators may be compatible only with the memory size & architecture of smaller targets.

lastchancename:
AVRDUDE emulator - e.g. AVRisp- to completely reflash the target - boot loader and/or all using SPI,
OR
Some other ideas
Instructable
The goal being to use a 'host' Arduino to reprogram another 'target' Arduino...
which applies the avrdude protocol on a 328 - to send a sketch to the target 328.
The target must already have the bootloader installed for the latter 'serial' examples.

I have to admit I haven't needed either of these - as I use ATMEL ISP tools and larger processors - but the scheme is legit. Just remember most avrdude emulators may be compatible only with the memory size & architecture of smaller targets.

Thanks for your time, this part I'm aware,we do it to upload codes to ATTiny.

But let know how do we transfer the code from a remote location? via RF

This where you have to do some work...
I’d suggest GPRS data (3/4G cellular) to distributethe new code to each node, then let the local equipment handle the reflash e g when appropriate - on command or scheduled.
Also suggest a lot of testing and double buffering (ability to roll back automatically) to the old code, so the target isn’t restarted until new code update is confirmed.
Consider an upload problem that costs $200 (minimum) to fix on each site.
$70K to rectify a dud update rollout

lastchancename:
This where you have to do some work...
I’d suggest GPRS data (3/4G cellular) to distributethe new code to each node, then let the local equipment handle the reflash e g when appropriate - on command or scheduled.
Also suggest a lot of testing and double buffering (ability to roll back automatically) to the old code, so the target isn’t restarted until new code update is confirmed.
Consider an upload problem that costs $200 (minimum) to fix on each site.
$70K to rectify a dud update rollout

Thank you for your valuable time, appreciated.

There are commercially available boards that will upload from an SD card to an Arduino. If you don't mind physically going to each tower, you could carry one of these to the tower.