{'fraction_non_alphanumeric': 0.015977443609022556, 'fraction_numerical': 0.0, 'mean_word_length': 5.228070175438597, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Reliable data transfer for collecting data from BLE sensors using smartphones as relays to the cloud

Bluetooth Low Energy (BLE) has recently positioned itself as one of the key enabling technologies in the Internet of Things (IoT). In order to provide scalability, one promising way to collect data from BLE sensors is to utilize the existing population of smartphones in their range as relays to the cloud. In this case, providing reliable data transfer becomes complicated due to challenges such as the varying smartphone density, the sleep cycle of the sensors, and the varying Internet connectivity or unreliability of the smartphones. Therefore, this paper proposes a reliable data transfer protocol that builds upon some of the principles of TCP to address the aforementioned challenges. The protocol is evaluated using computer simulations and a hardware prototype is implemented. The evaluations not only show that the proposed protocol provides reliable data transfer, but also how to configure the parameters of the protocol to ensure energy-efficiency.