I regularly use my Nexus 7 or my Android smartphone (was Galaxy S2, now Nexus 5) to help me with my Raspberry Pi activities. Here is a ‘top ten’ roundup of my favourite Android apps that I use with Pi.
Sorry iPhone users. I don’t have an iPhone, but I expect many/most of these apps are available for iPhone too.
These apps are used for a whole range of activities, so I’ll try to put them in a reasonably logical order. Each app has an icon by its title. Clicking it, takes you to the Google Play page for that app.
Picture the scene…
- You’ve just switched on your Raspberry Pi but you forgot to connect the HDMI lead, so you have no display. You don’t want to pull the plug, but you can’t ssh into it without the ip address. How to find it? Or…
- You got your headless Raspberry Pi up and running, but you forgot what ip address it’s on. Or…
- You rebooted your internet router and it’s changed the ip address of the Pi. What do you do?
You install Fing on your phone and use it to scan your whole network and tell you the ip and mac addresses of every connected device.
Very useful indeed. There’s no looking back once you’ve got Fing installed. It’s a superb app. You can assign names to each device and choose an appropriate icon to make identification easier. They recently added a Raspberry Pi icon too…
Once you know your Pi’s ip address, you can log into it remotely by ssh. How? Using the next app…
ConnectBot is a lovely little app that lets you log into your devices by ssh
I use it to log into my Pis from my tablet or phone…
- over wifi when I’m at a Raspberry Jam meeting,
- over the internet when I’m away from home
…and I even sometimes log into one of my web servers when I’m out and about.
It’s quite powerful because you can use your public/private keys with it, which makes it much more secure for you to expose your devices to the internet.
The default font is a bit small, and this catches people out. Once logged in, you can change the font size using the volume buttons on your device.
So you can ssh into your Pi, or any other ssh enabled machine, and get a command line console.
I used this a lot over the summer to keep an eye on my garden while I was away. I ‘ssh’ed into Pi, with Pi camera attached, and made it take a photo or stream video so I could see the state of things.
So, ssh works whether you’re near or far away from your Pi, as long as it’s connected to the internet. (I really do recommend you use keys for logging in, there’s a tutorial here.)
If your Pi isn’t on the ‘net, you can achieve a similar thing for short-range (~10m) console login with a Bluetooth serial adaptor and our next app…
Bluetooth Terminal Emulator (paid)
This is the only paid-for (£1.90) app in this roundup. There is a very good free alternative, called Blueterm, but it lacks the “killer feature” for which I bought Bluetooth Terminal Emulator.
If you have no internet connection or network, but you still want to be able to get a wireless console login, the answer is to use a Bluetooth serial adaptor and log into the Pi, with your mobile device, through the serial port (using the UART Tx & Rx on pins 8/10, GPIO 14/15). This is what I use on my RasPiCamcorders…
In the app, you can change the font size and the foreground and background colours to suit your preferences. And there are quite a lot of other options I haven’t even played with yet.
So, what’s the killer feature? It’s the only Bluetooth console app I’ve found (from about 3 or 4 I tried) that can actually handle the use of <CTRL>, which is quite important if you want to be able to stop a program with CTRL+C. So, in my opinion, that was well worth paying a couple of pounds for.
But there’s another hurdle to get over before you can do that easily. There isn’t a CTRL key on the default Android keyboard! But, as you’ve probably guessed, there’s another app that makes this possible.
All the console login apps can be used to greater effect with this enhanced keyboard app, that gives you extra keys (cursor keys, CTRL etc). We’ll go there next…
Hackers Keyboard (free)
This app is great because it gives you access to a fuller-featured keyboard than the standard Android offering. You’ve got keys like Ctrl, Esc, Alt, that are really useful in a command line environment. Without this kind of keyboard, a lot of functionality is lost, not just in command line situations, but others too.
Cursor keys are also really useful for repeating the last command (up arrow), moving around a file when editing in nano etc. Hackers keyboard is a must-have. Here’s what it looks like in landscape format with Bluetooth Terminal Emulator.
Note that it occupies a lot of the screen. If you don’t need the full five row layout, you can rotate the device to portrait to get more usable screen area. And, you can also change back to the standard keyboard at any time (or even change to Android’s voice input, if you’re feeling brave).
AndFTP (free, with paid upgrade option)
This is a really nice ftp client you can use to move files securely between your Pi and your mobile devices (in both directions). In the free version you can do FTP and SFTP. FTP is the old, original file transfer protocol, but SFTP is the secure version that works with SSH (secure shell).
I use SFTP exclusively with this app and it works perfectly with public/private SSH keys.
Both devices need to be on the same network, or connected to the internet. If you’re exposing your Pi to the internet, keys are almost mandatory (in my opinion).
I also use this with my GoFlex media server for transferring films (movies) to my Nexuses. It’s a lot faster than going through the clunky, slow ‘piece of poo’ software the GoFlex shipped with. And, if you’re happy navigating through a file system, it’s much more efficient to have direct control as well.
As with the other apps (apart from Bluetooth) you can use this with any web servers or other computers you want to transfer files to/from.
The command line is where I prefer to be, most of the time. But there are some things, and some people, that simply aren’t comfortable without a Graphical User Interface (GUI).
Well, we can even give you that on your Android, if you install tightvnc on your Pi. (It’s very easy, see how to do that here.)
It takes about five minutes to install on the Pi, with just two commands, and another to run it. Then all you need is AndroidVNC, the IP address of your Pi (which you can get with Fing) and the password you set up for tightvnc. Once you’ve entered those details, they’re saved for future use. Then you’ll see this familiar sight…
…but be aware! There are limitations. Using a touch interface has its pitfalls. It’s not as precise for pointing as it would be with a mouse, but you can get some things done that you wouldn’t otherwise be able to. So it’s worth having and worth knowing about. I don’t use it a whole lot, but then I don’t use the GUI a whole lot in general. You might be different, so I include it for you.
I was at the Oxford Jam. Alex Gibson had something he wanted to try. It needed the special functions on GPIO 4.
“Does anyone know which pin that is?”
He asked. Nobody did. But I had my Nexus with me. So I opened Matt Hawkins’ RPiREF and found it straight away. No messing about. (It’s pin 7 on P1 in case you’re wondering.)
RPiREF is a very simple and useful app that identifies all the pins on the three main Pi headers. I’ll usually have my phone or tablet with me, so I can always refer to it if needed.
It covers rev 1 and rev 2 Raspberry Pis, pin numbers, GPIO numbers and alternative functions. It’s free and it only takes up 3 Megabytes on your device. Unless you never connect things to your Pi, or you’ve memorised all the ports, you need this app!
VLC Beta (free)
VLC is a media player. Why do I need that for Pi? And why the Beta version?
If you want to be able to watch live video streams from your Raspberry Pi camera, VLC enables you to do it. But the stable version doesn’t work for this, so it has to be the Beta. A screenshot doesn’t do it justice, so see it in action on Galaxy S2 phone and Nexus 7 simultaneously in this video…
I already mentioned that I had a RasPiCamcorder set up to monitor my garden last summer. I would ssh into it, start it streaming, then use VLC to watch the stream. (Full instructions here.)
DropBox (free with paid upgrade options)
Another thing I did with this RasPiCamcorder last summer was have it upload photos of the garden to my DropBox account. I could log into the Pi, make it take a photo, then see that 5 Megapixel photo (about 30 seconds later) on my phone or tablet, both of which are synced to my DropBox account with the official DropBox app.
If you forward to 5 minutes and 7 seconds on this video, you can see how it works…
Official XBMC Remote (free)
This one is fairly self-explanatory. If you’ve set up an XBMC based media centre on your Raspberry Pi, you can use this Android app on your wifi network as a remote control for XBMC. It takes just a few moments to set up, and it works really well (although it could probably do with a prettier ‘skin’ on the main user interface).
What’s Your Favourite Android App to Use with Pi?
I hope you’ve enjoyed this little mini review of my top 10 Android Apps for the Raspberry Pi, and that you’ve found at least one new app to play with and use. Let us know how you get on.
And if there are any apps not included, that you use with your Pi, we’d like to hear about them in the comments…