Switch between functions like Dashboards/Video calls with super simple user input.

So to make the concept of what I am looking to do simple, here is the rough overview. When using the pi for video calls on a TV, is there a better way to have the pi “Idle” in a sense without powering it off or requiring anything technical for the user (Such as stopping the kiosk service so the cpu usage is low and the camera is off). And in that line of thinking, could it be switched to a dashboard or another URL based resource on the fly by a user with something like a remote.

So with my limited experience and knowledge, I know you can do a lot with scripts and variables, but I am not great with those things right now, work in progress. Id like to use something like a wireless USB based conference PowerPoint remote or something that can easily be used to toggle the kiosk settings or even running status.

Say grandma doesn’t want the webcam on all the time, its a pain to turn it off or jump through apps with smart outlets, what if she just had a remote that she could press a button and boom, the kiosk service stops, the pi’s cpu usage comes down considerably, and she doesn’t have to get up and turn it off. also there is very little need to turn off a system like this. In the same line of thinking, what about a pi being used for a conference call in a conference room, you don’t want the camera on all the time, some simple trigger to start the service and away you are in the call room, and then toggle it off and into a dashboard as a screen saver/live information center.

I ultimately want to make it super simple for a user to simply start and stop a service and possibly start the service with different variables on the fly with say another button. Also if this can be done easily, I think it would make a great addition to this guide for video calls here on balena, a very simple I want the camera off or on without cutting power and maybe utilizing the same system on the fly for another use like dashboards.

Sorry about the long winded repetitive post, I just wonder if this has been done and is easier to do with a basic response to point me in a good direction on what to script and what variables are useful. There are a lot of OS specific things to this OS I am not fully aware of or the variables and how well they can be worked with. I know some linux basics but when it comes to scripting or code I am a total noob, and I am not fully sure where to start.

Hi there!

Great idea, and I can think of a few ways to do this - but they vary in how hard they would be to implement:

  1. The simplest way would be to change the LAUNCH_URL between video calls to point the browser at something simple (e.g. a picture). This would turn the camera off, and the CPU would come down to idle. You can do this through balenaCloud or using the tahora page on the local network. I understand that a non-technical person possibly couldn’t do this for themselves, but the video call guide was written from the point of view that a relative could remotely control the device for them.
  2. Integrating physical button is very doable but, as you say, would necessitate some coding. You can either create something that plugs into the GPIO of the device, or a USB device, and handling the clicks. You would need a separate container (or alter the KIOSK code) and use the clicks to toggle the LAUNCH_URL between the jitsi URL and something else (like the picture above).
  1. There is a new version of the browser block, which underpins this video call project, in development. This new version exposes a web API to control the browser, which could be exposed on the public URL for the device. This would allow you to use something like IFTTT to bridge between a connected button (i.e. a bit like those Amazon Dash buttons they used to make) and the browser via the API. This new version of the browser should be available in the next couple of weeks - but you can contact me directly if you want to beta test it. :wink:

Hope this helps you get started.
Phil

1 Like