Netduino home hardware projects downloads community

Jump to content


The Netduino forums have been replaced by new forums at community.wildernesslabs.co. This site has been preserved for archival purposes only and the ability to make new accounts or posts has been turned off.
Photo

Installing application over TCP


  • Please log in to reply
10 replies to this topic

#1 Inquisitor

Inquisitor

    Advanced Member

  • Members
  • PipPipPip
  • 91 posts
  • LocationAtlanta, Georgia, USA

Posted 25 July 2011 - 11:50 AM

I've got my Netduino Plus over this weekend... and I feel like I've worn it out! :rolleyes:

Question
Is it possible to install the application over the network connection (instead of the USB)? I see that the .NET Micro Framework Deployment Tool has TCP/IP under the Device dropdown, but my device won't show up.

My real world case... the Netduino Plus would be connected on the other end of the Internet (say... at my bungalow in Tahiti or my ski chalet in Aspen “work with me here!”) And I know this might shock you… but I’ve been writing code for close to forty years and I still don’t write perfect code! I want to be able to upgrade the code remotely. Is it possible?
Doing my best to keep the smoke in the little black boxes.
If my message helped you... how 'bout giving me a Posted Image
www.MessingWithReality.com

#2 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 25 July 2011 - 08:16 PM

Hi Inquisitor, The TCP/IP bootloader requires too much flash, so we can't fit it on a small board like Netduino Plus. We don't recommend deploying and debugging code remotely, as it's hard to press the reboot button (which is sometimes necessary). Although I'm sure that several community members would love to visit your chalet in Aspen and would be happy to press the reboot button on demand while there ;) Chris

#3 dougY

dougY

    Member

  • Members
  • PipPip
  • 19 posts

Posted 26 July 2011 - 06:07 PM

any chance we could design a break out for something like this?

somebody have more insight on what that would require from an engineering standpoint?

The TCP/IP bootloader requires too much flash, ...

how much are you talking about? is that something that could fit on a BOB that wouldnt break the bank?


i see this being a blocker on any commercial application of the netduino.
at least its a pretty big problem on my own project.

how can you deploy hundreds of these in the field if you cant remotely administrate the software?

alternately --> how hard do you think it would be to write a downloadable exe that could reflash the device? (lets not even talk about porting it to linux/MAC..etc)
i suppose some end users would be able to run some software on a USB attached PC much like they might update their router firmware.

#4 Sebastian Renzi

Sebastian Renzi

    New Member

  • Members
  • Pip
  • 1 posts

Posted 17 August 2011 - 11:28 PM

Hello everyone, we are releasing this week the initial version of a product that will be installed in remote gas stations, with only GPRS connections. And one of the requirements is to send new software version remotely. Our product has a Netduino Plus and a GPRS Shield, is there a chance to download the new software version and update it remotely ? Thanks

#5 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 18 August 2011 - 01:33 AM

Hi Sebastian,

Hello everyone, we are releasing this week the initial version of a product that will be installed in remote gas stations, with only GPRS connections. And one of the requirements is to send new software version remotely. Our product has a Netduino Plus and a GPRS Shield, is there a chance to download the new software version and update it remotely ?

If you load your assembly dynamically using AppDomains, you can save updated DLLs on the MicroSD card remotely--and then reboot the device via code (and reload the assemblies on boot).

How big is your code?

Chris

#6 dougY

dougY

    Member

  • Members
  • PipPip
  • 19 posts

Posted 15 September 2011 - 07:22 AM

Hi Sebastian,

If you load your assembly dynamically using AppDomains, you can save updated DLLs on the MicroSD card remotely--and then reboot the device via code (and reload the assemblies on boot).

How big is your code?

Chris


chris, you are the wind beneath my wings.

let me rephrase/requery your response:

1. my netduino app executes an "ET phone home" and decides an update is in order.
2. it downloads the new DLL and saves it to its SD card writing over the pre-existing dll.
3. then the magic happens... which is basically a routine that uses reflection to mount the new dll off the SD card? or a straight reboot of some code that already looks to load that dll? i dont know.

please expand step 3 for us mere mortals in pseudocode.


