Raspberry Pi Week : Guestblog : Serve Your Message With a Slice of Pi

May 27

This weeks guestblog is brought to us by Daniel Messer, aka the Cyberpunk librarian. Find out more about Daniel, his podcast and his awesome website over at Cyberpunk librarian.Com


1740959_1558668224413538_2131227828_n

Digital signage is a passion of mine which is odd because, for the most part, I hate advertising. When you think “digital signs” you have to think about advertising because the two go hand and hand, right? You see them all over the place from your local big box store where they use monitors on end-caps to sell you stuff you don’t need to the trendy Apple store where they’ll use an iPad Air 2 as a digital sign.

 

That’s a baseline US$500 device sitting there. It kicked off the tablet revolution and ushered in a so-called “Post PC Era.” And there it is, bolted to a table, telling you why you’d want to buy a PC. That’s irony so thick you could spread it on toast.

But it doesn’t have to be this way.

As a public library webmaster, one of my jobs is managing the digital signs in our branches. I don’t create the content so much anymore, but I handle the tech side when needed. These things run off of small, dedicated PCs running Windows 7. Their administrative interface is lousy, the PCs are overkill as they’re rolling glorified PowerPoint presentations, and the big screen monitor and PCs kick out enough heat to keep you warm in the winter.

For the record, I live in Phoenix. We really don’t have a winter here.

When I first got my hands on a Pi, I knew this would be better for getting the library’s messages out on digital signs. They’re tiny, produce little heat, could be velcroed to the back of a monitor, and they run on free software. Diving into different software packages I played withScreenly OSE, Concerto, RiseVision, and others before landing on something I really liked — an idea I got at an airport.

The Phoenix Mesa Gateway Airport, aka AZA, uses Pis for almost all of their digital signs from the ones dropping ads to the ones that tell you when your flight departs and from what gate. Even the monitors beside the gates use Raspberry Pis to display the gate number, flight number, destination, and so on. I talked with a couple of their IT staff to find out what they used and the answer was surprising and refreshing.

They use a web browser. When you look at those signs, you’re simply looking at a website, in a browser, in full screen mode. The website refreshes itself every so often, and there’s a quick blank screen while it does this, but then you’re presented with the latest information.

I went back to my desk and got to work.

An old server bound for surplus found new life in our racks with an Ubuntu Server installation. I knew I’d have to do things slightly different as our library district covers a huge area while the airport covers a single large building. Instead of using the Pis to call a website, I’d have them bring up web content stored locally, but synced from the server.

I installed Chromium on the Pis because I like how easily you can feed it switches through a command line. That’ll be useful later. I also need to make sure that the screens don’t go blank or into power-save mode. Turns out there are a couple of ways to worry about this, but an easy way to handle it is to simply install XScreenSaver and then disable it.

My Pi OS of choice is Raspbian, which uses LXDE as its desktop environment. That’s excellent because to make all the necessary changes I just need to edit a couple of files, maybe three if you’re running the latest version. Opening up LXTerminal and then running

sudo nano /etc/xdg/lxsession/LXDE/autostart

I added the following lines:

@xset s off

@xset -dpms

@xset s noblank

@chromium --kiosk --incognito /home/pi/display/index.html

(Depending on your version of Raspbian, you might need to put the @chromium line in

/etc/xdg/lxsession/LXDE-pi/autostart

The other three can go in the first file.)

The first three lines disable all the screen blanking stuff that Raspbian would normally do, which forces our screen to stay on. The last one launches Chromium, in a full screen kiosk mode which. When you launch Chromium in incognito mode it won’t remember any previous shutdown errors and thus, never throws an error on startup. Then it displays my index.html in a local directory. Since we’ve put these in the autostart file(s), they will automatically happen when the pi user logs into the GUI. (Which you can set to happen immediately after boot up through sudo raspi-config.)

The index.html is simply a slideshow powered by JavaScript. It displays images, sized to fit the monitor’s resolution, and that’s it. It also refreshes itself every ten minutes to pick up new content.

But how to update it?

Since the geographic area covered by the library district is bigger than some east coast states, I wanted things to update quickly, in the background, on a schedule, while reliably pulling down the data and resuming the odd failed transfer. Fortunately, you can do all of that with rsync and cron.

Remember that old server now running Ubuntu? That’s the only place I update the code and content. I can change and add slides, modify the code, save everything, and ten minutes later all the Pi displays are updated. Here’s how that works:

