Implementacja stosu komunikacji w zasilanych bateryjnie urządzeniach NB-IoT
Streszczenie
W artykule zaprezentowano sposób implementacji wydajnego stosu komunikacji dla bezprzewodowych, zasilanych bateryjnie rejestratorów NB-IoT. Na podstawie doświadczeń zgromadzonych przy projektowaniu i rozwoju oprogramowania rejestratorów, wykonano analizy mające na celu wybór odpowiednich protokołów komunikacji, formatu serializacji danych, konfiguracji modułu NB-IoT oraz dodatkowe algorytmy opracowane w celu optymalizacji liczby transmisji i ilości przesyłanych danych. Przedstawiono również uzyskane wyniki wraz z analizą wpływu poszczególnych parametrów konfiguracji na czas życia baterii urządzenia i zużycie danych.
Słowa kluczowe
CoAP, internet rzeczy, NB-IoT, Protobuf, rejestrator, stos komunikacji, zasilanie bateryjne
Implementation of Communication Stack for Battery-Powered NB-IoT Devices
Abstract
In this article we present how to implement an efficient communication stack for wireless, battery-powered NB-IoT loggers. Based on the experience gained by designing and developing loggers’ software, we present our analyses performed in order to select the appropriate communication protocols, data serialisation format, configuration of the NB-IoT module and proprietary algorithms developed to optimise the number of transmissions and the amount of data sent. We also present the obtained results together with an analysis of the impact of individual configuration parameters on the devices’ battery life and data usage.
Keywords
battery-powered, CoAP, communication stack, IoT, logger, Narrowband IoT, Protobuf
Bibliografia
- Sinha S., State of IoT 2023: Number of connected IoT devices growing 16% to 16.7 billion globally, IoT Analytics [https://iot-analytics.com/number-connected-iot-devices/]
- Sinha R., Yiqiao W., Hwang S.-H., A survey on LPWA technology: LoRa and NB-IoT. „ICT Express”, Vol. 3, No. 1, 2017, 14–21, DOI: 10.1016/j.icte.2017.03.004.
- NB-IoT & LTE-M March-2023 – Summary, GSA [https://gsacom.com/paper/nb-iot-lte-m-march-2023-summary/]
- Release 13, 3GPP [www.3gpp.org/specifications-technologies/releases/release-13]
- Sultania A., Blondia C., Famaey J., Optimizing the Energy-Latency Tradeoff in NB-IoT with PSM and eDRX. „IEEE Internet of Things Journal”, Vol. 8, No. 15, 2021, 12436– 12454, DOI: 10.1109/JIOT.2021.3063435.
- Hoglund A., Lin X., Liberg O., Behravan A., Yavuz E.A., Van Der Zee M., Sui Y., Tirronen T., Ratilainen A., Eriksson D., Overview of 3GPP Release 14 Enhanced NB-IoT. „IEEE Network”, Vol. 31, No. 6, 2017, 16–22, DOI: 10.1109/MNET.2017.1700082.
- Ralte V., Chawngsangpuii R., Comparative Analysis of MQTT and CoAP Using Wireshark. Evolution in Computational Intelligence, 2023, 369–380, DOI: 10.1007/978-981-19-7513-4_33.
- Chen Y., Kunz T., Performance evaluation of IoT protocols under a constrained wireless access network. 2016 International Conference on Selected Topics in Mobile & Wireless Networking (MoWNeT), Kair, Egipt, 2016, 1–7, DOI: 10.1109/MoWNet.2016.7496622.
- Larmo A., Ratilainen A., Saarinen J., Impact of CoAP and MQTT on NB-IoT System Performance. „Sensors”, Vol. 19, No. 1, 2019, DOI: 10.3390/s19010007.
- Shelby Z., Hartke K., Bormann C., The Constrained Application Protocol (CoAP), „Internet Engineering Task Force (IETF)”, 2014, ISSN: 2070-1721.
- MQTT v 5.0, Oasis, 2019 [https://docs.oasis-open.org/ mqtt/mqtt/v5.0/mqtt-v5.0.html]
- Thakur R., Kumari R., A Comparison of Various IoT Application Layer Protocol. „American Journal of Electronics & Communication”, Vol. 3, No. 1, 2022, 28–34. DOI: 10.15864/ajec.3106.
- Popić S., Pezer D., Mrazovac B., Teslić N., Performance evaluation of using Protocol Buffers in the Internet of Things communication Protobuf vs. JSON/BSON comparison with a focus on transportation’s IoT, International Conference on Smart Systems and Technologies, Osijek, Chorwacja, 2016, DOI: 10.1109/SST.2016.7765670.
- Hunter G., A Comparison Of Serialization Formats [https://blog.mbedded.ninja/programming/serializationformats/a-comparison-of-serialization-formats/], 2019.
- Martincevic J., Data exchange in embedded systems – JSON vs Protocol Buffers, Infinium [https://infinum.com/blog/json-vs-protocol-buffers/], 2023.
- Specyfikacja Protobuf, Google [https://protobuf.dev/]
- Specyfikacja MessagePack [https://msgpack.org/]
- Specyfikacja BSON [https://bsonspec.org/]
- Specyfikacja Apache Avero [https://avro.apache.org/]
- Abbas M., Eklund J., Grinnemo K., Brunstrom A., Alfredsson S., Alay O., Katona S., Seres G., Rathonyi B., Guidelines for an Energy Efficient Tuning of the NB-IoT Stack. The 45th IEEE Conference on Local Computer Networks (LCN), Sydney, Australia, 2020, DOI: 10.1109/LCNSymposium50271.2020.9363265