Talk to Cortana on your phone, laptop or desktop and control a Gadgeteer device wirelessly over AllJoyn. Here’s part one (architecture and demo) of a two-part series on building Voice-enabled, and Gadgeteer-enabled AllJoyn services to run on Windows 10 IoT Core, Windows 10 and/or Windows 10 Phone.
On the Raspberry Pi, I run Windows 10 IoT Core and an AllJoyn service to drive a Fez Cream and Gadgeteer relays and button. This producer service advertises the relays and button as being available for control and/or subscription.
On the phone and laptop, I run identical copies of a program that registers new voice commands with Cortana and searches for our relay node. When Cortana hears the commands, she calls my new AllJoyn service to send messages to the RPi/Gadgeteer relay node.
This is part 1 of 2. In part 2, I will do a walk-through on the Gadgeteer, AllJoyn and Cortana software pieces and cover various diagnostic tools you can use with AllJoyn.
Many thanks to GHI for such great products and Gary and Gus for their support.
@ mcalsyn - This is absolutely brilliant! I’ve been tinkering with home automation for 4 years now. I saw AllJoyn at BUILD this year and was really impressed with it. Now that wifi is supported and I see this working example I think I’ll try it! Probably do a custom pi shield pcb if it goes well. Can you share the source code for this example?
Thank you all for the kind words. I’m having a blast working with the Fez Cream. It really brings some rich and robust rapid prototyping to the RPi.
@ Valkyrie-MT - Looks like they got you squared away. There will be some minor cleanup when I do the part 2 video. I just noticed that I left some test code in the control point app. The control point app currently doesn’t do anything interesting when run in the foreground except to register the voice command templates, but I had some code in there to cycle the relays, and it is still in there. I need to pull that out and maybe make the foreground app do something more interesting (like show the current state of the relays). The background portion of the app is the one that Cortana launches when she recognizes a phrase pattern that you registered.
@ ianlee74 - I use v10240 continuously - no problems so far. I had issues with the versions in the 9000’s, but 10240 seems rock solid to me. By the way, I used the phone to demo (for effect, and because it was easier to film) but you can run the same code in Win 10 on a laptop or desktop as a desktop program. It’s a ‘universal’ app. Interesting Alljoyn scenarios arise when you start to have multiple control points, which I examine in part 2.
@ DanW - This demo is only using local-network discovery, but the AllJoyn spec includes provision for routing through the cloud. Now, I don’t know (and haven’t researched) how much of the cloud routing functionality is exposed in the Win10 implementation of the router, but I will eventually. There are lots of AllJoyn concepts (security zones/guilds, cloud routing, etc) that I didn’t explore here, but I am planning on doing a lot more with AllJoyn, so I’ll probably get to those topics sooner or later.
Well, you’re a busy fellow and I just figured it would save you time if I took the credit.
Truth be told, without the support and encouragement from Gary and great products from GHI, none of it would come to be. The Fez Cream is a treat to work with, and I can see myself putting quite a few of them to use.
@ Gus - If you want to get to the ‘taking credit’ part fast, you’re absolutely right.
That whole demo was a one-day project, including writing a new Fez Cream driver for the relay - five hours from start to finish (not counting the video) - and a good part of that was debugging a networking issue with AllJoyn not working correctly on one of my VM-host machines.
@ All - I recently updated my Lumia 630 with WP10 Build 10512 set the region, language etc. to English US to get Cortana but if I press the tile it just goes to bing and starts to show me the picture of the day. This is not really what I expected, did I miss something here ?
Or am I to thick to use Cortana ?
P.S. Now, I do not really need a confirming answer on the last question … :naughty: , but some help would be appreciated …