On each Pi, I set up rsync to talk to the server. To do this without a password you need to set up a keypair for the Pi and the server. First thing to do is make sure ssh works between the Pi and server. If so, generate a keypair on the Pi using ssh-keygen. Don’t use a password to generate the keypair and don’t use sudo as the user pi will be doing all the work. Once you have the keypair transfer it to the server using:

ssh-copy-id -i ~/.ssh/id_rsa.pub user@servername

Replace the user@servername with the user on the server where you’re hosting these files. In this case, the syncing directory is under my own username, dan, in a directory called display.

ssh-copy-id will ask for your login password to the server and, if all goes well, that’ll be the last time it asks for it. Once the keypair is set up between the Pi and the server, you should be able to ssh and rsync without a password.

Now we’re ready to sync things up! Set up a cron job using:

crontab -e -u pi

This will launch nano and you can set up a cron job to call rsync as you like. Me, I do it every ten minutes. That means that, on the very outside, any change I make to the master files will take up to twenty minutes to reflect on the monitors in the branches. I could set it to go more often, but there’s nothing so critical as flight information on those screens. So my cron job looks like this:

*/10 * * * * rsync -az --partial dan@piserver:/home/dan/display /home/display/

Looking back, let’s see what we’ve built. We’ve got a Raspberry Pi, connected to a monitor in a remote location. It’s running a slide show through Chromium and all the content is local, so it comes up fast with no lag. That content is synced to a server via rsync running as a cron job and everything updates every ten minutes, both the browser and the content.

So in the end, we’ve used no software geared specifically towards digital signage. The digital sign is powered by open source operating systems, running open source software, on open source hardware. As a librarian into open access, that’s the kind of thing that really makes my day.

Related Posts

Productivity week : Let somebody read you the web with Pocket.

May 13

There are certain things in the universe that are constant. Toast always falls with the Marmelade coated side DOWN, cats land on their feet and Will Smith’s son Jayden will never be able to utter an intelligent sentence on social media.

And the same goes for interesting articles on the web. Their will be a constant relation between the moment you find an interesting article you want to read and the lack of time you have to do so. So how about fixing that problem. What if you could store those interesting articles and .. have them read TO you when YOU have the time.finished-tablet

No time right now ? It’s in the pocket.

Enter “pocket” : A notebook service that lets you store articles in the cloud to read them later (either on or offline). Pocket consists of a free cloud based account that lets you store articles and webpages and an application that allows you to read those articles when you have the time.

Adding articles to the “library” can be done with a Chrome or Firefox extension. You can access your collection of stored articles via Pocket’s website or use the application.

The application “syncs” your pocket articles so you can read them offline on your mobile device (Smartphone or Tablet) and is available on IOS and Android.

The one excellent feature you can use in the Pocket app is that you can have it READ the article out loud via text to speech.

Its a bit like listening to a podcast of articles you have collected on the web. The voices are fairly natural to listen to and you can adjust the speed AND the language so your Dutch article doesn’t get read by an English voice. (You should try it though , its hilarious).

The pocket service, the extension AND the pocket apps are free and available on all the major operating systems. Don’t read the web.. have somebody read it to you !

Links :

Related Posts

Productivity week : The best chrome extensions to increase your productivity.

May 12

We continue our Cross platform productivity week posts this week and focus on that one little application we use the most on our computers these days … The browser. (or the World of Warcraft Executable, depending on your taste). Chrome is a little bit of a cross platform blessing since it not only straddles most of the Operating systems we talk about, it also has access to a wide range of extensions. We listed a couple that help you to be more productive.

Rkk3q

Writebox for Chrome.

When I write blogposts I hate to be distracted. No matter how advanced my laptop is, or how multitask-friendly my operating system tries to be … when it comes down to doing some writing I want something plain and simple. Writebox is just that : A text editor in a window that gives you text on a plain background. You can tune the colors to your liking (amber letters on a black background for me) and start typing. Writebox syncs with Dropbox and your Google drive so you can ‘pick up’ where you left on on another computer or on another OS altogether.

Dictate with Dictation.io

All the cool bosses of the 70’s had secretaries. These girls would sit behind giant typewriters while their bosses dictated all kinds of important letters to their management (or mistresses) So why don’t WE do that ? Forget the typewriter and the mistress part, how about you start talking to your computer right now. Dictation.io is a great website/extention that lets you dictate whatever you want to write and spits it out in plain text. Copy – Paste – Done. No matter what OS you are on.. as long as you are running chrome. https://dictation.io/

