Getting my GEEK on with Raspberry Pi, SSH, Python and Surface RT !


clip_image004Now I am a Developer ! With my Free Resources App in the Windows Store, I thought I would share one of my other experiments in entering the world of Geekdom.

I have a Raspberry Pi (RPi) device (it was a gift!), the £25 programmable computer. I have started trying to get my head around setting it up and learning to code on it. Whilst that’s a steep learning curve for me, I also found it a real hassle to plug in all the power, usb ports, monitor , mouse and keyboard every time I wanted to use it. I thought this would probably the same for setting RPIs up in schools. But, I read that devices such as RPi could be controlled and programmed remotely using client software. So I had this idea, could I do that from my amazing Surface RT? Turning into a Surface RPi.

Firstly, I had to find an SSH client App in the Windows Store, a simple search produced a number of apps . Next, I needed an app that allowed me to code in Python. The coding language used on RPi and is popular in Schools. Again , the Windows store came up trumps and I installed Python for Metro.

With the Apps in place I just now needed to set it all up. With help from www.adafruit.com with words I didn’t understand. I discovered the IP address my network was giving the RPi (I did have to set it all up a again to do this, but thankfully only the once). Once I had that, I powered my RPi from the USB port on my Surface RT. This meant the that RPi would connect wirelessly to my network. Remember at this point the only lead connected to th RPi is the USB power cable. Running the SSH app, I entered the IP address and Ta Dah! Connected to the RPi. I could now programme the device using the tools installed on the RPi. But, that still meant I need the RPi connected via the network.

Could create code and then ‘download’ it to the RPi when I needed to. This is where the Python app came in. Now I can write, copy and edit code whenever and wherever I need to. Then connect with the RPi later and because Win 8 allows you to run multiple apps at the same time. I could test and run the code on the RPi as well.

This screen shot proves that this works. The RPi via the SSH app is running on the Left and Python app on the right.

clip_image002

Why is this so useful? Well, as I see it, the beauty of the Raspberry Pi is the ability to program it to control external devices through its GPIO ports. Here I am using it with a Berryclip addon , making lights flash in sequence (BTW , built the clip_image003BerryClip myself, all adding to my Geek credibility). As you can programme in Python and Scratch on any Windows device, you are are not using the real learning potential of the RPi if you are just doing this.

So why not get your GEEK on and try this with the Surface RTs you have in school or any Windows device, and begin taking full advantage of the Raspberry Pi.


Comments (1)

  1. icemanstan says:

    I have been investigating and trialling SSH and VNC on various laptops, tablets and Apple products.  I agree with you that a workable remote access solution is beneficial.  Here are my findings with these apps on the Surface.

    SSH – I found the SSH Terminal Emulator unworkable because it would not connect to the RPi.  Whereas other apps such as SSH8 connected to the RPi successfully. SSH Terminal Emulator always produces this error 'Background module failure'. I do not know why it worked for you and not me, perhaps we are on different Windows software levels. The important thing is that there a variety of SSH apps available.

    Python for Metro – again this app was unworkable on my Surface.  The app opened up ok but after successfully executing a single command it did not return the >>> command prompt. Even after selecting the refresh option at the bottom of the screen, the command prompt would not return.  Therefore I could not enter another command.  Also, you cannot save a program.  

    I found another 2 apps which I found very useful. 'IP Scanner' is a free app which scans the network and lists the IP addresses which are connected.   It can be useful in a classroom situation to see how many devices have connected.  Unfortunately you cannot SSH to the devices by selected an item in the list, which is a facility of IP Scanners on other platforms.

    VNC is an alternative way of remotely accessing the RPi.  The Windows 8 app 'Janaikore Remote' is a VNC client which accesses the GUI LXDE on the RPi. Therefore you can access all of the GUI applications such as Python IDLE, LX Terminal, Internet Browser etc. To make it work you also need to install a VNC client such as 'TightVNCServer' on the RPi.  There are other VNC clients to choose from.