Google I/O was wrapped up last week. One session was particularly interesting: "Connect Thread Devices to the Cloud with IoT Core". In it Google explains how the Thread protocol and their Cloud IoT Core are the future of IoT connectivity. This was backed up by showing a live demo built on Nordic's Thread solution. Keep reading to learn how to setup your own demo, but first please view the full recording of the session here.
Want to know more about Google I/O, Cloud IoT Core, Thread, CoAP and MQTT? Check this out.
The illustration above shows the demo setup. To the left you have the Thread devices, two nRF52840 DKs. Both are running Thread, but they use two different application protocols, MQTT and CoAP. The Thread devices are connected (with Thread) to a Thread Border Router, a Raspberry Pi with a nRF52840 Dongle connected to it. The nRF52840 Dongle provides the Thread connectivity, while the Raspberry Pi provides the Internet connectivity .
The CoAP part of the demo you can easily try out yourself, this is one of the many examples that we have in our software development kit (SDK) for Thread, nRF5 SDK for Thread and Zigbee. The example is named "Thread Google Cloud Platform CoAP Example" and contains all software and documentation to get this up and running. Just follow the documentation here. Please note that you also need to setup a Thread Border Router, but the software for this is of course included in our SDK as well, see this. On the hardware side you need an nRF52840 DK, an nRF52840 Dongle and a Raspberry Pi, or two nRF52840 DKs and a Raspberry Pi.
The MQTT part might be a bit more difficult to try out as this is not something that we have in our SDK. However, Google together with Nordic provided a repository where OpenThread, LwIP and FreeRTOS are combined, see this, so that should be a good starting point.
Another consideration in deciding on how many threads to have is that threads aren’t free: they take up memory. Each thread costs a minimum of 64k of memory. This adds up quickly across the many apps installed on a device, especially in situations where the call stacks grow significantly. Many system processes and third-party libraries often spin up their own thread pools. Affordable essay writing service reuses an existing thread pool If your app can reuse an existing thread pool, this reuse may help performance by reducing contention for memory and processing resources.