Windows 10, IoT, Sphero 2 and Raspberry PI 2

Discussion in 'Live RSS Feeds' started by News, Oct 9, 2015.

  1. News

    News Extraordinary Robot
    News Feed

    Jun 27, 2006
    Likes Received:
    Our last Windows 10 Theme Week post, we turn to Friend of the Blog, Mike Taulty and his two recent posts about Windows 10, Sphero 2 and Raspberry PI 2 (and Windows 8.1 Lib, WinPhone and PC)

    Windows 10, the UWP, an old Windows 8.1 library and controlling Sphero across PC, Phone and Raspberry PI 2.

    It’s been a while since I played with my Sphero device and so I thought I’d see if I could get some code up and running on Windows 10 UWP to talk to it.

    It turned out to be a little more of a ‘journey’ than I’d hoped for but, nonetheless it was fun [​IMG]

    I last did any work with Sphero in this blog post where I wrote a Windows 8.1 application in HTML/JS on top of a C# library which itself wrapped a Sphero control library into a custom WinRT component such that it could be used from JS.

    I thought I’d revisit something similar in Windows 10 but use C# and XAML for everything rather than bring in HTML/JS.

    I went to look for a Sphero control library and ended up back here;

    where I have to admit that it’s a bit sad to see that the WinRT library for talking to Sphero;

    is still in a 0.9.0-preview variant built specifically for Windows 8.1 and it doesn’t look like anything much has changed with that library for around 2 years.

    Bummer. I’d hope that perhaps this will change in the light


    Putting the Basics Together on the PC

    I paired my Sphero with my PC over bluetooth and I then took the RobotKit library that Sphero has on github and I build a quick Sphero control service out of it;


    Moving to the Phone

    Up until this point, all the bits that I’ve played with for Windows 10 Mobile I’ve done in an emulator but I didn’t think that was quite going to cut it here and so I went and dug out an old Lumia 920 which has a broken proximity sensor (making it very hard to end a phone call!) and I set about installing the Windows 10 Preview on it.

    I’d say that it took around 1 day to get to the point where I had build 10512 installed onto this device. I had a number of problems including;

    • Running out of storage space.
    • Having updates repeatedly fail to install.
    • Getting stuck in a loop where my phone would reboot, show cogs, fail with an unhappy face and then repeat.

    In the end, I had to resort to the Windows Phone Recovery Tool in order to re-flash the phone, start the update process over again (without restoring any backup to the phone) and get it updated to Windows 10.



    Actually driving the ball;



    Moving to Windows IoT Core

    In terms of moving this to Windows IoT Core, I hit a really interesting scenario which I thought I’d share. Firstly, I powered up my Raspberry PI 2 and went to its web admin UI in order to pair the device with the Sphero;

    In Summary

    This has been a long post – what has it covered so far?

    1. Taking a Windows 8.1 library and using it in a Windows 10 project.
    2. Making that Windows 10 project work across PC, Phone and Raspberry PI 2.
    3. Dealing with a few hiccups along the way!

    I’ll follow up the post with another where I’ll see if I can control the Sphero from the PI without having to use the UI and a mouse – I’ll add some buttons onto a breadboard and see how that works out.

    In the meantime, all the code for this post is here for download if you want to do something with it.

    [Click through to see the complete post, Windows 10, the UWP, an old Windows 8.1 library and controlling Sphero across PC, Phone and Raspberry PI 2.]
    Windows 10, the UWP, Sphero 2 and Raspberry PI 2–Continued

    Following on from that previous post, I wanted to see if I could gain some control over my Sphero device without having to plug a mouse into the Raspberry PI and control the UI.

    I had a search through my Sunfounder kit of components and came up with this interesting looking gadget which is a Rotary Encoder with a switch built into it;


    It serves 2 purposes – the pole in the middle can be rotated and the device can report the direction of that rotation. That pole can also be depressed to act as a switch.

    I figured that this would give me enough to at least rotate the Raspberry PI and provide some kind of speed control and so I went with it.


    Follow @CH9
    Follow @coding4fun
    Follow @gduncan411


    Continue reading...

Share This Page