[MUSIC PLAYING]
TODD KERPELMAN: Hello I/O Live, Todd Kerpelman here.
And I am here with Jonathan Hui, who is a principal software
engineer over at Nest.
Hi, Jonathan.
JONATHAN HUI: Hi.
TODD KERPELMAN: So what is this that we've got behind us here,
this OpenThread stuff?
What is that all about?
JONATHAN HUI: Yeah, so Thread is an open IP
based mesh networking protocol for low power connected
IoT devices.
OpenThread is an open source implementation of that protocol
and it's available at GitHub.
It's an open development model.
Everybody can contribute, anybody
in the public, not just Nest.
So what we're showing here is a bunch
of devices, 10 different platforms,
running OpenThread, operating in a single IPv6 mesh network
all communicating together.
We have a Raspberry Pi in the corner that
connects this to a Wi-Fi network and communicates via the cloud.
All of these devices are communicating
their topology information within that mesh to the cloud.
And we display that on this display
here so you can see a full connected mesh
network with the devices here.
What we're showing here is a Thread sniffer.
So this is a standard Wireshark capturing all the traffic
operating in this mesh network that is
used to maintain this topology.
TODD KERPELMAN: So if I were a developer that
were looking to make a device that worked in a smart home,
I could basically take any of these microprocessors
here and use OpenThread as my way
to make sure that my device hooks up with everything
else in the home.
JONATHAN HUI: That's exactly right.
As I mentioned, OpenThread now supports 10 different radios.
And in fact, many of the silicon vendors
actually provide direct customer support of OpenThread
on their radios.
So I would encourage you, if you're already
working with a favorite silicon vendor of yours,
to reach out directly to that silicon vendor
and ask about OpenThread.
TODD KERPELMAN: And what are some
of the what are some of the cool features about OpenThread?
What makes it sort of an interesting networking
protocol?
JONATHAN HUI: The first is that it really
supports IP, which means it's the same technology that
is used to connect any other internet connected device.
And that makes it really convenient.
For example, when you're developing
using standard Linux, you can use standard sockets APIs
to communicate with your devices.
But more importantly, because you're using IP,
it means you can build solutions that utilize multiple link
technologies such as Wi-Fi, cellular, and Thread
with a single application layer communicating end to end.
You do not have to have application gateways
in between, which often represent
a single point of failure.
And with Thread, because there's no stateful application
gateways, you can have multiple connections
into and out of the network.
That makes it really resilient to have
no single point of failure.
TODD KERPELMAN: That is very cool.
And I notice there's this QR code here behind me.
What does that do?
JONATHAN HUI: Yeah, so Thread by default
requires you to have security enabled, which is actually
one of the key differentiators.
And because security is always enabled,
you need to have a very user friendly process
of getting that device securely onto the network.
And so what the QR code does is it enables a mobile app.
You just turn it on, you scan the QR code,
and it will securely connect with that joining device
to provide the security credentials to get
that device onto the network.
TODD KERPELMAN: I think I've used that when I've
set up my own Nest devices.
It makes things super convenient.
JONATHAN HUI: Exactly.
It's very similar to what we do at Nest.
In fact, the commissioning protocol
was designed following the principles that we use at Nest.
And so it really does enable a great user experience.
TODD KERPELMAN: Very nice.
And so what is Nest doing with OpenThread?
JONATHAN HUI: Yeah, so if we move over here,
Nest is actually enabling a number
of products with OpenThread.
The first is a connected deadbolt for your door.
It only communicates via Thread.
It's got no other kind of technology with it.
And because it's using Thread, it can actually
last for years on AA batteries.
And I can do a quick demo here.
So if I open up my mobile app, hold down the button,
we'll see the door unlock and there it goes.
And that's all happening over Thread.
Of course, the mobile is communicating over Wi-Fi.
It goes to a Thread border router
to this battery powered device.
TODD KERPELMAN: Would that work if my phone were not
connected to the Wi-Fi?
JONATHAN HUI: It would work.
So as I mentioned, our application layer
operates over any IPv6 network.
So it just happens that this mobile phone is only on Wi-Fi.
But you know, if it was connected to cellular
that would work as well.
TODD KERPELMAN: Very cool.
That is very interesting.
And if I were a developer and I were interested in finding out
more about OpenThread to use in my products, where would I go?
JONATHAN HUI: Yeah, so we have a website at OpenThread.io.
We have our source code at GitHub.com/OpenThread.
And you can reach us at Google Groups at OpenThread-users.
TODD KERPELMAN: All right.
So if you're interested in making your own cool internet
connected device that, I don't know,
does something amazing that I haven't thought of yet,
go head on over to OpenThread.io and check it out for yourself.
Thank you very much, Jonathan.
JONATHAN HUI: Thank you very much.
TODD KERPELMAN: Bye, y'all.
[MUSIC PLAYING]