Lobby TV microcontroller project [complete]

Ever since we first started working on lobby improvements, we’ve been wanting to set up the lobby TV with an Arduino or Raspberry Pi that could continuously loop content from a Google Drive folder that designated members could help feed content into like member project spotlights, shop announcements, upcoming classes, etc.

@Duginator96 is interested in taking on this project and is looking for other members to collaborate with! We’ll add a repo to the Asmbly GitHub here highlighting the project, how it’s built, and the code running it.

Want to help? :awesome: Comment here or reach out to @Duginator96 directly to get connected!

3 Likes

I’m interested. I’ve been messing around with some other Google APIs recently, and they’re fairly simple. Even getting a developer account and API key set up was pretty straightforward. A python app to sync a google drive folder would be like 20 lines of code, assuming we’re not trying to do anything fancy.

Actually, if we’re not doing anything fancy, we could just use RClone for the syncing – I tried it out recently and it worked as expected. Don’t want to reinvent the wheel if we don’t have to.

For actually playing the videos, if we use a Pi or other lightweight Linux computer, we can just point VLC or MPlayer at a directory and loop it.

@Duginator96, did you have any hardware or software in mind?

1 Like

Hey Y’all,

I’d be interested in helping out with this. It’s somewhat similar to what I do at work. Feel free to loop me in at any part.

Heres my $0.02:
An Arduino will likely not be powerful enough and a raspberry pi is virtually impossible to purchase at the moment. I would recommend a NUC (Next Unit of Computing). Its a small PC very similar to a RPI but lacks gpio and usually runs windows. These vary in cost $80-$1000+ but are readily available and will work fine.

It may even be worth testing a chromecast or firestick as an even lower cost solution. (Using some album sync feature to play “Photos” from a synced album online). I have a Firestick we can test with before purchasing if we go that route.

It all depends on the requirements of the system

  • How do you want to update the device? And how often? and by how many people?
  • What kind of content will the device play? (Videos, photos, a mix, website pages.)
  • Budget constraints?

Overall should be an easy fun project.

1 Like

Love seeing people pick this up!

We’re looking for a low budget solution here. There’s a strong possibility we have some Raspberry Pis laying around the space that are no longer in use, so we might be covered on that :crossed_fingers:

In terms of minimum requirements – we want it to read from a Google Drive folder in the Asmbly workspace that will have photos and videos and just loop the content that’s in there. Appointed volunteers will update the folder contents remotely. So in other words, the content will be updated regularly, but the device should not have to be updated to do so.

It would be cool to have flexibility in the future to do more with it, I’m sure people can think of a lot of creative things it could do, but that could always be a 2.0 kinda thing so we don’t have to strictly constrain ourselves to the first implementation working for future predicted use cases.

1 Like

If a RPi is available it’s definitely the best option.

The easiest thing would be to use a google drive syncing app (Unfortunately google does not have an official one for linux) any of these should do just fine. This will allow it to update a local folder on the Pi mirroring the google drive folder online. (For security it would be best to create a new google account solely for this purpose and give it read only access to the folder)

Then some sort of slideshow software like this can loop through the directory playing photos and videos.

To top it all off, it could include a bash script to run on startup to launch the syncing service and launch the slideshow. In the event of a power outage it can start itself back up and not require any local intervention.

This should be fine on wifi but will likely need its own power source as TV Usb ports rarely put out more that 500mA and a Pi can require up to 2.5A peak.

1 Like

That sounds perfect! Let me find out for sure whether we have an extra pi somewhere so we can figure out whether we’ll be able to take that route. Certainly easy enough to create a dedicated user for reading the GDrive folder. I like the bash script idea for auto recovery, that’s cool.

I did a bit of research on this but misplaced the rpi I’d been planning to use. If one can be found, this blog post describes the scripts and packages needed:
Raspberry Pi photo frame using the pictures on your Google Drive II – Dr John’s Tech Talk

1 Like

We got an extra raspberry pi set aside in the board cube for this project! I’m not sure the specs on it, but @mkmiller6 @ashleyrlee @David @cfstaley @jamesfreeman can probably help the most easily with getting it into the right hands when y’all are ready for it. We’d love to have this project up and running at least by the end of the month if possible!

