The current progress can be tracked over here on GitHub. Do note that this is rushed late-evening code because it is for a party I will be hosting with a couple of friends in less than a week from now; first make it work, then make it clean .
- I bought the 7" ‘official’ Raspberry Pi screen, which works out-of-the box with the Kiosk interface. Really nice! .
- The system as it is now works. However, there is one thing I’d like to change:
Sending PiCam images between the server and the Kiosk-Browser is slow
Currently there’s less than five frames per second with a delay of one or two seconds. This is not strange, because the Picam is currently read out from the actual camera inside Phoenix (using the Picam library that wraps a C library using a port), and then each of these images is sent to the front-end over a local socket connection.
At first I thought it was the rendering that was slow, but I actually think that it is mostly the copying over from the backend to the frontend, which of course increases cubically once you try to increase the (width, height, frames per second).
A better approach would be to use the Picam as a ‘user webcam’ using modern browser’s
getUserMedia functionality. The Qt-Webengine supports this. However: For user safety, this is only allowed on an
https domain or on localhost.
But I currently host the app on
http://0.0.0.0 because even when entering
http://localhost as the page to connect to, the kiosk browser shows an
ERR_NETWORK_CHANGED error page. If anyone knows how to resolve this problem, I would be very grateful!