I’m not sure how everyone is handling their manufacturing process, but here’s what I came up with.
My device uses a photon and has the USB exposed so I was able to reuse a lot from the Particle CLI.
My contract manufacturer has some laptops running XP so those to run a simple sinatra server. It receives requests via URLS and sends CLI commands, flashes firmware, and writes results to a local sqlite database. It involves some trickery but I’m able to set the device’s SSID and verify it as well.
Here’s what it looks like in action:
Here’s the basic server code. It could definitely use some refactoring and reworking to be more generic, but I hacked it together in a weekend and it seems to be doing the job. I’d be happy to explain more and share some of the view code if anybody would find it helpful.