You are on page 1of 15

This article has been accepted for publication in a future issue of this journal, but has not been

fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/JIOT.2020.3012022, IEEE Internet of
Things Journal
1

Design and Operation of a Lightweight Educational


Testbed for Internet of Things Applications
Mahmoud AbdelHafeez, (Student Member, IEEE), Ali H.
Ahmed, and Mohamed AbdelRaheem, (Member, IEEE)

Abstract—In this paper, we present the design and operation


process of AssIuT-IoT testbed; an educational and remotely
accessible testbed for internet of things applications. The testbed
adopts the Experiment as a Service (EaaS) model in which users
are able to access the testbeds and reserve/use the available
resources remotely over the internet. Also, the testbed is
federated with other ones distributed among different locations
to allow sharing of resources, user accounts, and policies.
The federated testbeds form an educational consortium that
facilitates students’ access to hardware resources available at
different locations. AssIuT-IoT testbed consists of a control
server and a set of IoT nodes (hardware resources) supported
with different wireless communication capabilities. We present Fig. 1: IoT system layered architecture [1].
the design, operation, and performance details of the testbed in
terms of the hardware and software components. We describe
the steps needed to complete experiments using our testbed, and
we provide some examples. Moreover, we evaluate the testbed used in this paper. It consists of five layers organized as
and the IoT networks performance. Finally, we present the follows2 :
internet of things students’ competition as one of the activities
where the testbed has been used.
• Layer 0 (Things layer): This layer includes the physical
Index Terms—Internet of Things, Testbed, EaaS, WiFi, Zig- devices or “things” which are needed to be connected
Bee to the internet. From its definition, this layer includes
a very wide spectrum of different members including
humans, appliances, vehicles, animals, etc.
I. I NTRODUCTION • Layer 1 (Sensors Layer): This layer includes the
1 sensors, transducers, and actuators attached to layer 0
The internet of Things (IoT) [2] [3] is an emerging members. It is responsible for acquiring the necessary
technology that is expected to change our life in many information from layer 0 members and their surrounding
aspects. According to the International Telecommunication environments. This layer has a high heterogeneity level
Union (ITU), the number of IoT nodes is expected to exceed due to the wide range of available sensors; however, it
28.1 billion by 2020 [4] with a market value of about 7.1 has less members than layer 0 as one type of sensors
trillion US dollars. In IoT paradigm, the devices “things” can be used for many “things”.
are equipped with appropriate internet connectivity modules • Layer 2 (Nodes Layer): This layer includes the pro-
to allow these devices to communicate with each other cessing power of the IoT nodes. It is responsible for
or with central cloud services which creates a large-scale receiving the sensors’ data and performing the necessary
heterogeneous network. pre-processing functions. Examples of the members of
As IoT paradigm targets almost everything surrounding this layer are microcontrollers (MCUs), Raspberry Pis
us, it has unlimited applications in different sectors like (RPis), and smartphones.
healthcare, farming, construction, transportation, etc. Due • Layer 3 (Communication Layer): This layer includes
to the high diversity level of IoT applications and their the different communication modules responsible for
heterogeneity, it is better to apply the layered model on IoT exchanging the data and commands between the IoT
systems to achieve a clear understanding of their different nodes and their peers or between the IoT nodes and the
components. Fig. 1 shows the IoT system layered architecture cloud-based services. The communication technologies
used in this layer include Ethernet, Zigbee, WIreless
M. AbdelHafeez and M. Abdelraheem are with the Department of FIdelity (WiFi), and Cellular communications among
Electrical Engineering, Assiut University, EGYPT e-mail: (mahmoud-
hafeez@aun.edu.eg and m.abdelraheem@aun.edu.eg).
Ali H. Ahmed is with the Faculty of Computers and Information, Assiut
University, Assiut, EGYPT e-mail: (ali.hussein@aun.edu.eg)
1 An earlier version of this paper appeared in the proceedings of the 2018 2 In some cases, one device may represent more than one layer like the
IEEE Global Conference on Internet of Things [1]. smartphone which may contain the upper four layers

Copyright (c) 20xx IEEE. Personal use of this material is permitted. However, permission to use this material for any
must be obtained from the IEEE by sending a request to pubs-permissions@ieee.org
2327-4662 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: Carleton University. Downloaded on August 04,2020 at 03:58:24 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/JIOT.2020.3012022, IEEE Internet of
Things Journal
2

Fig. 2: AssIuT-IoT testbed access scenario.

others3 . IoT systems and to build prototype projects before final


• Layer 4 (Cloud Layer): This layer includes the cloud- implementations. Also, a set of educational materials and
based platforms responsible for receiving, storing, pro- video tutorials are provided to facilitate the testbed usage.
cessing, and visualizing the IoT nodes’ data. Examples Our design follows the layered architecture for IoT systems
of the cloud platforms include Amazon Web Service depicted in Fig. 1 and the following points summarize our
(AWS), Google cloud platform, Microsoft Azure, etc. testbed design philosophy:
Also, it may be a customized platform as in our testbed.
• The separation, if practicable, between the different lay-
As can be noticed from the described architecture, the IoT ers of IoT system so that students can better recognize
systems are characterized by their high level of heterogeneity the various elements of the IoT structure.
in terms of the utilized technologies such that an IoT system • The testbed usage is free of charge and can be accessed
designer has to gain a variety of knowledge in more than remotely.
one field to be able to design and build a complete IoT • The testbed replicates real-life design scenarios, such
system. For students and junior researchers, gaining sufficient that the user does not need any additional skills.
experience in these fields is a challenge that prevents them • The testbed utilizes over the counter hardware compo-
from exploring the IoT benefits. nents available globally as well as in the local markets.
To overcome this challenge, we designed and implemented
a remotely accessible IoT testbed located at Assiut Uni- Fig. 2 depicts a simple scenario to illustrate the general
versity, Egypt and hence named AssIuT-IoT4 . The testbed operation mechanism of AssIuT-IoT testbed. In this scenario,
design allows the users to access the IoT nodes in an easy the testbed user has only a computer connected to the internet
and low-cost way over the internet. While other IoT testbeds to access the testbed and to build an IoT project. The user,
already exist [5]–[9], they are more suitable for experienced offline, writes and compiles the codes required for the IoT
users as they include up to thousands of advanced IoT nodes nodes needed for the experiment. Then the user logs into
(mostly, using Real-Time Operating System (RTOS)) which the control portal using a secure authentication procedure,
may not be of interest for students and junior researchers. and reserves some of the available IoT nodes for a certain
Also, they may not be able to replicate the hardware design time which should be enough to complete the required
if they want to implement their own projects. The purpose experiments5 . Then, using the testbed portal, the user uploads
of AssIuT-IoT testbed is to provide an educational tool for the code and programs the reserved IoT nodes. After proper
students and junior researches to understand the basics of configuration of the IoT nodes, they start to work according
to the user setup. After the expiry of the reservation time,
3 Higher internet protocols like Internet Protocol (IP), Transmission Con- the IoT nodes are released for other users.
trol Protocol (TCP), and User Datagram Protocol (UDP) are implemented
in layer 2 or 3 according to the capabilities of the hardware used in these
In this paper, we explain the testbed design including its
layers. two main components; the IoT nodes (hardware resources)
4 This work is a part of the Collaborative Research and Teaching Testbed
for Wireless Communications and Networks-Phase II (CRC II) project which
aims to build a number of federated testbeds in different technologies. In 5 The design of AssIut-IoT testbed allows more than one to access it at
this paper, we briefly describe the CRC II project and the federation process. the same time as long as they are not reserving the same resources.