help an ignorant plebe and i will upload my sacred clam pizza pie recipe.
along with a promise to upload my own solution to this conundrum should i be man enough to solve it.

or maybe i just show up at the maker faire this weekend in NYC and you fight me in hand to hand combat.
its all up to you. or maybe me. i am not sure.

#7 George Antoniadis

George Antoniadis

    Member

  • Members
  • PipPip
  • 25 posts

Posted 15 September 2011 - 09:36 AM

Hey, I was looking for the same thing and stumbled upon this thread by Chris: http://forums.netdui...nd-sample-apps/ This is essentially an app that tries to dynamically load a PE application and execute it. It works perfectly in 4.1.x but not in 4.2 (http://forums.netdui...der-and-42beta/) I modified it a bit so that when it boots it has two options, run the core application or if it doesn't exist or cannot load, load a recovery.pe that will connect to a server and download the core.pe again and reboot. I'll try to make a complete example in the next couple of days and post it. If you have any luck/questions please post! ^_^

#8 Robert L.

Robert L.

    Advanced Member

  • Members
  • PipPipPip
  • 100 posts

Posted 12 November 2011 - 04:26 PM

Hi Inquisitor,

The TCP/IP bootloader requires too much flash, so we can't fit it on a small board like Netduino Plus.

We don't recommend deploying and debugging code remotely, as it's hard to press the reboot button (which is sometimes necessary). Although I'm sure that several community members would love to visit your chalet in Aspen and would be happy to press the reboot button on demand while there ;)

Chris


I would think the following could work, but unfortunately I do know enough yet about the Netduino to try writing this:

If the bootloader is not needed to be changed often, then perhaps a version of it could be written that goes to a boot directory on the SD card, flashes a new ER_CONFIG and ER_FLASH, if necessary, and then flashes a new copy of the application, if needed, before starting the system running.

Operating system softwre and/or firmware versions could then be downloaded, checked for errors, and then moved to the boot directory, just before a reboot.

#9 DarkHalf

DarkHalf

    New Member

  • Members
  • Pip
  • 2 posts

Posted 11 May 2012 - 10:34 AM

Hey,

I was looking for the same thing and stumbled upon this thread by Chris:
http://forums.netdui...nd-sample-apps/

This is essentially an app that tries to dynamically load a PE application and execute it.
It works perfectly in 4.1.x but not in 4.2 (http://forums.netdui...der-and-42beta/)

I modified it a bit so that when it boots it has two options, run the core application or if it doesn't exist or cannot load, load a recovery.pe that will connect to a server and download the core.pe again and reboot.

I'll try to make a complete example in the next couple of days and post it.
If you have any luck/questions please post! ^_^



Was there any movement on this? 4.2+ support would be wonderful.

#10 Chris Walker

Chris Walker

    Secret Labs Staff

  • Moderators
  • 7767 posts
  • LocationNew York, NY

Posted 11 May 2012 - 02:25 PM

Was there any movement on this? 4.2+ support would be wonderful.

We're currently trying to get this to work with the Ethernet module and Netduino Go... Sample chips for the Ethernet modules will arrive here Monday (yay!) so we'll be beating down this path again soon.

If we can get it up and running there, we may be able to back-port the feature to Netduino Plus. I don't know if there's enough flash/RAM to make that happen...but we can explore :)

Chris

#11 DarkHalf

DarkHalf

    New Member

  • Members
  • Pip
  • 2 posts

Posted 14 May 2012 - 07:43 AM

We're currently trying to get this to work with the Ethernet module and Netduino Go... Sample chips for the Ethernet modules will arrive here Monday (yay!) so we'll be beating down this path again soon.

If we can get it up and running there, we may be able to back-port the feature to Netduino Plus. I don't know if there's enough flash/RAM to make that happen...but we can explore :)

Chris



Yes of course. Would be interesting to be able to "send" updates to a netduino deployed somewhere, though as you mention the flash/RAM is tight. I must get out of the mindset of a Windows C# coder!

Thanks for the update :)




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

home    hardware    projects    downloads    community    where to buy    contact Copyright © 2016 Wilderness Labs Inc.  |  Legal   |   CC BY-SA
This webpage is licensed under a Creative Commons Attribution-ShareAlike License.