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

End User Configuration for Commercial Application


  • Please log in to reply
10 replies to this topic

#1 Humancell

Humancell

    Advanced Member

  • Members
  • PipPipPip
  • 39 posts
  • LocationUtah

Posted 03 January 2012 - 09:24 PM

I am working on a project based on the Netduino that I want to take commercial ... selling zillions of them. I am now investigating the best way to allow an end-user to buy the finished product, and configure it for use in their home or business.

I am looking at shipping the unit, with a USB cable, and maybe writing a cross-platform serial configuration application ... but I'm not sure if this is the best way to do it. I'm looking for tips on how I can best streamline this operation?

Right now it appears that I would have to tell the user to:
  • Install USB Drivers for Netduino
  • Install my config application
  • Locate the COM port on PC or Mac
  • Have config app talk to my Netduino code

All of this seems complex ... and in addition, I'm using both serial ports on the Netduino to talk to my shields. One of them is shared with the USB port ... right?

Any ideas or suggestions on how to make this as simple as possible?

#2 Valkyrie-MT

Valkyrie-MT

    Advanced Member

  • Members
  • PipPipPip
  • 315 posts
  • LocationIndiana, USA

Posted 04 January 2012 - 03:32 PM

All of this seems complex ... and in addition, I'm using both serial ports on the Netduino to talk to my shields. One of them is shared with the USB port ... right?


I think that's it. Interesting, so you're gonna right a custom app, not based on the MFDeploy source for firmware updates? That's on my To-Do list too. It's as simple as you might expect... Maybe you could include the driver install in the app installer. I don't think plugging in a USB cable is an unreasonable requirement.

-Valkyrie-MT

#3 Humancell

Humancell

    Advanced Member

  • Members
  • PipPipPip
  • 39 posts
  • LocationUtah

Posted 04 January 2012 - 03:58 PM

I think that's it. Interesting, so you're gonna right a custom app, not based on the MFDeploy source for firmware updates? That's on my To-Do list too. It's as simple as you might expect... Maybe you could include the driver install in the app installer. I don't think plugging in a USB cable is an unreasonable requirement.

-Valkyrie-MT


Oh man ... updates to firmware too, huh? It gets even more complex! :-)

The issue is that I have to know that the end-customer could be a pure Mac user too ... or Linux? If Netduino is going to succeed in being a platform for real commercial applications, then all of this has to be thought through, solved, and documented.

My end-customer buys my product, and they then need to tell my product about their Wifi Access Point (SSID and Key) ... how do they do this? I actually had a pretty good experience with a Withings bathroom scale this Christmas, and it was pretty simple ... plug the USB cable between the scale and my Mac or PC ... visit their website ... download and run an installer ... and it all just worked.

So now ... how do I create as clean of a solution?

#4 ColinR

ColinR

    Advanced Member

  • Members
  • PipPipPip
  • 142 posts
  • LocationCape Town, South Africa

Posted 05 January 2012 - 03:04 AM

The various platforms are the major issue. I have to work something out for firmware/software updates, but that will be mfdeploy based. As for user config - http was the answer (but cabled, not wifi - so default ip sorted that out)

#5 Bernie

Bernie

    Advanced Member

  • Members
  • PipPipPip
  • 40 posts

Posted 05 January 2012 - 04:24 PM

How technically savy are your users? The HTTP way maybe more difficult for the user if they have to mess around IPs. The USB solution, from the user's perspective, would be as simple as adding a new printer. Your installer program will install and register the Netduino driver, and then tell the user to plug in the device. Your installer then picks the Netduino off the list of active USB devices and begins communications with your product. From there you just capture the user's information and communicate that with your product. This could be done all in one program or you may split it into two programs. One that installs the Netduino USB driver and the other that configures the device. I think I'd go with the two proram solution so the configuration program can be used again later. This pattern works for PC, Mac, and Linux. Get the driver installed so the device will be recognized and then run the config program. Does this make any sense? Bernie

#6 ritchie

ritchie

    New Member

  • Members
  • Pip
  • 7 posts

Posted 05 January 2012 - 10:21 PM

The various platforms are the major issue. I have to work something out for firmware/software updates, but that will be mfdeploy based. As for user config - http was the answer (but cabled, not wifi - so default ip sorted that out)


Colin, did you determine if it was possible to do a firmware/software update over the network (cabled or otherwise)? That is a requirement for a project I'm working on here, and I'm not yet sure how to approach that. I guess ideally I'd like something like a router firmware update procedure via HTTP, but I don't know what is involved to jockey an image into flash memory. Maybe via SD somehow?

#7 Humancell

Humancell

    Advanced Member

  • Members
  • PipPipPip
  • 39 posts
  • LocationUtah

Posted 05 January 2012 - 10:53 PM

So it does appear that I could wait a little bit, and then use the new firmware with the HID support. Now, there is a sample app for Windows, and I would ahve to find similar for Mac and Linux, but it appears that the HID communication channels will allow a desktop/laptop application to communicate with the Netduino requiring no additional drivers! http://forums.netdui...tion-using-usb/

#8 ColinR

ColinR

    Advanced Member

  • Members
  • PipPipPip
  • 142 posts
  • LocationCape Town, South Africa

Posted 06 January 2012 - 05:26 AM

Colin, did you determine if it was possible to do a firmware/software update over the network (cabled or otherwise)? That is a requirement for a project I'm working on here, and I'm not yet sure how to approach that. I guess ideally I'd like something like a router firmware update procedure via HTTP, but I don't know what is involved to jockey an image into flash memory. Maybe via SD somehow?


No - I believe it is possible to write a base app that loads the code from the SD, then the update becomes a simple matter of updating the code on the SD. But base app takes up too much application space for my implementation, so I never took it further.

#9 Humancell

Humancell

    Advanced Member

  • Members
  • PipPipPip
  • 39 posts
  • LocationUtah

Posted 06 January 2012 - 04:36 PM

How technically savy are your users? The HTTP way maybe more difficult for the user if they have to mess around IPs. The USB solution, from the user's perspective, would be as simple as adding a new printer. Your installer program will install and register the Netduino driver, and then tell the user to plug in the device. Your installer then picks the Netduino off the list of active USB devices and begins communications with your product. From there you just capture the user's information and communicate that with your product.


I'm leaning more towards the USB HID route ... so that I don't require the driver. I found a cross platform USB HIB lib that I can use to create the install program ... we're going to experiment with this!

#10 samjones

samjones

    Advanced Member

  • Members
  • PipPipPip
  • 105 posts

Posted 06 February 2012 - 04:37 AM

HID is a good way to go. It is universal across OSes. What are you using for wifi? I need to do http GETs over wifi, and have yet to hear of a "known working" solution with netduino.

#11 Humancell

Humancell

    Advanced Member

  • Members
  • PipPipPip
  • 39 posts
  • LocationUtah

Posted 06 February 2012 - 06:22 PM

HID is a good way to go. It is universal across OSes.

What are you using for wifi? I need to do http GETs over wifi, and have yet to hear of a "known working" solution with netduino.


I'm using the Roving Networks module ... and building my own shield. But, you can get one as the "WiFly" ... and it rocks. Serial Port attached ... and easy to get going with ... but I'm not using an off-the-shelf shield.

It *appears* that people have got this working?

http://www.sparkfun.com/products/9954

http://forums.netdui...4-wifly-shield/

http://forums.netdui...-plus-solution/




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.