Student Conference on Computer Science Erfurt University of Applied Science Telemetry data receiving and processing using single-board computer running QNX OS ODESSA NATIONAL POLYTECHNIC UNIVERSITY 1 Shevchenko Ave 65044 Filiahin Denys Ilfa and Petrova str.,35a 65104 2015 Advisors: Ukraine: Chervonenko Petr Canada: Ivan Lobachev 1 Student Conference on Computer Science Erfurt University of Applied Science Abstract In this project we improved our skills in teamwork and learned how the real development occurs. We developed and tested a simplified model of the Internet of Things on the basis of Beaglebone single-board computer running QNX and wearable devices with Pebble OS, which communicate to each other via Bluetooth interface. 2 Student Conference on Computer Science Erfurt University of Applied Science Abstract ............................................................................................... 2 Table of contents ................................................................................. 3 1 Introduction....................................................................................... 4 2 Wearable Telemetry Monitoring System............................................ 4 Figure 1: Gateway ............................................................................ 4 3 Development .................................................................................... 5 3.1 GPS............................................................................................ 5 3.2 Wireless connection .................................................................... 6 List of references ................................................................................. 7 3 Student Conference on Computer Science Erfurt University of Applied Science Introduction In addition to studying at the University students should take part in various projects, developments and events. This helps them to acquire important teamwork skills and to learn about the newest technologies. For example, about the Internet of Things (IoT). IoT is a developing area of the information technology industry and electronics market. Many breakthroughs have occurred and continue to occur to make the system of gateways, servers, routers and individual sensor nodes work well together. The goal is to be efficient in terms of both power and data transfer. The things in IoT share five key components: the need for smarter power consumption, storage, and management; the need for stronger safeguards for privacy and security; high-performance microcontrollers (MCUs); sensors and actuators; and the ability to communicate. Wearable Telemetry Monitoring System Within the International IT startup school second grade students of the ONPU were offered to participate in some project. We were supposed to create some kind of a simplified model of the Internet of Things. The goal of the project was to develop and implement the Wearable Telemetry Monitoring System with a Data Gateway driven by RTOS QNX 6.6, as can be seen in Figure 1. Ga tew ay GP S Receiver (Telem etry d ata) US B po rt TI Beagle Bone (Controller) Q NX 6.6 Serial port US B Serial con nection Peb b le Sm a rtw a tch B lu eto oth st ack US B po rt Figure 1 Gateway 4 Student Conference on Computer Science Erfurt University of Applied Science Development The development was divided between two teams. One team was supposed to implement a Gateway based on TI Beagle Bone driven by QNX which served as a controller. Another team was creating a user-friendly application to represent the received information on the Pebble Smartwatch. As a member of the first team, I would like to represent our part of the project. On the first step, we made the QNX to receive the telemetry data. QNX Neutrino is a real time operating system (RTOS). It is based on the microkernel concept, so the minimum configuration requires a small amount of resources. This makes it suitable for installation on a single board computer. QNX Momentics IDE gave us an opportunity to create our own disk image to boot and run on TI BeagleBone. It was possible to manage the BeagleBone by providing the SSH connection. BeagleBone has a Sitara ARM Cortex-A8 processor running at 720 MHz. The advantage of ARM processors is low power consumption. Since the IoT devices supposed is to autonomously operate for a long time, energy consumption plays an important role. BeagleBone also features 256 MB of RAM, two 46-pin expansion connectors, on-chip Ethernet, a microSD slot, and a USB host and multipurpose device port which includes low-level serial control and JTAG hardware debug connections, so no JTAG emulator is required. GPS The GPS receiver provided a constant flow of telemetry data of the location. The data exchange was implemented using standard protocol NMEA 0183. It was done through a USB connection which first needed to be converted to a serial connection prior to processing the information. QNX for Beaglebone included a serial port driver, named devc-serusb. We started it, entered the parameters and got a device, which we were able to read, as a file in our program. Then we wrote a C-program, which received stings like this one: $GPRMC,125504.049,A,5542.2389,N,03741.6063,E,0.06,25.82,200906,,,*17 5 Student Conference on Computer Science Erfurt University of Applied Science It is a standard protocol NMEA 0183. First is a source (a satellite), then UTC time, status, latitude (North, South), longitude (East, West), horizontal component of speed, track angle, date and checksum. The program parsed the information from the string into the structure. The selected data was stored and organized on the controller using a database named QDB, and relevant information was sent to the wearable device upon request. The remainder of data was used for statistics, logging or in the case that the user requested all of the information within a certain time period. Wireless connection The smartwatch wirelessly requested and received the information via Bluetooth communication channel. Due to the fact that there is no Bluetooth driver available which could be used for such an application, it was implemented as part of the project. In order to do this, the driver was built on the already available Host Controller Interface (HCI) for QNX as a base, and required the adaptation of a Serial Port profile (SPP) as well as a Bluetooth stack. This driver was added to the others on the board and allowed the BeagleBone to communicate wirelessly with the wearable device. The data was received by another team, so it is the time for the member of the second team to tell about their part of the project. 6 Student Conference on Computer Science Erfurt University of Applied Science Bibliography 1) QNX Software Systems Limited, "QNX Neutrino RTOS System Architecture," QNX Software Systems Limited, Ottawa, 2014. 2) QNX Software Systems Limited, "Building Embedded Systems," QNX Software Systems Limited, Ottawa, 2014. 3) Oleg Logvinov, IEEE P2413 Chair Electronic Design, Open Standards Will Enable the IoT’s Growth, Sep 11, 2014. 7