Vis enkel innførsel

dc.contributor.advisorOnshus, Tor
dc.contributor.authorPedersen, Kristian Fjelde
dc.date.accessioned2019-10-31T15:13:24Z
dc.date.issued2019
dc.identifierno.ntnu:inspera:35771502:16987766
dc.identifier.urihttp://hdl.handle.net/11250/2625758
dc.description.abstractDenne oppgaven beskriver implementering, bruk og analyse av to forskjellige kommunikasjonsprotokoller designet for IoT implementert som to separate løsninger for å betjene roboter som utførerer ”Simultaneous Localization And Mapping” (SLAM). Nettverkstopologien som ble valgt, var mesh, og de to protokollene er Bluetooth Low Energy Mesh og Thread. Oppgaven inneholder også relevant teori, informasjon om både hardware og software brukt i oppgaven, og robotapplikasjonen slik den virker. Den første nettverksprotokollen implementert var Bluetooth Low Energy Mesh, som ble implementert ved hjelp av Nordic Semiconductors Software Development Kit (SDK) for Mesh- og System-on-Chip-løsninger. Nye modeller ble implementert for å være kompatible med Bluetooth Low Energy Mesh-spesifikasjonen, til tross for at ikke all funksjonalitet ble tatt i betraktning. Dessuten ble et UART- og USB-grensesnitt satt opp for å kommunisere med robotene, som de allerede gjorde med den forrige løsningen, for å se hvordan implementeringen oppførte seg. Den andre protokollen, Thread, ble også implementert med et SDK fra Nordic Semiconductor basert på en Open-Source-implementering av Thread, OpenThread. Applikasjonslaget i Thread-implementasjonen bruker MQTT-SN, som er et publish/subscribe system for meldingsutveksling. Et UART-grensesnitt ble også implementert med løsningen for å imøtekomme meldinger fra robotene. Meldingene ble sendt til en ekstern server gjennom en gateway lokalisert på en Raspberry Pi 3+, som også fungerer som en Thread router. Noen av sensorene på roboten ble kalibrert og testet mot en ny server som ble implementert på samme tid som denne oppgaven. En ny kommunikasjonsstack ble også laget til robotprogramvaren, og fjernet dermed noe av den tidligere programvaren, for å lage et mer minimalistisk grensesnitt til de nye applikasjonene. Ulike testoppsett ble satt opp for å få en dypere forståelse av hvordan programmene presterte med hensyn til pålitelighet, skalerbarhet, forsinkelse og dataflyt. Verktøy for monitorering og analyse av nettverk ble satt opp for de to programmene for å få en oversikt over meldingsoverføringer mellom enheter i Mesh-nettverkene i sanntid. Data ble deretter hentet ut for å visualisere meldingsflyt, hvis og hvor meldinger gikk tapt og hvordan de ble behandlet på ulike punkt med tanke på blant annet forsinkelse.
dc.description.abstractThis thesis describes the implementation, use, and analysis of two different communication protocols designed for the internet of things, IoT, implemented as two separate solutions to serve robots doing Simultaneous Localization and Mapping (SLAM). The network topology chosen was mesh, and the two protocols were Bluetooth Low Energy Mesh and Thread. The thesis also covers the relevant theory and a look at the hardware and software used. The first network protocol was Bluetooth Low Energy Mesh, which was implemented using Nordic Semiconductor’s software development kit for mesh and system-on-chip solutions. New models were implemented accordingly to be compliant with the defined Mesh Profile and Model specification, though not all features were taken into consideration. Besides, a UART and a USB interface were set up to communicate with the robots and the host computer as they already did with the previous solution, and to see how the implementation behaves. The second protocol, Thread, was also implemented with a software development kit by Nordic Semiconductor based on the open-source implementation of Thread, OpenThread. The application layer of the Thread implementation features MQTT-SN, which is a publish/ subscribe message transport system. A MQTT-SN topic structure for message publishing and subscribing was made to suit the system in the way of best practice. A UART interface was also implemented with the solution to accommodate messages from the robots. The messages were published to an external broker through a gateway located on a Raspberry Pi 3+, which also acts as a Thread Border Router. Some sensors on the robot were calibrated and tested towards a new server that was implemented at the same time as this thesis. Also, a new communication stack was made on the robot, removing some of its previous parts, to make a more lightweight interface to the new applications. Different test setups were made to get a deeper understanding of how the applications performed in terms of reliability, scalability, latency, and throughput. Network monitors and sniffer tools were set up for the two applications to enable real-time message transmission between the devices in the mesh networks. Data were extracted to visualize the message flow, if they were lost and how they were processed where that was needed.
dc.languageeng
dc.publisherNTNU
dc.titleMesh Networking for IoT - Implemented on robots using Bluetooth Low Energy Mesh and Thread
dc.typeMaster thesis


Tilhørende fil(er)

Thumbnail
Thumbnail

Denne innførselen finnes i følgende samling(er)

Vis enkel innførsel