Mindmup

Whenever I need to prepare a podcast or do a presentation I use a mindmap to organize my thoughts. Some people type stuff out, but I have found out that my brain just doesn’t work that way. After a little looking around for a great (free) chrome friendly Mindmap tool, I stumbled across Mindmup. It lets you create as many mindmaps as you like and store them on your Google Drive or in Dropbox. Unlike Mindmeister we mentioned a while ago, Mindmup does not have a restriction on the number of mindmaps you can create using the free service.

File system for chrome os.

This is actually a collection of several applications/extensions for those of you using a Chromebook. With this extension you can connect your Chrome file structure with either Dropbox, Onedrive or a webdav service; tying the different locations where you store your data together. Gone are the days of having to upload files and open websites/services to get to your teletubby wallpaper collection.. Enjoy !

Links.

Related Posts

kw908 : Getting Things Done, the cross platform way.

Feb 19

Is your mailbox overflowing ? Is your to-do list getting out of control ? Have you forgotten to pick up your significant other from the airport 3 times in a row ? Sounds to me you need a system to organise the myriad of things you have to do. Good thing there is KW908 : Getting things done the Cross platform way. We talk about the system I use to organise my tasks and my life .. the cross platform way.

Shownotes

Music provided by Daniel Mesner

Related Posts


How a slower computer can make you more productive.

Jan 08

The black, featureless background is only broken by the repetitious blinking of the amber colored cursor
. Its Rhythmic pulsing reminds that I need to press a multitude of keys on the keyboard to make these words appear. Aside from a small line of text below informing me of how many lines, words and characters I have produced, there are no other options to select, no notifications, suggestions or other distractions.

old-terminal

By modern day standards this application lacks a massive amount of features. No markup menu, word suggestions, contextual menu’s or share buttons. Just amber words on a black background. Yet this is one of the most productive pieces of software on my computer : It lets me write these very articles.

The computer I am running this application on is equally “under powered” by today’s norm. (and under priced) My Raspberry Pi computer with its hilariously low amount of memory, cpu power and storage is possibly less powerful then the smartphone in my pocket, yet I’ve chosen to make it my machine of choice ? Why ?

Sometimes its just “too much”.

Well, I have a love-hate relationship with modern day computers. Their powerful Cpu’s and elaborate operating systems are the very pinnacle of our digital existence. The come packed with a plethora of options and possibilities they can accommodate our every need. That however is also their undoing. In tandem with over-connected applications and services who want to do nothing else then to have you either tweak or tweet whatever you are doing .. to the point where your productivity is reduced to zero. Sometimes its just “too much”.

That is why I took the plunge and went back to “basics” for a couple of days. Using the Raspberry pi and in its very moderate capacity helped me re-think and re-evaluate what I really needed to be productive.

The Raspbian operating system isn’t packed with a lot of features. Just the basics to help you do what you need to get done. There are some applications installed , but when choosing extra software you have to keep the limited “power of the pie” in mind. Hence I started thinking about what applications I needed to be productive and what the minimal requirements of those applications were.

What do we really need ? 

So, I need a browser, but does it need to have 5000 extensions ? Turns out it doesn’t. I need a word processing application but does it need to have 39 buttons ? No it doesn’t. My initial thoughts of having my creativity seriously curtailed by the limited powers of my “simple” environment were wrong. The simplified environment and “simple” applications helped me focus more on what I needed to get done.. instead of getting distracted by the tools themselves.

“Slow computing” has another advantage. It takes my browser a couple of seconds to start up (an eternity compared to my other systems) but this is a great help in the “urge to quickly check Facebook” and get distracted. I can’t have 50 browser tabs open because I don’t have the ram, but that allows me to pay more attention on the one thing i’m researching.

In short : “Slow computing” helps me focus. It gives me the time to think about things before I press another hyperlink. It is free from those over-connected distractions and it keeps me from going down a 45 minute rabbit hole just to find the ‘right wallpaper’ for my dual screen desktop. Sure I’ll bounce up against the limitations of the system… and if I do I still have my other powerful laptop waiting in the wings. But the amount of stuff I “Got Done” before I have to make that move .. is pretty amazing. Slow computing .. helps you focus ! Try it 🙂

Links : Raspbian.

Same

Related Posts