2. Background
The growth of IoT has been exponential in recent years, with the number of connected devices expected to reach 75.44 billion by 2025, according to a report by Statista
[12]. As a result, there has been a proliferation of devices that use different wireless communication technologies to communicate with each other. Some of the most widely used wireless interfaces in IoT include Z-Wave, ZigBee, Wi-Fi, 4G-LTE, and IR.
Z-Wave is a wireless communication protocol specifically designed for home automation that operates in the 800–900 MHz frequency range and has a range of up to 100 m
[13]. ZigBee, on the other hand, is a low-power wireless communication protocol that uses the IEEE 802.15.4 standard and is designed for low data rate applications, with a range of up to 70 m
[2]. It provides a mesh network that supports a wide range of applications, including home automation, lighting control, and remote sensing.
Wi-Fi is a ubiquitous wireless communication protocol that operates on the 2.4 GHz and 5 GHz frequency bands and has a range of up to 100 m
[14].
Additionally, 4G-LTE is a mobile communication protocol that operates on the cellular network and has a range of several kilometers
[15]. Finally, IR is a wireless communication technology that uses infrared radiation to transmit signals and has a range of up to 10 m.
Infrared (IR) is a line-of-sight wireless communication technology that uses infrared light to transmit signals. It is extensively used in consumer electronics, such as televisions and remote-control devices.
Furthermore, various sensors are also used in IoT applications. Motion sensors detect changes in movement and are used in security and home automation applications. Temperature sensors measure the environment temperature and are used in HVAC and weather monitoring applications. Luminance sensors measure brightness and are used in lighting control and energy management applications. Humidity sensors measure the moisture content in the air for environmental monitoring and control applications. Vibration sensors measure mechanical vibrations for machinery monitoring and maintenance applications. UV sensors measure ultraviolet light levels for environmental monitoring and control applications. Energy sensors measure the energy consumption of devices in energy management applications. Switch sensors are used to control the state of devices and are widely used in home automation applications.
In addition to the individual applications of various sensors, many IoT applications utilize a combination of sensors through the use of sensor fusion techniques. Sensor fusion is the process of combining data from multiple sensors to improve accuracy and provide a more comprehensive view of the environment being monitored. Examples of established IoT applications of sensor fusion include smart occupancy detection
[16], smart healthcare
[17], and smart transportation
[18]. These applications demonstrate the benefits of combining multiple sensor inputs and the potential for more advanced IoT systems.
The use of multiple wireless communication technologies in IoT devices poses challenges for interoperability and integration. Therefore, the need for testbeds that can handle the diversity of IoT devices and communication technologies has become increasingly important. Testbeds provide a controlled environment for testing and evaluating IoT systems, enabling researchers and developers to identify and address issues related to interoperability, security and reliability.
3. OpenHAB Platform
The openHAB platform is an open-source platform that provides a vendor and technology-agnostic solution for integrating smart home devices
[19]. It is a popular platform that enables communication between different devices and technologies, providing a standardized and flexible abstraction layer. The platform offers a variety of bindings that can be used to connect devices using different wireless protocols, such as ZigBee, Z-Wave, EnOcean, and Wi-Fi
[10]. The openHAB platform is freely available for download and use from the official website at
www.openhab.org (accessed on 13 March 2023).
One of the key features of the openHAB platform is its user-friendly interface, which allows users to monitor and control the devices and systems connected to it. It offers real-time monitoring and access to the data collected by sensors, enabling users to create customized rules and automations that can be triggered by events or conditions, such as changes in temperature or motion
[20].
The openHAB platform’s modular design is another key feature that allows users to easily add and remove devices and systems as needed
[21]. It supports a wide range of devices and systems, and provides integration with popular services, such as Amazon Alexa, and Google Assistant, for voice control
[22]. The modularity of openHAB is especially beneficial for projects such as ASSIST-IoT that aim to build an inclusive and flexible IoT ecosystem. By leveraging openHAB’s modularity, projects like ASSIST-IoT
[23] can easily integrate new devices, protocols, and technologies, ensuring adaptability and future-proofing. Incorporating openHAB’s modularity into the testbed will improve its ability to address real-world applications and drive innovation in the IoT space.
3.1. Persistence
The openHAB platform includes a powerful persistence layer that enables users to store and retrieve data generated by the devices and systems connected to the testbed. The persistence layer is based on a flexible and extensible architecture that supports a variety of storage options, including relational databases, NoSQL databases, and cloud-based storage services. This allows users to choose the storage option that best suits their needs and provides the best performance for their particular use case.
The platform’s persistence layer supports both historical and real-time data storage and retrieval
[24]. This means that users can store and retrieve data generated by sensors and devices over an extended period, as well as receive and analyze real-time data streams. The platform provides a variety of persistence services, including data aggregation, data filtering and data visualization, to help users analyze and interpret the data collected by their devices and systems.
The openHAB platform’s persistence layer also provides support for data archiving and backup, ensuring that users can access their data even in the event of system failure or data loss
[24]. This makes the platform suitable for use in mission-critical applications, where data integrity and availability are paramount.
3.2. REST API
The openHAB platform provides a REST API (Application Programming Interface) that enables external programs to access and control various aspects of the system. This API allows for the retrieval of data related to Items, Things and Bindings, as well as the invocation of actions that can change the state of Items or influence the behavior of other elements of openHAB. The REST API provides a simple and standardized interface that can be accessed using the HTTP protocol, making it easy to integrate with other systems and applications.
By providing a REST API, the openHAB platform acts as an abstraction layer between the end user and IoT technologies, enabling developers to focus on building applications without having to worry about the underlying complexities of the IoT system. This simplifies the process of building and integrating smart home applications, allowing developers to create innovative new products and services more easily
[25].
3.3. Functionalities
In addition to its persistence layer and the REST API, the openHAB platform provides a wide range of functionalities that enable the integration of different devices and sensors. Here are some of the main functionalities provided by the platform:
-
Rule engine: The openHAB platform provides a powerful rule engine that allows for the automation of various actions based on the status of different devices and sensors. For example, if a motion sensor is triggered, the rule engine can automatically turn on the lights in the room.
-
User interface: The platform provides a user-friendly web interface that can be used to monitor and control different devices and sensors. The interface can be accessed from a web browser or mobile app.
-
Integration with third-party services: The platform can be easily integrated with third-party services such as IFTTT, Amazon Alexa, and Google Assistant. This allows for voice control and other advanced functionalities.
-
Flexibility: The openHAB platform is highly flexible and can be customized to meet the needs of different applications. It provides support for various protocols such as MQTT, Z-Wave, ZigBee, and others.
-
Add-ons: The platform provides a wide range of add-ons that can be used to extend its functionalities. These add-ons include bindings for different devices and sensors, as well as user interfaces and rule templates.
3.4. Security Features
The proposed testbed uses openHAB as a security layer that controls user authentication and access control through various methods such as HTTPS, SSH (Secure Shell) and role-based access. Communication between the testbed and users is encrypted via SSL certificates and there are options for secure remote access, such as running openHAB behind a reverse proxy or setting up a VPN (Virtual Private Network) connection. It is worth noting that openHAB has built-in support for restricting access through HTTP(S) for certain users. These security features ensure that access to the testbed resources is carefully controlled and that communication with the testbed is secure.
3.5. Platforms Comparison
Comparing different IoT platforms is critical for researchers and practitioners looking to design or deploy a platform that best meets their needs. While each platform has its own set of advantages and disadvantages, openHAB was selected for this project after thorough analysis of various aspects. To begin, openHAB is an open-source platform that allows for extensive customization, making it easy to interact with various sensors and devices. Its adaptability enables seamless integration with a diverse range of hardware components. Furthermore, openHAB supports a variety of communication protocols and standards, such as MQTT (Message Queuing Telemetry Transport), REST (REpresentational State Transfer), and CoAP (Constrained Application Protocol). This interoperability ensures that various devices and apps in the IoT ecosystem communicate smoothly and efficiently.
OpenHAB supports powerful security features such as authentication and authorization procedures. These security measures protect the system from illegal access and data breaches, protecting the IoT infrastructure privacy and integrity. Additionally, openHAB has the advantage of being a low-cost option. It is freely available as an open-source platform and does not require any license fees. As a result, it is an appealing alternative for businesses and developers seeking to construct IoT systems without incurring additional costs.
4. Basic Testing
To evaluate the performance of the IoT testbed, a series of basic tests focused on the functionality of the different wireless interfaces and sensors were conducted in a controlled environment. The aim of these tests was to ensure that the wireless interfaces and sensors were functioning correctly and were able to communicate with the openHAB platform. The collected data were analyzed to determine if the sensors were producing accurate and reliable data.
One of the key tests performed was to verify the connectivity and functionality of the wireless protocols supported by the testbed, such as ZigBee, Z-Wave, and Wi-Fi. Tests were also conducted to ensure the compatibility of the wireless protocols with different types of sensors and actuators. These tests were necessary to confirm that the devices could communicate with the openHAB platform and be controlled by it.
To evaluate the accuracy and reliability of the data collected by the sensors, tests were conducted to measure the precision and repeatability of the sensor readings. These tests ensured that the sensors produced consistent and reliable data, which is essential for the success of any IoT application. The collected data were analyzed using statistical methods and the results were compared to the expected values for the sensors under test. These tests allowed for the identification of any errors or inaccuracies in the sensor readings.
For the wireless interfaces, we tested their connectivity, reliability, and range. The Z-Wave and ZigBee interfaces provided a stable and reliable connection within their specified range, while the Wi-Fi interface provided good coverage and high bandwidth. The 4G-LTE capability was tested as a backup scenario for situations where the Wi-Fi or Ethernet connection was disrupted, and it proved to be a reliable alternative internet connection. To test the reliability of the IR interface, we used the IR bridge to send commands to A/C units of different brands and monitored their response. The tests were successful, indicating the suitability of the IR interface for controlling temperature and humidity.