2327-4662 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: Carleton University. Downloaded on August 04,2020 at 03:58:24 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/JIOT.2020.3012022, IEEE Internet of
Things Journal
3

IoTBed [8] is a generic architecture for testbeds as a


service model that allows creating testbeds from the IoT
nodes already connected to the internet. This feature allows
the developers to choose the appropriate testbed for their
purpose and to rent the available resources for the required
time. The architecture was validated using a testbed that has
IoT nodes powered by Contiki operating system.
Smart Santander [12], [13] is a testbed that focuses on
smart cities IoT applications. In this testbed, the IoT nodes
are distributed around a city covering an area of 1 km2 . The
IoT nodes are equipped with a number of sensors including
noise level, carbon monoxide, temperature, and light inten-
sity. The same authors provided a complete business model
for IoT testbeds in [14].
Fig. 3: AssIuT-IoT testbed JOSE [9] is a large scale IoT testbed located in Japan that
aims to integrate three types of IoT resources, namely IoT
and the control portal server. The current setup of the testbed nodes (sensors boards), IoT storage resources, and computa-
is shown in Fig. 3. tional resources. The testbed elements are distributed over 5
Paper Organization –The rest of the paper is organized locations in Japan and utilize network visualization to ensure
as follows. A brief review of IoT testbeds is provided in sensors’ data security and privacy.
Section II. An overview of the CRCII parent project and In [15], the authors proposed a laboratory IoT testbed that
the federated testbeds is given in Section III. The hardware focuses on Zigbee performance over different layers like the
design of the IoT nodes is described in Section IV. The Physical (PHY) and Media Access Protocol (MAC) layers.
control server architecture and its roles are described in The testbed is used to evaluate the network recovery scenar-
Section V. Section VI presents the basic steps required to use ios and the interaction between the Zigbee based network and
the testbed and run a complete experiment. In Section VII, the internet. This testbed is not remotely accessible. Also,
we present some basic experiments using the testbed. In IoT testbeds which focus on studying specific aspects of
Section VIII, we evaluate the testbed and the configured IoT IoT systems like security and power consumption have been
network performance. Section IX presents the IoT student proposed. In [16], the authors introduced a testbed that is
competition. Finally, the paper is concluded in Section X. dedicated to studying the security and privacy aspects of IoT
devices by analyzing the WiFi or Bluetooth traffic transmitted
II. I OT T ESTBEDS from these devices. The testbed is capable of conducting a
The maturity and rapid expansion of IoT systems deploy- number of experiments to test vulnerability scans, encryp-
ment has motivated the research and industrial communities tion solutions used, identifying insecure protocol versions,
to develop a large number of IoT testbeds for research and monitor idle IoT node traffic, investigating firmware up-
development purposes [10]. In this section, we provide a brief dates, authentication issues, and privacy violations. Authors
survey of the recent IoT testbeds. of [17] designed a security testbed that employs standard
FIT-IoT [5] testbed contains over 1500 IoT nodes dis- and advanced techniques like artificial intelligence to test the
tributed around six different locations including both static security robustness of IoT services.
and mobile nodes. This testbed utilizes different IoT nodes The authors of [18] proposed a testbed that measures the
based on different processors (MSP430, STM32, and Cortex- timing and energy consumption characteristics of a single
A8) and different wireless communication modules (Zigbee IoT node. The testbed utilizes MSP430 family MCU and
and WiFi). Every IoT node needs two other intermediate Zigbee module. The testbed is interfaced with the user via
processing devices; gateway which is a Linux computer and a control server which, on its turn, communicates with each
a control node to control its access and configuration. Also, IoT node using a small Linux-based node that is responsible
all nodes run using 5 different RTOSs. for programming the MCU.
FIESTA-IoT [6] is a large IoT consortium that consists of a As can be noticed from the above survey, current IoT
number of testbeds located across the European Union (EU) testbeds are dedicated to advanced research aspects of IoT
and covers different IoT applications like smart cities, mar- systems. Some of these testbeds [6], [9], [12], [13] focus
itime, water quality, smart grid, smart building, and crowd- on the IoT applications which benefit from the data received
sensing. The total number of available IoT devices exceeds through the deployment of a large number of IoT nodes.
5,000 units. They produce millions of sensors’ observations Other testbeds allow the researchers to build their own
per day providing a rich resource of IoT data for researchers. customized IoT networks for certain applications like in [5],
In [11], the authors designed a higher layer platform that [15], [18]. These testbeds utilize advanced IoT nodes which
enables performing experiments over multiple IoT testbeds mainly run over RTOS and require a dedicated control unit
through a federation framework. The platform was validated for each IoT node to allow its access and programming. In
by applying it on ten testbeds from the FIESTA-IoT project. addition, they focus on other aspects like nodes coverage

2327-4662 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: Carleton University. Downloaded on August 04,2020 at 03:58:24 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/JIOT.2020.3012022, IEEE Internet of
Things Journal
4

TABLE I: A features comparison between AssIuT IoT and other testbeds.


AssIuT IoT FIT IoT [5] Smart JOSE [9] St. Petersburg
Santander [12] SUT [15]
Scale Small Medium Large Large Small
Environment Lab Lab Outdoor Outdoor Lab
Mobility No Yes Yes No No
Purpose Education Research Research Education Education
and Research and Research
Communication Yes Yes Yes Yes No
heterogeneity
Level of Beginner Professional Professional Professional Beginner
Experience
Federation Yes Yes Yes No No
Reproducibility Easy Difficult Difficult Difficult Difficult

and mobility effect, and are not intended to be used by •The Internet of Things (IoT) testbed (AssIuT-IoT) [1]
students and junior researchers. While these testbeds are very hosted at Assiut university.
useful for developing and enhancing IoT systems, they are far • The Field Programmable Gate Array (FPGA)
too advanced for students and junior researchers. AssIuT-IoT testbed [21] hosted at Cairo University.
tries to fill this gap by providing an easy-to-use educational • A lightweight version of USRP testbed controlled by
testbed for IoT applications using hardware resources which RPis [22] is hosted at Alexandria University.
are available as over the counter items. Also, it allows the In the rest of the paper, we will focus only on AssIuT-IoT
users to replicate their projects after validating their design testbed.
on the testbed. Table I shows a features comparison between
AssIuT-IoT and other testbeds. IV. I OT N ODES D ESIGN
In this section, the hardware design of the testbed IoT
III. CRCII
nodes is described.
Collaborative Research and teaching Testbed for wireless
Communications and networks phase II (CRC II) is a multi- A. IoT node components
universities project which gives students and researchers
Here, we will describe the different components of the
remote access to the hardware resources available at different
designed IoT nodes according to the above layered model.
Egyptian universities. The project aims to reduce the cost of
purchasing duplicated hardware available in other universities Layer 1: The sensor layer is occupied by the DHT-
and benefit from the accumulated technical experience of 11 [23], a digital temperature and humidity sensor. The
testbeds’ administrators through tutorials and teaching ma- DHT utilizes a single-wire communication protocol to
terials prepared for every testbed. The testbeds are federated send the data to the IoT node MCU. This sensor was
together in a manner that allows them to be connected and chosen to be used in layer 1 in the testbed because of
synchronized with each other while providing a common its worldwide availability at affordable cost and its ease
interface to the user using minimum resources and costs. The of use. Also, a set of Light Emitting Diodes (LEDs) are
federation service provides the following features: connected to the MCU which are controlled through the
• Synchronizing resources and users databases among the
cloud platform to represent real actuators in IoT applications.
testbeds.
• Providing a single entity for registration and access
Layer 2: The onboard processor for the IoT node is the
to different testbeds through a unified portal (besides Arduino Mega 2560 Rev3 [24]. The Arduino Mega board
individual testbeds’ portals). is built around the ATmega2560 which is an 8-bit AVR
• Enforcing sharing policies among testbeds.
RISC-based MCU [25]. This platform is selected because
• Collecting utilization statistics from different testbeds.
it represents an easy-to-use introductory programming
The federation mechanism is based on the Slice-based Fed- environment that suits basic educational purposes.
eration (SFA) framework as will be described in Section V.
The CRC II federation is formed by : Layer 3: The AssIuT-IoT testbed nodes are equipped
• The universal Software Radio Peripheral (USRP) testbed with two wireless communication modules, namely WiFi
hosted at Alexandria University (the host of CRC I and Zigbee.6 The WiFi connectivity is provided by the
project [19]). It also contains the federation controller
6 It is worth mentioning that our testbed does not test the WiFi or
which is responsible for adding new sites to the federa-
the Zigbee communication properties like the transmission/retransmission
tion and the unified portal which acts as a central access mechanism, data rate, etc. The parameters of both protocols depend on the
point to all testbeds [20]. hardware modules used.

