RPi Using Skypekit
Back to the Hub.
Software & Distributions:
Software - an overview.
Distributions - operating systems and development environments for the Raspberry Pi.
Kernel Compilation - advice on compiling a kernel.
Performance - measures of the Raspberry Pi's performance.
Programming - programming languages that might be used on the Raspberry Pi.
Sadly, there's no desktop Skype application currently available for the Raspberry Pi. However, Skype do have a Developer Program, and through that program it's possible to get the basic bits & pieces needed to put together a Skype client that will run on the Pi.
SkypeKit is an SDK & set of runtimes provided by Skype to developers who want to create applications with Skype-based functionality.
You can think of a runtime as a 'headless' version of Skype: it's an executable which has no interface, runs on the commandline & connects to the Skype network and provides stuff like contact lists and the ability to make calls. The SDK allows you to write code which talks to the runtime. You're never dealing with the Skype network directly; just manipulating the runtime. When you're developing with SkypeKit, presenting an interface to the user is your responsibility. The core Skype functionality is the runtime's responsibility.
There are a number of runtimes available for various combinations of OS & architecture. Luckily for us, there's a linux-armv7le-eabi runtime which runs on the Pi.
Handily, the SDK also comes with a bunch of example code which lets you do things like chat & make and receive calls on the command-line.
There's a fair bit of footwork required to get to the point where you can get your Pi connecting to Skype. Firstly, most importantly, and the reason that this stuff is currently only useful to developers is the fact that you'll need to sign up to the SkypeKit Developer Program to get the runtime and the application keys needed for its use.
Getting the SkypeKit SDK & runtime
- First, you'll need to sign up to the SkypeKit Developer Program. Visit https://developer.skype.com/signup. Click "Sign in with Skype" and do that thing.
- Once you're signed up to the Developer Program, you'll need to sign up to the "SkypeKit for Embedded" Program to download the runtime for Pi. Go to http://developer.skype.com/account/projects and click the link that says Join for US $5 on the "SkypeKit for Embedded" line in the Programs section. The astute will already have realised that it costs $5.
- Once you're signed up to the SkypeKit for Embedded program, you'll need to create a Project to get the key pair that the runtime requires to run. Visit http://developer.skype.com/account/projects again; you should now see that where the Join for US $5 link was which you used to sign up to the Embedded program, it now says "Create a new project". Click that link and follow the instructions to create a project.
- Once you've created a project, you'll be able to download the SDK, runtime & key pair you need to run a runtime on the Pi. Visit http://developer.skype.com/skypekit/releases. Remember, we're interested in the Embedded runtime for the Pi's ARMv7 chip; at the time of writing, this download is the 4.2.1 for Embedded SDK from the Step 1 section.
- You'll need to request the runtime, since they're built uniquely against a Developer Program account. Click "Request a runtime" in Step 2: Request and download runtimes. We're after a Linux / ARMv7 runtime, so select those in the dropdowns at the column headings in the table which appears. There's a few which can be used; I'm currently working with linux-armv7-skypekit-voicepcm-novideo, so that's as good a choice to make as any at this point.
- Finally, we'll request a key pair. Go back to the project that you created and click "Development key pair". Then click "Request a new key pair" and give it a name (I use dates). Click "Request key pair" after proving you're a human, then "Download the key pair"
- That's it! You now have everything you need to start slapping together a simple Skype-connected app
Building the tools
Using the example apps provided in the SDK