1. I know you said you have it working, but are you using the example Microchip code and (what Microchip calls) libraries (really source code you add to your program). There are already both HID keyboard examples as well as mass storage examples that emulate thumb drives. There are also Web Page Server examples - but that is stretching some of the less powerful PIC processors.
2. I may or may not go the HID/Keyboard route on this project. What I might try is to emulate a boot-able drive. That way you might be able to get up and running quicker. I might go as far as junking Windows all together and boot up a small "live CD" type image of something like Knoppix (I like using lmgtfy instead of listing out all the google hits - just ignore the sarcasm):http://lmgtfy.com/?q=knoppix+usb+thumb+drive
...however, at this point, you might as well just hand out thumb drives. The down side to this approach is that your customers need to "boot up" with the thumb drive already plugged into the computer.
3. If I had to get a device working such that it brings up a web page on an already booted up Microsoft PC as fast as possible I would try to make a USB compound or complex (I can't remember which is the correct term) device. I would check if it is possible to get a PIC to appear as a HID to pump in commands and as a mass storage device to hold your web pages. That way you have both a way to tell the Windows box what to do and a place for it to get the web page from. There are many unanswered questions here. Can a PIC emulate two USB peripherals. Can you tolerate the time it takes to type all the commands in (although I should think the sequence: "WindowsKey+riexplore.exe http:///d:\yourpage.html<enter>" could be done rather quickly) . How do you know what the USB mass storage device letter assignment will be (That's Just a bad Windows design - from the beginning - I'll leave that one up to you to figure out). Once you have this worked out, I'm thinking you should be able to get a web page up on just about any well equipped Windows box with in, say, 10 seconds.
edit: added later...
4. Oh, you want to do it out of site? Again, look at using a plain thumb drive that is created to auto-boot upon insertion. Write a batch file to start iexplore up and point it at your URL out on the web. Or, to make it faster, figure out how to determine what drive it is executing from and point it at it's self as the source for the web page. Do post a follow up if you figure out how to figure out which drive letter you are operating out of.
edit: added even later...
Not leaving well enough alone try this command:
- Code: Select all
wmic logicaldisk get caption,description,filesystem
You get back a list of all the devices on a particular computer. But the tricky part is to pick out the device that is your just installed USB thumb drive. As I am not a Windows person I can only guess as to which it is. But in the example it was the only device that said "Removable Disk" as well as a populated field that said "FAT". In Unix I would just say:
- Code: Select all
wmic logicaldisk get caption,description,filesystem | grep -i removable | grep -i disk | grep -i fat | cut -c1,2
...and that would give me the drive letter (for this example at least)! I'll leave it up to you to figure out what needs to be done in a Windows cmd script file.