2327-4662 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: Carleton University. Downloaded on August 04,2020 at 03:58:24 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/JIOT.2020.3012022, IEEE Internet of
Things Journal
5

troller. It is responsible for managing the users’ Authentica-


tion, Authorization, and Accounting (AAA) processes. Also,
it synchronizes the information about users and resources
with other testbeds to enable the federation. The second role
is to act as the resources and experiments controller. Through
the portal, users reserve and configure the available resources,
execute experiments, debug code, and visualize the collected
data. In this section, the main components of the control
portal are presented and their functions are explained. Also,
the utilization of the RPi, which acts as a relay between the
control server and the resources, is presented. At the end of
this section, we describe the debugging utility used in our
testbed. Fig. 5 shows the control portal architecture with its
different components and depicts its relation to the users, the
resources, and the other testbeds.
Fig. 4: The IoT node and the shield Printed Circuit Board
(PCB) layout.
A. Control Portal Architecture
ESPressif Systems ESP8266-12E module [26], which is a The control portal is built using Django web frame-
low-cost WiFi module with a complete TCP/IP stack. The work [28] on Linux Debian operating system [29]. The server
WiFi wireless topology was chosen to provide the IoT nodes is HP Prodesk with an Intel Core i7 processor and 8 GB of
with a direct internet access or to form a local IoT network. RAM. To understand the different components of the control
The Zigbee networking is provided through the Digi’s Zig- portal, we divide its architecture into three layers according to
Bee (Xbee) module [27]. This module adopts IEEE 802.15.4 their roles regarding the users, resources, and the federation
protocol to provide peer-to-peer or point-to-multipoint net- service. These layers are:
working. In AssIuT-IoT testbed, the ZigBee network topol- Users Layer: This layer contains the software services which
ogy was adopted due to its special features which do not exist deal with the testbed users directly. These services are:
in WiFi networks. The Zigbee network has a greater wireless • The portal page templates: This service includes the
range which extends to hundreds of meters compared to different control portal web pages which interface the
few dozens of meters supported by WiFi networking. The user to the testbed. The portal pages can be classified
topology also provides mesh networking, compared to the into unified and customized ones. The unified pages are
WiFi star topology, which allows simple extension of the common to all testbeds like those used for users regis-
network’s physical range by routing data through mesh routes tration/access and resource reservations. The customized
between different IoT nodes. Digi’s Zigbee module has pages are tailored to the type of resources found in
been chosen because its firmware enables the module to different testbeds. For example, in AssIuT-IoT testbed,
be configured with ATtention (AT) commands via Universal there are customized pages like the “Upload Binary
Asynchronous Receiver-Transmitter (UART) terminals. This File” page which is accessed by the user to upload
introduces another degree of customizability by enabling the the MCU binary file to the portal which, on its turn,
remote user to configure the ZigBee network using the code programs the IoT node. Also, the “Variables Creation”
uploaded to the MCU of the IoT node. page which enables the user to define the variables to
be received from the IoT nodes.
B. Hardware implementation of the IoT nodes • IoT data visualizing: The testbed uses a javascript-
As illustrated in Fig. 4, the hardware of the IoT node based library to visualize the captured sensors data. In
was designed and fabricated as an Arduino shield on a the testbed portal “Variables Creation” page, the user
Printed Circuit Board (PCB). This consolidated design was adds the desired variables like temperature and humidity
adopted to achieve a small size of the IoT node. The Arduino which must match the same quantities collected by
shield form also provides a reliable connection and wiring to the IoT node7 . After executing the experiment, the
the Arduino board with the shortest possible electric paths. control portal receives the declared variables updates
Electronic components like level shifters and regulators are and visualizes them.
used to interface the Arduino board with the communication Resources Layer: This layer contains the set of software
modules, as both of the modules require a supply voltage of services that deal with the testbed resources. The portal
3.3V while the Arduino board operates on a 5V supply. communicates directly with the resources (IoT nodes) or via
the intermediate RPi which acts as a relay. These services
V. A SS I U T-I OT T ESTBED C ONTROL P ORTAL are:
In AssIuT-IoT testbed, the control portal has two main 7 This service may not be used if the user decided to use one of the
roles. First, the portal acts as the testbed management con- cloud-based services like Ubidots or AWS.

2327-4662 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: Carleton University. Downloaded on August 04,2020 at 03:58:24 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/JIOT.2020.3012022, IEEE Internet of
Things Journal
6

Fig. 5: AssIuT-IoT testbed control server architecture and its relation to experiment elements (user, CRC II testbeds,
resources).

