Friday, March 31, 2017

Running Plover on a Raspberry Pi

Disclaimer! I can't show you how to run Plover on raspbian, or on a pi zero. But I did get it going on a Raspberry Pi 3, model B, using Ubuntu Mate. It was actually quite easy as it turns out. I just followed directions.

I did try with raspbian, but ran into trouble with dependencies which I didn't know how to deal with. Then I saw that Ubuntu Mate was available for the Raspberry Pi 3. I knew that I could install Plover on Ubuntu. I'd already done it on my laptop. The only question was whether or not it would work on the ARM processor of a Raspberry Pi.

I'm not going into how to install Ubuntu Mate. You can find that on the internet. I'll assume you've done that, and that you're working from the Pi. Start Firefox. Now, go to the Open Steno Project website:

        http://www.openstenoproject.org/

Then click on the Download button, which puts you here:

        https://github.com/openstenoproject/plover/releases

You might as well download the .deb file now:

        plover_3.1.1_all.deb

Leave it in the Download folder, and click on the "installation guide" link. Scroll down to the Linux directions and click on the  "ppa:benoit.pierre/plover"  link. There are two lines there to be executed on the command-line in order to make Benoit Pierre's ppa visible to your computer.

        sudo add-apt-repository ppa:benoit.pierre/plover

        sudo apt-get update

Once you've done that you're ready to actually install Plover. Type on the command-line:

        sudo apt-get install plover

Be patient. It might take awhile to respond and finish. When it does you can find an icon for Plover in the Applications/Universal Access menu.

Wait though, there's one last thing you need to do. You don't have permission to use the serial ports yet. This won't matter if you're using an NKRO keyboard, but let's assume you have a stenomod and need TX Bolt over serial. Write this on the command-line:

        sudo usermod -a -G dialout "$USER"

This adds you, the USER, to the dialout group, which allows you to have access to serial ports.

Now you should be be able to run Plover from that   "Applications/Universal Access" menu. Again, be patient! It takes awhile for Plover to start, but once it does, you can configure it for your machine and get to work!

The downside is that this has to be done in a GUI and it starts after you've logged in. It's not the ideal situation for a Plover-in-the-middle, where it acts as a USB keyboard for another computer without installing Plover or any other drivers. Still, running Plover on a Raspberry Pi is pretty fun!

Many thanks to Benoit Pierre for setting up and hosting the ppa!

2 comments:


  1. Hello Charley, Plover in the middle is a really cool project. Unfortunately I don’t know much about programming to understand what the problem you mentioned represents:

    “The downside is that this has to be done in a GUI and it starts after you've logged in. It's not the ideal situation for a Plover-in-the-middle, where it acts as a USB keyboard for another computer without installing Plover or any other drivers.”

    This is not the ideal situation because you have to wait for raspberry to start, instead of just plug and play the keyboard?
    If that is so, I was wondering if this arrangement could accept a battery and some sleep mode. This way one would only have to power the device once a day and then keep it asleep when not in use.
    Also wondering a little more, if the raspberry has a battery, could it also accept a Bluetooth dongle to turn it into a wireless steno machine running plover on Ubuntu?
    A wireless stenomod with steno inside its brain without the need to install anything on the host machine would be a dream here in Plover community!

    ReplyDelete
    Replies
    1. Hi Paulo! Waiting for the rPI to start is not so bad. The problem is that I have to log in to the GUI and start Plover. That requires a keyboard and display on the rPi. If the pi would just run Plover automatically from the command-line that would be better, and it's not out of the question. The rPi starts up nearly as fast as the Arduino really.

      And Bluetooth could even be done with just the Arduino, as long as you don't mind running Plover on your computer. But there is definitely a use case for Plover-in-the-middle. Particularly with USB I think.

      Delete