We’re using Raspberry Pi’s for multiple projects. We flash the SD cards, boot the Pi, let it download the newest containers and the software automatically requests provisioning details from our server. The server creates a token set and assigns a unique serial. This serial is printed on sticker and then shipped to the customer.
But now we’re at the point that we’ve to assemble quite some Raspberry Pi’s every time. First we flashed all SD cards, then booting the Pi’s one by one and wait for it to download the newest containers and provision itself on the server. This takes approx. 5 minutes per Pi. And we can’t boot multiple Pi’s at the same time, because we then don’t know which Pi has which serial.
Because Balena has probably tackled this problem, and the community here is great, I’m asking for your help. We’ve been thinking about how we can improve this process. We probably need something unique per Raspberry Pi, out of the box, so we can identify the Raspberry Pi physically.
The first thing that came to my mind is that we need something that’s accessible by default in the OS, but also in physically, like some sort of sticker. But the Raspberry Pi doesn’t come with that. It has a serial number that can be found in
/proc/cpuinfo, but there’s no sticker that we can scan or something with the same serial number. A solution could be that I’ve to create a fast process (lightweight OS with a small binary on it) that sends the serial number of the Pi to a printer, which will print a barcode that we can scan later on. But we then have to create an SD card that we’ve to insert into every Pi when they arrive (workable, but not ideal).
Does anyone have the same problem and/or tackled it? It’d be awesome if we can improve our assembly time per Pi drastically!
Thanks in advance!