• Node Programming: This service utilizes AVRDude transmitting IoT node ID and type. Then, the informa-
software tool [30] to communicate with the IoT node tion is stored in the system database and visualized. It
MCU. AVRDude enables the users, via the Command- depends on establishing a TCP/IP connection between
Line Interface (CLI), to download, upload, and manip- the IoT node and the portal using a unified packet format
ulate the program memory and EEPROM contents of to extract the IoT node ID and the sensor values. The
the AVR MCU using the In-System Programming (ISP) format of the packet is shown in Fig. 6.
technique. The user uploads the binary file that contains • Serial Monitoring: This service provides a debugging
the code to program a specific IoT node MCU through tool for the testbed users. Debugging messages sent from
the “Upload Binary File” page. The server automatically each IoT node over the USB interface is buffered and
generates the AVRDude commands with the targeted relayed to the corresponding user over the internet. This
Universal Serial Bus (USB) port and binary file location service utilizes Pyserial Library [31] to receive the IoT
to program the IoT node MCU. nodes MCU messages sent over the serial (USB) port.
• Node Identifying: This service is used to link the IoT The implementation of this service depends on the way
node unique identifier (ID) stored in its MCU EEPROM the IoT nodes are connected to the testbed (directly
and the server USB port connected to it as the latter is to the server or via an RPi) and will be discussed in
used by the AVRDude tool in the programming step. In Section V-C.
the server or the RPi, the communication with each IoT
The previous services form the necessary components to
node is done using the Abstract Control Model (ACM)8 ,
communicate directly between the portal server and the IoT
which emulates the serial (USB) port number. For that,
nodes. For the IoT nodes connected via an intermediate RPi,
the node identifying service invokes the AVRDude tool
some additional services are needed as the user has no direct
to scan the available ACMs and discover the IoT nodes
access to the RPi and the communication has to be done
connected to each of them by reading their IDs from
through the control portal. These additional services are:
the MCUs’ EEPROMs. The mapping between the IoT
node ID and its ACM number is stored in the portal • RPi Programming: As the testbed user has no direct
database to be used later by the AVRDude in the access to the RPi, this service relays the binary file,
node programming service. This service runs after the uploaded by the user on the portal targeting an RPi-
server is powered up and then periodically to update the connected IoT node, to the RPi over the Local Area
database for any hardware changes. Network (LAN) or the Wide Area Network (WAN)
• IoT Data Receiving: This service receives the sensor according to the location of the RPi. On its turn, the
values transmitted by the IoT nodes to the control portal RPi uses AVRDude tool to program the code on the
over the internet. It classifies the data according to the IoT node MCU.
• RPi Messages Archiving: This service is used to receive
8 The
ACM is equivalent to the COMmunication (COM) port in the the debugging messages from the RPi-connected IoT
Windows environment. nodes by using the Pyserial library. Then, the RPi

2327-4662 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: Carleton University. Downloaded on August 04,2020 at 03:58:24 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/JIOT.2020.3012022, IEEE Internet of
Things Journal
7

• Testbed Database: The server database is used to store


the data related to the users and resources as well as the
data received from the IoT nodes’ sensors9 . Through the
mySQL database management system, query requests
Fig. 6: Frame format for the update message payload trans- from the Django framework models to the database
mitted from an IoT node to the control server. tables are handled. The database tables can be classified
into federation tables and local tables (customized ta-
bles). The federation table entities define the minimum
transmits these messages to the server where they are set of information that has to be shared between the
saved and relayed to the IoT node user. federated testbeds. The federation tables are:
Federation Layer: It is responsible for facilitating the 1) Portal User: Contains the primary user information
federation between AssIuT-IoT and the other testbeds. This like username, password, affiliation, and type (student
layer consists of two main components: or instructor).
• Slice-based Federation (SFA): The federation is carried 2) Portal Reservation: Holds the reservations informa-
out using the SFA mechanism which is responsible tion such as user ID and node ID.
for the discovery, reservation, and provisioning of the 3) Portal Reservation Details: Contains the start and the
shared resources. It defines the minimal set of interfaces end times of the reserved node (slice time).
and data types that enable a federation of slice-based 4) Portal Phy Node: Contains nodes information such
network components to interoperate and synchronize. as node ID, name, Interface, or IP address if applica-
In SFA, slices are the primary abstraction used for ble.
accounting and accountability. A slice is defined by the The customized tables are those tailored to utilize spe-
set of resources spanning a set of network components, cific resources. In AssIuT-IoT testbed, these tables are:
plus any associated set of users that is allowed to 1) Node Phy Details: Contains the attributes which de-
access the resources for the purpose of running an scribe how to access and program the IoT nodes such
experiment. In the CRC II federation consortium, the as the node ID, ACM number, programming baud
SFA is used to synchronize the database of the differ- rate, and the RPi IP address in case of connecting to
ent testbed portals. The SFA also facilitates database remote nodes attached to the RPi.
synchronization between sites to ensure that all the 2) Node Vars: Contains the user-modified list of sensing
resources are available. As the federated testbed contains quantities which will be received from each IoT
different types of resources, the federation between the node. These table fields are modified by the user
testbeds is divided into multiple levels according to each to add/remove a new/existing sensing parameter for
testbed resource nature and capability. Table II shows individual IoT nodes.
the different levels of federation allowed for the CRC 3) Node Vars Output: Stores time-stamped values for
II testbeds. For AssIuT-IoT testbed, the federation is specific output variables for all of the IoT nodes.
limited to L1 where the testbed shares its resources and
sharing policy. On the other hand, higher-levels like L2
and L3 require additional capabilities to enable the user B. Raspberry Pi as an Intermediate Relay
to run an experiment that spans resources from different
In AssIut-IoT testbed design, the RPi acts as a relay
testbeds simultaneously using a single controller like
between some of the IoT nodes and the control server. The
the cOntrol and Management Framework (OMF) [32].
RPi is responsible for programming its directly connected
As there are no experiments required to be done using
resources and relaying their debugging messages to the server
combined resources from AssIuT IoT and the other CRC
but it is not involved in other tasks like resources and users
testbeds, we have limited the federation level of AssIuT-
management. Here, we utilize the Raspberry Pi 3 Model
IoT to L1.
B [33] running Raspbian [34] which is a customized version
of Debian Linux optimized for RPi. In this design, the RPi
TABLE II: Different CRC II federation levels.
Federation function L0 L1 L2 L3 is directly connected to the IoT nodes via the USB cables
Remote-Login x x x x and communicates with the control server over any IP-based
On-site reservation x x x x network using its Ethernet or WiFi interfaces. The RPi may
Resource sharing policy x x x belong to the same network of the testbed control server or
Remote site reservation x x x to another network as long as both networks are reachable
Multiple reservations to each other. As the RPi communicates with the control
x
from multiple site server using any IP based network type, the testbed resources
Accessing multiple (IoT nodes) will not be limited to those which are directly
x x
testbeds independently
connected to the server via its USB ports. This feature
Accessing multiple testbeds
x
using a single controller 9 The database also belongs to the resources layer as it is used to store
the variables’ update.

2327-4662 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: Carleton University. Downloaded on August 04,2020 at 03:58:24 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/JIOT.2020.3012022, IEEE Internet of
Things Journal
8

Fig. 8: Testbed serial monitoring service mechanism.

to the control server. This service receives different messages


