Functional Programming for the Internet of Things: A LoRa-MQTT Gateway written in Elixir

Networks for the Internet of Things typically use a gateway to provide connectivity between a low bit rate, low capability sensor network and the broader Internet. The gateway can be subject to very high traffic loads, many concurrent processes and needs to be highly reliable. Functional programming...

Full description

Saved in:
Bibliographic Details
Published in:Australasian Telecommunication Networks and Applications Conference [proceedings] pp. 214 - 217
Main Authors: Branch, Philip, Weinstock, Phillip
Format: Conference Proceeding
Language:English
Published: IEEE 29.11.2023
Subjects:
ISSN:2474-154X
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:Networks for the Internet of Things typically use a gateway to provide connectivity between a low bit rate, low capability sensor network and the broader Internet. The gateway can be subject to very high traffic loads, many concurrent processes and needs to be highly reliable. Functional programming languages such as Erlang and Elixir have proven to be an effective programming paradigm for such scenarios, notably in large scale telecommunications switches. In this paper we report on our experiences of developing a gateway between a LoRa network and an MQTT broker using the functional programming language Elixir. Our experience suggests that the discipline imposed by functional programming results in a system that is more compact, supports concurrent processes well and is more reliable than similar systems developed using conventional languages. However, we also note that subsystems to support the development of such systems are primitive and that functional programming has a considerably steep learning curve. Nevertheless we conclude that functional programming has considerable potential for the Internet of Things and plan to continue research in this area.
ISSN:2474-154X
DOI:10.1109/ITNAC59571.2023.10368535