I located the one I’d misplaced. It’s a pi 1 model B, so not super powerful. I think it’d be sufficient for this project if we wanted to keep the other for something else. However, it’ll require a network cable or USB WiFi adapter - it does not have WiFi built in.

It also has a smaller header than other models. That wouldn’t affect this project, but limits its usefulness in other projects. In other words, I kinda want it gone :slight_smile:

2 Likes

@mark999, thank you for the update on the Raspberry Pi! I am still up for the project if we need to complete by the end of this week.

1 Like

We found another rasperry pi at the space if the one you want to disappear doesn’t meet the minimum specs @mark999. @ashleyrlee @mkmiller6 @David or another leader can pass it off to the appropriate person if y’all want that one.

The easiest thing would be to use a google drive syncing app (Unfortunately google does not have an official one for linux) any of these should do just fine.

I’ve used RClone (the second one from that list) and it was easy to set up and I had no issues using it.

Then some sort of slideshow software like this can loop through the directory playing photos and videos.

That does look convenient. I tried testing it out but couldn’t get the image to mount in either QEMU or VirtualBox. Not sure if it was a problem with the image or me; it has been a while since I futzed around with virtual machines.

This should be fine on wifi but will likely need its own power source as TV Usb ports rarely put out more that 500mA and a Pi can require up to 2.5A peak.

I second that – the the worst thing is that it can work for a while at low amps, but “randomly” fail when under heavier loads. That happened to me and wasted a few hours of my time trying to debug it.

I did a bit of research on this but misplaced the rpi I’d been planning to use. If one can be found, this blog post describes the scripts and packages needed:
Raspberry Pi photo frame using the pictures on your Google Drive II – Dr John’s Tech Talk

Some interesting stuff there, although no solutions for displaying videos.

I tested my earlier suggestions of using VLC and MPlayer. VLC does what I want – I can point to a directory and it plays everything, with images lasting ten seconds by default (and I assume that’s configurable). However, VLC would hang for about five seconds when switching files, and when switching to a video, when it finally started responding again, it would be five seconds into the video.

Very janky. CPU usage spikes to a 100% during the hang. This is on Fedora, don’t know if it’s a VLC issue or something exterior to it. But as long as it doesn’t happen on the pi, it seems like VLC would be the simplest option (if that slideshow distro mentioned earlier doesn’t pan out).

I tested out Mplayer as well, but as far as I can tell it doesn’t support mixing formats. It can do a slideshow of images, but not images and videos.

There’s this suggestion for a simple shell script mixing mplayer and feh, but I imagine the transitions would be janky (although with a stripped down window manager, maybe it wouldn’t be too bad).

I haven’t seen it mentioned, but I believe the keyword everybody is missing is “kiosk”.

Most of this stuff falls under the rubric of “kiosk mode” and there seem to be lots of resources for putting an RPi to use for that.

If this task is still under development, I can give it a go. I believe I had used rpi dynaframe about two years ago to make an RPi based video slideshow. I can look up where do I have that Pi and if it has the SD card. I can give this a try (both locating the Pi and playing with dynaframe) this weekend if it’s ok with you guys.

I got dynaframe on RPi working with a mix of jpg, png, mp4, and mov files. The pictures have fade transition and the settings for the slide duration and fade duration can be set up from a web interface. I have tested it on my computer monitor and TV. It seems to work fine. I have spare RPi, SD Card, Power supply and short HDMI cables that I can just give away for this project. Please let me know.

I haven’t yet tried to get google drive or dropbox synced to it. It is doable but since dynaframe has a web interface that can be used to upload files for the slideshow i wonder if we really need it to sync to internet.

That sounds really great and I like the dynaframe upload option rather than swapping out an SD card. One question - does it auto restart after a power failure? I know we will have to turn on the TV but will the RPi run DynaFrame when power is restored?

Yes it autostarts. I tested it in one of my TVs and monitors.

Do we still need google drive sync option since dynaframe has an web interface for uploading files?

Google Drive syncing is a minimum requirement on this one. It is how we are already storing this type of content and as a general rule of thumb, we don’t add more admin systems unless completely necessary.

Ok. Got it. I will get google drive working on it.

1 Like

I plugged the old rpi into the tv. I think the remote used to be on the edge of the table in the e-lab, but I didn’t see it so couldn’t turn the tv on to see if the pi was actually booted.

The microsd card in it doesn’t have anything of value; feel free to wipe it if you do use that pi.