Fig. 7: The RPi as an intermediate relay between the server from the Arduino board and relays them to the corresponding
and the IoT nodes. user who reserves the IoT node at this time. The design of this
service depends on whether the IoT node is connected to the
server directly or through the RPi. Fig. 8 shows the design of
enables the testbed to serve a large number of IoT nodes the serial monitor service. The design of this serial monitor
which may be distributed among different locations with only service is based on PySerial, a Python-based library that is
one server. The RPi setup in AssIuT-IoT testbed is depicted responsible for accessing and communicating using the serial
in Fig. 7. port of the host (virtual COM port in Windows and ACM in
When the RPi starts up, it notifies the control portal Linux environments). For the IoT nodes connected directly to
such that the server marks the RPi-connected IoT nodes as the server, the PySerial receives the messages directly from
available. When a user requests an IoT node connected using the IoT node onboard MCU. For the IoT nodes connected
the RPi, the same procedure of reserving and accessing a via the RPi, the process is carried out over two steps. In
server-connected IoT node takes place. The portal receives the first one, the RPi receives the serial messages from the
the binary file from the user and forwards it to the RPi IoT node using the PySerial library, then it forwards the
which uses the AVRDude tool to program the MCU of received messages to the control server where the messages
the targeted IoT node. After that, the IoT node collects are saved in an intermediate buffer before being relayed to
and transmits the sensor data to the control server as usual the corresponding user.
without any interaction from the RPi. At the end of using
the reserved slice, the server instructs the RPi to flush the VI. T ESTBED E XPERIMENTS S CENARIOS
program memory of the IoT node MCU. In this section, the procedure that should be followed to
properly use the testbed is described. Fig. 9 shows a flow
C. Serial Monitoring as a Debugging Tool chart that depicts the required steps to implement a typical
experiment on the testbed from the user’s point of view.
The Arduino Integrated Development Environment (IDE)
These steps are as follows:
does not support hardware debugging and, as an alternative
solution, it communicates messages between the onboard 1) Design Stage:
MCU and the host computer USB interface over the UART a) Network topology design: The user, offline, designs
serial terminal. In the application code, the user can check the the IoT network topology needed to be tested accord-
values of different variables by using the Serial.print ing to the needed application.
Arduino function which prints messages including the desired b) Coding and compiling: The testbed user should write
variable values on the UART interface. The user receives and compile the software code, usually in C program-
these messages using any terminal software on the user’s ming language for Atmega MCUs, which implements
personal computer. This method enables the user to check the required design and application for each IoT node.
the correctness of the execution of the user’s code. However, This step is usually performed offline before accessing
the serial communication requires that the Arduino board to the testbed in order to limit the resources’ reservation
be directly connected to the host computer via the USB cable time.
which is not feasible in our remotely-accessible testbed. To 2) Authentication & reservation stage: This stage con-
overcome this problem, a message logging service is added tains the steps required from the user to successfully

2327-4662 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: Carleton University. Downloaded on August 04,2020 at 03:58:24 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/JIOT.2020.3012022, IEEE Internet of
Things Journal
9

Fig. 9: Experiment steps flowchart.

access the testbed and reserve the needed resources.


It can be further divided into the following sequential
steps:
a) Authentication: The user must be registered at one of
the federated testbeds to be able to access the AssIuT-
IoT portal.
b) Nodes reservation: Based on the targeted IoT network
design, the user reserves the needed IoT nodes from
the available resources.
3) Variables creation stage: The configured IoT nodes
may send their collected sensor data to the control portal
to be visualized. To do that properly, the user has to
create a new entry on the “Variables Creation” page
for every variable that matches the name used on the
corresponding MCU code.
4) Programming the IoT nodes stage: In this step, the
user uploads the compiled application binary files to
each of the reserved nodes. After completion of the
upload to the control server, it programs the targeted
IoT node MCU by invoking the AVRDude tool.
5) Monitoring results & debugging stage: In this stage,
the user observes the data collected on the “Variables Fig. 10: (a) WiFi based IoT network (b) Mixed IoT network.
Monitoring” page or received through the serial monitor
debugging service. The user may eventually need to
change the code if the IoT network did not behave VII. E XPERIMENT E XAMPLES
according to the targeted design.
In this section, we describe small experiments that can be
carried out at the students level using AssIuT-IoT testbed.

At the end of the reservation time, the control portal auto- A. WiFi-based topology
matically uploads an empty binary file on the IoT node MCU As an overview of the WiFi based topology, the reserved
to flush the expired code. IoT nodes form a star connection using their WiFi modules

2327-4662 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: Carleton University. Downloaded on August 04,2020 at 03:58:24 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/JIOT.2020.3012022, IEEE Internet of
Things Journal
10

(Zigbee modules are deactivated in all nodes) with only the B. WiFi & Zigbee-based topology
central (parent) node connected to the internet as shown in In this topology, the local communication between the IoT
Fig. 10(a). The central node acts as a hub for the leaf nodes nodes is achieved through a Zigbee mesh network, while
as it collects and re-formats their data before sending it to the remote communication to the control server is achieved
the control server. After collecting the data, the central node through a WiFi connection at the central node only. The
initiates a remote connection with the control server through Zigbee topology as shown in Fig. 10(b) has three main
the internet to send all the collected data. The detailed superior advantages if compared with the WiFi star-based one
description of the tasks carried out by the central node are shown in Fig. 10(a). First, the number of nodes allowed in the
as follows: network is much larger. Second, the physical reach of the net-
work is much longer. Third, the mesh topology automatically
1) Configuring the ESP module to be in the dual-mode
configures the routing between the nodes to achieve the best
(station + access point).
configuration without the need for any interference from the
2) Networking with the internet. The ESP station mode
user. Zigbee modules also allow transparent data transmission
allows it to connect to an available WiFi internet con-
between the modules through their UART interface, which
nection to communicate with the control server for data
makes coding and synchronization between the nodes far
sending.
simpler if compared with the TCP server approach used by
3) Constructing an access point. The access point mode
the WiFi based topology, as the user needs only to configure
allows it to establish another isolated local WiFi network
the addresses once at the beginning of the code. The central
for the leaf nodes.
node aggregates the data received by its Zigbee module and
4) Establishing TCP connections with the leaf nodes to
transmits them to the control portal using its WiFi module.
receive their data.
At the control portal, the experimenter can check each of the
5) Waiting a predefined interval of time for the data to be
transmitted variables using a separate graph.
sent from the leaf nodes over TCP.
The central node performs the following tasks:
6) Closing the TCP connections with the leaf nodes.
7) Collecting its own sensors’ data. 1) Connecting to the internet through the available wireless
8) Formatting the collected data in a payload which is connection using the ESP module configured in station
compatible with the control server format shown in mode.
Fig. 6. 2) Reconfiguring the Xbee module to specific Zigbee net-
9) Initiating a TCP connection with the control server. work parameters by utilizing the proper AT commands
10) Sending the data to the control server. if necessary.
11) Closing the TCP connection with the control server. 3) Sending a pre-agreed data-request message to the first
12) Repeating the steps beginning from step 4 again. leaf node ordering it to send specific data from its sensor
and waiting for its response.
4) Repeating step 3 for all leaf nodes.
The leaf node performs the following tasks: 5) Collecting the data from the its sensors.
6) Formatting all the acquired data into a suitable payload
1) Connecting to the local WiFi network created by the structure compatible with the control server, as shown
central node. in Fig 6.
2) Gathering the required data from its sensors. 7) Establishing a TCP connection with the control server.
3) Sending the gathered data through the TCP connection 8) Sending all the formatted data to the control portal.
to the central node. 9) Repeating the steps beginning from step 3 again.
4) Repeating the steps beginning from step 2 again. The role of the leaf node is to:
1) Reconfigure, if necessary, the XBee module to specific
The main drawback of this configuration is that all the
ZigBee network parameters that match those at the
workload is centralized in the parent node, as it is responsible
central node.
for creating the local network, gathering data, formatting, etc.
2) Wait for the central node “data-request” message, that
which may reduce the speed performance of the network if
would be sent over the ZigBee network.
compared with other topologies that balance the workload
3) Parse the received message from the central node.
among all network nodes. As an example for the limitations,
4) Respond to the request message according to its content
the firmware installed on the ESP modules allows only 5
and to send the required unformatted data to the central
simultaneous TCP connections, which limits the number of
point.
leaf nodes connected to one central node. In addition, the
5) Repeat the steps beginning from step 2 again.
synchronization of the local transmissions between the nodes
and the remote transmission to the control portal (or cloud
service), heavily depends on the central node as it actually VIII. A SS I U T-I OT P ERFORMANCE E VALUATION
does all the work. This results in a complex firmware of In this section, the measurements and analysis of different
the central node which reflects on its performance (energy performance metrics of the AssIuT IoT testbed are presented
consumption) as will be detailed in the next section. including:

