This is my first microcontroller project: an ESP32 that generates a new QR code every 30 seconds and displays it on an e-paper screen. The idea is to use it for proof-of-presence or location validation. The device is low power and stays completely offline — it syncs time via a GPS module and generates everything locally. I also built a backend service that verifies the scanned QR codes to check if they are valid. The web interface displays device locations on a map and allows adding new devices directly through the site.
Comments
jqpabc123•11h ago
30 seconds may be too long.
It's certainly possible to snap a photo and share it with someone off site within a 30 second window.
tomtomistaken•10h ago
Yes, relay is possible, but I'm not sure if a shorter window solves the issue - you could stream your cam feed.
Another option would be to limit the number of validations in the time window or to introduce a 'cool down' time - the next validation attempt has to wait 3 cycles to be valid. Relay would still be possible, but when the person on spot wants to validate for themself, relay could be more of a hassle. Last but not least, the browser could ask for the the location and calculate the distance to the device (location can be spoofed ..).
jqpabc123•9h ago
A stream is generally of lower quality than a photo which should make it significantly more difficult to get a good scan of a QR code from a stream --- particularly if the code is changing every few seconds. I'd probably recommend showing a code for 3 seconds then a black screen for 3 seconds then repeat with a different code.
Cameras need to focus on both ends and the stream has to be scaled to fit the available display parameters. Could easily turn into an exercise in frustration.
jqpabc123•11h ago
It's certainly possible to snap a photo and share it with someone off site within a 30 second window.
tomtomistaken•10h ago
Another option would be to limit the number of validations in the time window or to introduce a 'cool down' time - the next validation attempt has to wait 3 cycles to be valid. Relay would still be possible, but when the person on spot wants to validate for themself, relay could be more of a hassle. Last but not least, the browser could ask for the the location and calculate the distance to the device (location can be spoofed ..).
jqpabc123•9h ago
Cameras need to focus on both ends and the stream has to be scaled to fit the available display parameters. Could easily turn into an exercise in frustration.