nerves-web-kiosk / kiosk_system_rpi3

Nerves QtWebEngine Kiosk system for Raspberry Pi 3
Apache License 2.0
67 stars 25 forks source link

Usage example? #12

Closed orestis closed 6 years ago

orestis commented 6 years ago

Many thanks for providing the v0.12.0 artefact as a pre-built image. I was excited to try it out - but then I realised that I have the same issue as with #5 - I can't launch the browser.

Is there any chance that you could add a minimal usage example that launches the kiosk browser and pointing to an external page? I assume that nerves_network is going to be involved somehow but there's already a simple example for that.

Many thanks again for providing this to the community,

electricshaman commented 6 years ago

What we do at LeTote is launch qt-webkit-kiosk with System.cmd:

System.cmd("ntpd", ["-q", "-p", "pool.ntp.org"])
qt_config = Application.get_env(:kiosk, :qt_webkit)
config = qt_config[:config] || "/etc/qt-webkit-kiosk.ini"
url = qt_config[:url]
platform = qt_config[:platform]
System.cmd("qt-webkit-kiosk", ["-platform", platform, "-c", config, "-u", url])

ntpd is needed for SSL to work. It looks like you are missing the platform in #5. Try linuxfb or eglfs or directfb. This is a parameter from QT. Some helpful background info can be found here on QT's site.

orestis commented 6 years ago

Thanks! And where is this invoked? I assume that the last System.cmd will block forever, so I guess some new process? I.e. not a GenServer callback.

Have you found the need to periodically restart the kiosk to deal with memory leaks etc? Does it respond to the closing of its I/O streams, I wonder...

orestis commented 6 years ago

eglfs works fine with raspi3, and indeed running this on a separate process seems to work fine. I will continue my investigations and hopefully contribute an example usage project.