2327-4662 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: Carleton University. Downloaded on August 04,2020 at 03:58:24 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/JIOT.2020.3012022, IEEE Internet of
Things Journal
11

30

25
CPU utilization (%)

20

15

10

0
Server (Peak) Server (AVG) RPi (Peak) RPi (AVG)
CPU

Fig. 11: CPU utilization for both the Server and the RPi.

•The Central Processing Unit (CPU) utilization of the


control server and the RPi during the experiments.
• The performance of the wireless networks from the per- Fig. 12: Experimental setup for time and energy measurement
spective of transmission time and energy, when utilizing of wireless transmission.
the ESP8266 by the WiFi network and Xbee module by
the Zigbee network10 .
• Performance of the IoT nodes processing capabilities
cycles through the available child nodes sequentially. For
from the perspective of computation time and energy. the Zigbee network, the implemented topology is based on a
Zigbee network initiated by the parent node, as a coordinator,
All the results are shown with a confidence interval of 95%.
and all child nodes are connected to it. The parent node
sends a data request message to each child, one at a time,
A. Performance of the control server and RPi CPUs and the latter responds with the required data. The parent
In this experiment, we evaluate the ability of the control node cycles through the available child nodes sequentially.
server CPU (Intel Core i7 with 8 cores each of 3.6 GHz) The data request/respond frame used in both topologies has
and RPi CPU (Broadcom BCM2837 Quad Core 1.2 GHz) a typical size of 13/18 bytes. For both networks, the parent
to handle their tasks. The CPU utilization is monitored when node aggregates the data and forwards it to the cloud server
the maximum number of four nodes that can be connected to using its WiFi interface. A special experimental setup is used
the RPi, together with the current number of nodes connected to measure the total time and energy used by the parent node
directly to the server are programmed. The size of the binary during the data request/respond transmission phase among
file in use is 253KB, which is 98.8% of the maximum the local networks. Fig. 12 shows the setup used in the
possible size for the Atmega2560. Fig. 11 shows the peak and measurement process. A 0.5Ω resistor is placed before the
average (AVG) CPU utilization during this experiment. As Vcc pin of the wireless module (Zigbee or WiFi) to allow
can be inferred from the figure, the handling of simultaneous current sensing, by measurement of the voltage across the
experiments does not consume much of the CPU processing resistor and dividing by its value. A trigger signal is raised
power. Notably, while more than one user may be using the by the microcontroller immediately before the transmission
testbed server simultaneously, it is not expected that all of begins to start the data acquisition by the digital scope. The
them will be programming their reserved nodes at the same trigger signal goes to zero immediately after the transmission
time. Thus, the AssIut IoT is characterized as a lightweight end to stop data acquisition.
testbed. The energy and time of transmission are measured during
the period at which a full request/respond process is per-
formed with all child nodes in the network. The experiment
B. Performance of the IoT wireless networks is performed with one parent node and two, three, and four
In this experiment, we compare the performance of two child nodes connected to the network. To measure the WiFi
different small size IoT networks established using WiFi and module transmission time, a TCP connection is initialized
Zigbee technologies. For the WiFi network, the implemented with a child node, followed by the request-respond cycle, and
topology is based on an access point initiated by the parent then terminated before moving on to the next child. Fig. 13
node and several child nodes. The parent node initiates a shows the total transmission time needed for one transmission
TCP connection with each of the child nodes, one at a cycle, which includes all of the child nodes, for both the
time. The parent node sends a data request message to each WiFi and Zigbee based networks. For the transmission energy
child, and the latter responds with the required data (for measurement, the energy E is calculated as:
example, the current temperature value). The parent node  
X V0.5Ω (n)
E= (3.3 − V0.5Ω (n)) · · 10−5 , (1)
10 Here, we measure and compare the IoT networks performance not that
n
0.5
of the wireless modules themselves. The modules parameters, as indicated
in their datasheets, are listed in Table III. where n indicates the samples taken during transmission

2327-4662 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: Carleton University. Downloaded on August 04,2020 at 03:58:24 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/JIOT.2020.3012022, IEEE Internet of
Things Journal
12

TABLE III: Xbee and ESP8266 operation characteristics.


Serial Port Protocol Wireless Transmission Range Average current Operating voltage
speed (typical) rate (MAX)
Xbee 9.6 Kb/sec. IEEE 802.15. 4 35 Kbit/sec 120 m 40 mA 3.3 V
ESP8266 115.2 Kb/sec. IEEE 802.11 (b) 11 Mbit/sec 27 m [35] 71 mA 3.3 V

700
works [36], it is vital to implement cryptographic measures
to provide different security services through IoT networks
600 Zigbee
Wi-Fi like confidentiality and authenticity. One of the challenges in
500
IoT security is the limited available resources in IoT devices.
Time (msec)

400 Limitations in storage and processing power put restrictions


300 on the security algorithms that can be implemented in IoT de-
200 vices. The Advanced Encryption Standard (AES) symmetric
100
block cipher is chosen to be the code block under inspection
to quantify the loading effect of applying the cryptographic
0
2 3 4 code blocks and its execution cost on the processing unit at
Number of Child Nodes
run time.
Fig. 13: Data transmission total time in WiFi and Zigbee The measurements were done from two perspectives:
networks. • Required processing time
• Energy consumption
800 The previous parameters were measured for the application
Zigbee
of the AES symmetric encryption algorithm between the
600 Wi-Fi IoT nodes. The tests were done corresponding to the Cipher
Energy (mJ)

Block Chain (CBC) mode of operation. All the experiments


400 were performed on a 16 Byte (128 bit) plain/cipher text i.e.
one AES encryption/decryption block operation. The AES
200 library used is called tiny-AES-c by kokke [37].
1) Processing time measurements: Measurements were
0 done to both encryption and decryption processes individ-
2 3 4
Number of Child Nodes ually with the key sizes: 128, 192, and 256 bit. The At-
mega2560 was set to run at the maximum speed of 16 MHz
Fig. 14: Data transmission energy in WiFi and Zigbee net- and the internal built-in Timer unit was used to calculate the
works. time precisely.
Fig. 15 shows the required time for executing the
process, V0.5Ω is the voltage across the 0.5Ω resistance, and encryption and decryption processes of AES in CBC
10−5 sec. is the sampling time. The whole equation repre- mode with different key sizes: 128, 192, and 256 bit. If
sents a power integration with time into energy. Fig. 14 shows we compare the time required by the processing node to
the consumed energy during a complete request/respond perform decryption or encryption of a message with the
cycle for networks consisting of a parent and two, three, and transmission time shown in Fig. 13, we can notice that
four child nodes in WiFi and Zigbee networks. processing a computational intensive block of code like AES
As can be concluded from the figures, the WiFi network CBC takes only a small fraction of the total time compared
operates at a higher speed compared to the Zigbee network, to the time consumed in the transmission of packets.
despite the overhead time associated with the TCP connection
establishment and termination. This is because of the higher 2) Energy Measurements: Since the IoT nodes usually
data rate of WiFi compared to the Zigbee. On the other hand, depend on limited power sources (batteries), the energy
the energy consumption of the parent node in the Zigbee consumed by the running code segments has a direct impact
based network is less than that of the WiFi. Besides, the on the nodes lifetime. This section is concerned with the
Xbee has a longer transmission range compared to that of measurement of energy consumed while executing the en-
the ESP module. cryption and decryption segments of the code. Fig. 16 shows
the amount of energy consumed in the AES CBC mode, for
encryption and decryption processes with different key sizes:
C. Performance of the processing units of the IoT nodes 128, 192, and 256 bit.
To test the performance of the IoT nodes processing units, Again, the power consumed in a computationally intensive
a block of code is chosen to be executed while monitoring block of code like AES CBC encryption or decryption algo-
the time and energy consumption of the node during the rithm represents only a small fraction of the power consumed
code execution. Due to the importance of security in IoT net- in the transmission mechanism as shown in Fig. 14. As

