Study of the protocol for home automation thread
Document typeBachelor thesis
Rights accessOpen Access
The Internet of Things is the biggest challenge and opportunity for the Internet today. An application of the IoT is a home automation system. The idea consists of IP-enabled embedded devices connected to the Internet using IPv6. The IETF added to this idea by defining 6LoWPAN as a technique to apply IPv6 to IEEE 802.15.4, a low-power wireless network standard. The existing home automation wireless technologies and products in the market do not meet the requirements of low power, resilience, IP-based, security and friendly use. With the goal of advance in this direction Thread is a simplified, IPv6-based mesh networking protocol developed for efficient communication between devices around the home. It connects to the internet and provides simple yet robust interface to the cloud. Thread stack is royalty-free but closed-documentation (payment). With the aim to make broadly available this to developers sharing their know-how, Nest released an open-source implementation of Thread protocol named OpenThread on May 2016 to make the technology used in its products available and accelerate the development of new devices for the connected home.The objective of the present study is to analyze this brand new coming technology, focusing on the released implementation and make some tests in a real platform describing where possible the routing details. The goal of the implementation phase is to have a working bench ready to test and validate some of the Thread functionalities specially the routing parameters and changes of topology. The implementation phase has been done using a hardware testbed. We address the configuration of the test scenario on both hardware and software levels. This allow us to develop some tests such as the basic connectivity between devices, checking the visibility of the nodes and the revision of the routing tables. Finally, through different captures, we will analyze the behavior after some changes of scenario. Performing these tests was very complex due to the lack of information that prevent us of making more advanced tests, especially those related to the routing and comparison with other protocols. Instead, we were able to perform some basic tests such as check connectivity, see routing tables, etc. With the current OpenThread implemented functionalities the next step could be study more thoroughly the part of the routing, as well as study upper layers such as commissioning roles in a Border Router, allowing to interact from outside the Thread network.