Skip to content

dos-group/hector_iot_testing_framework

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 

Héctor IoT Testing Framework

A framework designed to run experiments and application test on real and emulated IoT environments. Paper to the code available here: https://dl.acm.org/doi/10.1145/3368235.3368832

Supported platforms:

  • Apache Kafka
  • Apache Flink
  • Flink fork for edge

OS-Dependencies:

  • Linux operating system (on all machines)
  • dnsmasq
  • qemu
  • qemu-system-arm (and others if required by virtual machine)
  • openssh (on all machines)
  • iproute2 (on all machines)
  • timesyncd (on all machines)
  • Recommended: ntp server in testbed topology

Python-Dependencies:

  • Python 3.7
  • requests Python module

Other dependencies:

  • Properly prepared VM images
  • Necessary files for qemu emulation (kernel, device tree)
  • Copy bridge.conf to /etc/qemu/ that includes "allow br0" (or whatever interface you want to use)

How To

  • To use the framework import iot_api.py
  • Configure experiments using a .properties file and Python code (examples can be found in the framework folder)
  • For virtual testbeds, prepared disk images must be available (RSA key needs to be installed, JRE must be installed and if needed Apache Flink too)
  • More information on how to use the API can be found in the docs
  • Flink and Kafka folders are part of the project but can also be replaced by newer versions

Future Work

  • Include automatic generation of VMs into NS3 setups
  • Add Microcontroller support
  • Add automatic setup of docker testbench
  • Flink data graphs to mirror topology
  • Add Kafka/Flink combinations, where Kafka producers run on VMs and Flink consumes on local host

About

A framework, available as a Python API, for doing experiments on real and emulated IoT environments.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published