2327-4662 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: Carleton University. Downloaded on August 04,2020 at 03:58:24 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/JIOT.2020.3012022, IEEE Internet of
Things Journal
13

2500
and scoring. After the announcement of the competition,
Encryption a duration of two weeks was given for different teams to
Decryption
2000 register in an online form. Tutorial sessions were conducted
Time (Microseconds)

remotely in the form of video-conference online meetings to


1500
help the teams know more about the testbed architecture and
1000 usage. The tutorial sessions included presentations, program
demos, and question sessions from the teams. After that, the
500
competition schedule was announced to the teams.
Since the number of the teams was greater than the avail-
0
128 192
Key Size (bits)
256 able hardware nodes, a time multiplexing plan was conducted
so that different teams have different time windows for
Fig. 15: Measured encryption and decryption time in CBC accessing the available hardware. Competitors were given a
mode with different key sizes duration of two weeks to perform all the required missions.
The competition consisted of five missions as below:
1200 • Mission no.1: Basic WiFi (60 points): This mission

1000 Encryption
required the competitors to write a code utilizing a single
Decryption
IoT node to connect it to the internet through a pre-
Energy (MicroJoules)

800
announced Service Set IDentifier (SSID) and password.
600 The user code should read the temperature and humidity
400
values through the sensor and send these values through
the WiFi to the server to be monitored periodically every
200
3 seconds.
0 • Mission no.2: WiFi + Zigbee (70 points): This mission
128 192 256
Key Size (bits) required utilizing two nodes; a parent node and a child
Fig. 16: Measured encryption and decryption energy con- node. The parent node connects to the internet through
sumption in AES CBC mode with different key sizes a WiFi connection and connects to the child node
through a Zigbee connection. The child has no internet
connection and it sends its temperature and humidity
a conclusion, the previous experiments show that the IoT values to the parent node, which aggregates the child
node can perform complex tasks while consuming a smaller data and sends it along with its own data to the control
fraction of time and energy compared to those consumed in server.
the communication process. • Mission no.3: Advanced WiFi (70 points): Similar to
mission 2 except that the connection between the parent
IX. A SS I U T-I OT S TUDENT C OMPETITION and child node is through the WiFi module. The parent
node acts as a hotspot and sets up a local WiFi network
A competition was organized between university-level stu- besides connecting to the internet WiFi network. The
dent teams to build different IoT networks by using AssIuT- child connects to the parent through the local WiFi
IoT testbed. The competition design ensured that teams from network to send its data. This mission was scaled up
different locations and universities have the same privilege to include more than one child node.
• Mission no.4: Execution time measurement (36
no matter how far they are from the testbed server as
long as they have remote access to the testbed through the points): The mission required the competitors to use the
internet. Also, organizing a competition with different teams timer module of the MCU to measure the time required
accessing all the testbed hardware and software services is for executing a pre-given block of code.
• Mission no.5: Security (46 points): The mission re-
a real benchmark for the testbed performance. The problems
which were occurred during the competition and the feedback quired the competitors to repeat mission 2 or 3 after
received from the competitors helped to improve the testbed applying a 128-bit AES encryption to the messages sent
significantly afterwards11 . In this section, the competition from the child node to the parent node. The parent node
phases and missions are described and the statistical results should decrypt the messages before transmitting them to
of the competition progress and results are discussed. the server.

B. Results, Statistics and Feedback


A. Competition design
Nine teams, distributed among different Egyptian univer-
The competition consisted of multiple phases, namely: sities, participated in the competition. Detailed score sheets
registration, tutorial sessions, missions tackling, evaluation, were created and filled by the judges to evaluate the function-
11 The serial monitor debugging utility described in Section V-C was
ality of the submitted codes, in addition to its reliability and
developed in its final version based on the feedback received during the readability. Fig. 17 shows the average degrees in percentage
competition. relative to the full mark scored by the teams in each mission.

2327-4662 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: Carleton University. Downloaded on August 04,2020 at 03:58:24 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/JIOT.2020.3012022, IEEE Internet of
Things Journal
14

[6] E. FIESTA-IoT, “Project, federated interoperable semantic IoT testbeds


and applications, grant agreement no,” CNECT-ICT-643943. Available
online: http://fiesta-iot. eu [Accessed: 8- April - 2020], Tech. Rep.
[7] L. Sanchez, J. A. Galache, V. Gutierrez, J. M. Hernandez, J. Bernat,
A. Gluhak, and T. Garcia, “SmartSantander: The meeting point be-
tween future internet research and experimentation and the smart
cities,” in 2011 Future Network Mobile Summit, pp. 1–8.
[8] M. Hossain, S. Noor, Y. Karim, and R. Hasan, “IoTbed: A generic
architecture for testbed as a service for internet of things-based
systems,” in 2017 IEEE International Congress on Internet of Things
(ICIOT), June 2017, pp. 42–49.
[9] Y. Teranishi, Y. Saito, S. Murono, and N. Nishinaga, “JOSE: An
open testbed for field trials of large-scale IoT services,” Journal of
the National Institute of Information and Communications Technology,
vol. 62, no. 2, 2015.
[10] M. Chernyshev, Z. Baig, O. Bello, and S. Zeadally, “Internet of Things
(IoT): Research, Simulators, and Testbeds,” IEEE Internet of Things
Fig. 17: Average mission’s degree relative to the full mark Journal, vol. 5, no. 3, pp. 1637–1647, 2017.
[11] J. Lanza, L. Sanchez, J. R. Santana, R. Agarwal, N. Kefalakis, P. Grace,
T. Elsaleh, M. Zhao, E. Tragos, H. Nguyen et al., “Experimentation as
a service over semantically interoperable Internet of Things testbeds,”
X. C ONCLUSIONS IEEE Access, vol. 6, pp. 51 607–51 625, 2018.
In this paper, we provided the detailed design and opera- [12] L. Sanchez, L. Muñoz, J. A. Galache, P. Sotres, J. R. Santana,
V. Gutierrez, R. Ramdhany, A. Gluhak, S. Krco, E. Theodoridis
tion of AssIuT-IoT, a remotely accessible, federated testbed et al., “Smartsantander: IoT experimentation over a smart city testbed,”
for IoT applications. The purpose of the testbed is to provide Computer Networks, vol. 61, pp. 217–238, 2014.
a practical educational tool for IoT systems through facili- [13] P. Sotres, J. R. Santana, L. Sánchez, J. Lanza, and L. Munoz,
tating user access to remotely located IoT nodes. The IoT “Practical lessons from the deployment and management of a smart
city internet-of-things infrastructure: The smartsantander testbed case,”
nodes are based on the Arduino Mega board and the testbed IEEE Access, vol. 5, pp. 14 309–14 322, 2017.
is controlled by a single server. The testbed design allows it [14] E. M. Silva and P. Maló, “IoT testbed business model,” Advances in
to serve a large number of resources as it uses Raspberry Pis Internet of Things, vol. 4, no. 04, p. 37, 2014.
[15] R. Kirichek and A. Koucheryavy, “Internet of things laboratory test
as intermediate relays between the server and some of the IoT bed,” in Wireless Communications, Networking and Applications.
nodes instead of directly connecting all of them to the server. Springer, 2016, pp. 485–494.
Through this paper, we provided a step-by-step guidance for [16] A. Tekeoglu and A. Ş. Tosun, “A testbed for security and privacy
analysis of IoT devices,” in 2016 IEEE 13th International Conference
one complete experiment from the user point of view. Also, on Mobile Ad Hoc and Sensor Systems (MASS). IEEE, 2016, pp.
the testbed platform performance was evaluated where both 343–348.
the server and the RPi were able to perform their tasks with- [17] S. Siboni, V. Sachidananda, Y. Meidan, M. Bohadana, Y. Mathov,
S. Bhairav, A. Shabtai, and Y. Elovici, “Security testbed for internet-
out showing significant CPU utilization. Moreover, the IoT of-things devices,” IEEE Transactions on Reliability, vol. 68, no. 1,
network performance was evaluated when utilizing Zigbee or pp. 23–44, 2018.
WiFi modules to show the advantages and disadvantages of [18] A. Pötsch, “A scalable testbed infrastructure for embedded industrial
wireless sensor and actuator networks: Ph. d. forum abstract,” in
each type of communication. Finally, we bench-marked the Proceedings of the 15th International Conference on Information
testbed by holding a student competition which utilized the Processing in Sensor Networks. IEEE Press, 2016, p. 45.
testbed in all its steps. [19] S. S. Hanna, A. Guirguis, M. A. Mahdi, Y. A. El-Nakieb, M. A.
Eldin, and D. M. Saber, “Crc: Collaborative research and teaching
testbed for wireless communications and networks,” in Proceedings of
ACKNOWLEDGMENT the Tenth ACM International Workshop on Wireless Network Testbeds,
Experimental Evaluation, and Characterization, ser. WiNTECH ’16.
This work was supported in part by the Egyptian National ACM, 2016, pp. 73–80.
Telecommunication Regulatory Authority (NTRA). [20] O. M. Mahmoud Mahdi and M. Elnainay, “Research and educational
federation testbed: A new architecture design for the collaborative re-
search cloud,” in International Telecommunications Society Conference
R EFERENCES (ITS), February 2019.
[1] M. AbdelHafeez and M. AbdelRaheem, “AssIUT IOT: a remotely [21] A. E.-R. Mohsen, M. Y. GadAlrab, Z. elhaya Mahmoud, G. Alshaer,
accessible testbed for internet of things,” in 2018 IEEE Global Con- M. Asy, and H. Mostafa, “Remote FPGA Lab For ZYNQ and Virtex-
ference on Internet of Things (GCIoT). IEEE, 2018, pp. 1–6. 7 Kits,” in 2019 IEEE 62nd International Midwest Symposium on
[2] A. Al-Fuqaha, M. Guizani, M. Mohammadi, M. Aledhari, and Circuits and Systems (MWSCAS). IEEE, 2019, pp. 185–188.
M. Ayyash, “Internet of things: A survey on enabling technologies, [22] A. Attaby, N. Osman, M. Elnainay, and M. Youssef, “WiPi: A low-cost
protocols, and applications,” IEEE Communications Surveys Tutorials, large-scale remotely-accessible network testbed,” IEEE Access, vol. 7,
vol. 17, no. 4, pp. 2347–2376, 2015. pp. 167 795–167 814, 2019.
[3] J. A. Stankovic, “Research directions for the internet of things,” IEEE [23] “DHT11 temperature and humidity sensor,” [Online].
Internet of Things Journal, vol. 1, no. 1, pp. 3–9, Feb 2014. Available: https://www.waveshare.com/wiki/DHT11 Temperature-
[4] International Telecomunication Union , “Harnessing the Humidity Sensor.
internet of things for global development,” [Online]. Available: [24] “ARDUINO Mega 2560 -Rev 3,” [Online]. Available:
https://www.itu.int/en/action/broadband/Documents/Harnessing-IoT- https://store.arduino.cc/usa/arduino-mega-2560-rev3, [Accessed:
Global-Development.pdf, [Accessed: 8 April 2020]. 8 April 2020].
[5] C. Adjih, E. Baccelli, E. Fleury, G. Harter, N. Mitton, T. Noel, [25] “Atmega 2560,” [Online]. Available:
R. Pissard-Gibollet, F. Saint-Marcel, G. Schreiner, J. Vandaele, and https://www.microchip.com/wwwproducts/en/ATmega2560, [Accessed:
T. Watteyne, “Fit IoT-LAB: A large scale open experimental IoT 8 April 2020].
testbed,” in 2015 IEEE 2nd World Forum on Internet of Things (WF- [26] “The internet of things with ESP8266,” [Online]. Available:
IoT), Dec 2015, pp. 459–464. http://esp8266.net/, [Accessed: 8 April 2020].

2327-4662 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: Carleton University. Downloaded on August 04,2020 at 03:58:24 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/JIOT.2020.3012022, IEEE Internet of
Things Journal
15

[27] “Zigbee embedded module,” [Online]. Available:


https://www.digi.com/xbee., [Accessed: 8 April 2020].
[28] “Django web framework,” [Online]. Available:
https://www.djangoproject.com/, [Accessed: 8 April 2020].
[29] “Debian linux distribution,” [Online]. Avail-
able:https://www.debian.org/, [Accessed: 8- April 2020].
[30] “AVRDUDE- avr Downloader/UploaDEr,” [Online].
https://www.nongnu.org/avrdude/, [Accessed: 8 April 2020].
[31] “Pyserial platform,” [Online]. Available:
https://pythonhosted.org/pyserial, [Accessed: 8 April 2020].
[32] “OMF Controller,” [Online]. Available:
https://www.fibre.org.br/infrastructure/experimentation-environments/,
[Accessed: 8 April 2020].
[33] “Raspberry pi 3 model b,” [Online].
https://www.raspberrypi.org/products/raspberry-pi-3-model-b/,
[Accessed: 8 April 2020].
[34] “Raspbian operating system,” [Online]. https://www.raspbian.org/,
[Accessed: 8 April 2020].
[35] B. Fernandes, F. Silva, C. Analide, and J. Neves, “Crowd sensing for
urban security in smart cities.” J. UCS, vol. 24, no. 3, pp. 302–321,
2018.
[36] J. Granjal, E. Monteiro, and J. S. Silva, “Security for the internet of
things: a survey of existing protocols and open research issues,” IEEE
Communications Surveys & Tutorials, vol. 17, no. 3, pp. 1294–1312,
2015.
[37] “Github - kokke/tiny-aes-c: Small portable AES128/192/256 in c,”
[Online]. Available: https://github.com/kokke/tiny-AES-c, [Accessed:
8- April - 2020].

2327-4662 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: Carleton University. Downloaded on August 04,2020 at 03:58:24 UTC from IEEE Xplore. Restrictions apply.

You might also like